Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix two Lintian errors in generated Debian package #594

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
19 changes: 14 additions & 5 deletions utils/wp-cli-updatedeb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Package wp-cli to be installed in Debian-compatible systems.
# Only the phar file is included.
#
# VERSION :0.2.5
# DATE :2023-07-22
# VERSION :0.2.6
# DATE :2023-11-10
# AUTHOR :Viktor Szépe <[email protected]>
# LICENSE :The MIT License (MIT)
# URL :https://github.com/wp-cli/wp-cli/tree/main/utils
Expand All @@ -31,8 +31,8 @@ Architecture: all
Maintainer: Alain Schlesser <[email protected]>
Section: php
Priority: optional
Depends: php5-cli (>= 5.6) | php-cli | php7-cli, php5-mysql | php5-mysqlnd | php7.0-mysql | php7.1-mysql | php7.2-mysql | php7.3-mysql | php7.4-mysql | php8.0-mysql | php8.1-mysql | php8.2-mysql | php-mysql, mysql-client | mariadb-client
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the significance of dropping all of these dependencies?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Fix Lintian errors
  2. Drop support for PHP 5.6 (EOL Dec 31, 2018)
  3. Keep support for legacy PHP 7 thanks to Provides fields
  4. Simplify dependencies to make it easier to maintain

Please note that I have revised one dependency (php-mysqlnd -> php-mysql | php-mysqlnd)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm not sure about dropping PHP 5.6 support for this package, as WP-CLI in fact still supports PHP 5.6. Could we restore that part somehow?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@swissspidy, Yes ... commit 54056c0 restores PHP 5.6 support.
Downside is that Lintian reports the php-script-but-no-php-cli-dep error again.

WordPress 6.3 “Lionel” discontinued support for PHP 5 (Aug 8, 2023).
Are there any plans for WP-CLI to do the same?
If it is not imminent, I can create a lintian-override file.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any plans for WP-CLI to do the same?

Not until Aug 8, 2024. See https://make.wordpress.org/cli/2019/01/15/wp-cli-php-requirements-strategy/

Homepage: http://wp-cli.org/
Depends: php-cli | php5-cli (>= 5.6), php-mysql | php-mysqlnd | php5-mysql, default-mysql-client | virtual-mysql-client
Homepage: https://wp-cli.org/
Description: wp-cli is a set of command-line tools for managing
WordPress installations. You can update plugins, set up multisite
installations and much more, without using a web browser.
Expand Down Expand Up @@ -89,6 +89,15 @@ echo "Current version: ${WPCLI_VER}"
# update version
sed -i -e "s/^Version: .*$/Version: ${WPCLI_VER}/" DEBIAN/control || die 6 "Version update failure"

# Lintian overrides (delete this stanza for WP-CLI release that bumps PHP minimum)
if ! [ -r usr/share/lintian/overrides/php-wpcli ]; then
mkdir -p usr/share/lintian/overrides
cat > usr/share/lintian/overrides/php-wpcli <<EOF
# Support PHP 5.6 while WP-CLI does so
php-wpcli: php-script-but-no-php-cli-dep php (does not satisfy php-cli:any) [usr/bin/wp]
EOF
fi

# minimal man page
if ! [ -r usr/share/man/man1/wp.1.gz ]; then
mkdir -p usr/share/man/man1 &> /dev/null
Expand Down Expand Up @@ -116,4 +125,4 @@ lintian --display-info --display-experimental --pedantic --show-overrides php-wp
# optional steps
echo "sign it: dpkg-sig -k SIGNING-KEY -s builder \"${WPCLI_PKG}\""
echo "include in your repo: pushd /var/www/REPO-DIR"
echo " reprepro includedeb jessie \"${WPCLI_PKG}\" && popd"
echo " reprepro includedeb bookworm \"${WPCLI_PKG}\" && popd"
Loading