Open lewart3 opened 1 year ago
Thank you, @swissspidy ! Commit bbc405d creates the Lintian override file.
Not sure we want to actually have a hardcoded date in there... I imagine next August we'll release a new version of WP-CLI that officially drops support. Then we can remove the support here.
It is nice to have zero lintian warnings. The root cause of all these is that a Debian package is released for each Debian release but we release only 1 package.
So modifying dependencies is not a good idea.
@szepeviktor,
1) The new overrides file takes care of the Lintian warning.
2) I agree about the root cause.
3) WP-CLI requires "PHP 5.6 or later". The current version of my dependencies should match that exactly:
Depends: php-cli | php5-cli (>= 5.6), php-mysql | php-mysqlnd | php5-mysql, default-mysql-client | virtual-mysql-client
I don't understand why this "is not a good idea".
For some numbers, here is a table based on the Debian Popularity Contest:
popcon version % PHP
----------------------- -- ---
1.49 (squeeze) 1 5.3
1.56 (wheezy) 2 5.4
1.61 (jessie) 4 5.6
1.64 (stretch) 7 7.0
1.67 (buster) 16 7.3
1.71 (bullseye) 33 7.4
1.76 (bookworm/stable) 34 8.2
1.77 (testing/unstable) 4 8.2
@lewart3 WP-CLI should be packaged as if it was the time of Debian jessie but be compatible with current stable. After dropping PHP 5.6 support we should move to the era when Debian had PHP 7.0. Please understand.
@szepeviktor, I completely agree. What exactly is missing from my current dependencies?
What exactly is missing from my current dependencies?
I do not know that. One must go through all 5 Debian releases and check virtual PHP packages etc.
@szepeviktor,
I do not know that. One must go through all 5 Debian releases and check virtual PHP packages etc.
This Pull request says:
All checks have passed
36 successful and 1 skipped checks
Does that suffice?
I do not know what to add here as an answer.
@szepeviktor I'd love to better understand your dependencies objection.
Here's what I'm hearing so far:
Am I understanding this correctly?
Am I understanding this correctly?
YESS!!
@schlessera , allow me to address your second point:
This is what you are hearing, but it is not true. The Workflow, which includes PHP 5.6, passed.
@lewart3 This is not about staying compatible with PHP 5.6, but rather about the package staying compatible with the earliest version of Debian that supports PHP 5.6 and with its entire package ecosystem.
@schlessera , I installed it, with some difficulty, on Debian 8.11 (jessie).
$ cat go
set -x dpkg -l base-files sudo dpkg --force-depends -i php-wpcli_2.9.1_all.deb sudo apt-get --fix-broken -y install wp cli version wp cli info
$ ./go + dpkg -l base-files Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============================-====================-====================-================================================================== ii base-files 8+deb8u11 amd64 Debian base system miscellaneous files
+ sudo dpkg --force-depends -i php-wpcli_2.9.1_all.deb Selecting previously unselected package php-wpcli. (Reading database ... 31141 files and directories currently installed.) Preparing to unpack php-wpcli_2.9.1_all.deb ... Unpacking php-wpcli (2.9.0) ... dpkg: php-wpcli: dependency problems, but configuring anyway as you requested: php-wpcli depends on php-cli | php5-cli (>= 5.6); however: Package php-cli is not installed. Package php5-cli is not installed. php-wpcli depends on php-mysql | php-mysqlnd | php5-mysql; however: Package php-mysql is not installed. Package php-mysqlnd is not installed. Package php5-mysql is not installed. php-wpcli depends on default-mysql-client | virtual-mysql-client; however: Package default-mysql-client is not installed. Package virtual-mysql-client is not installed.
Setting up php-wpcli (2.9.0) ... Processing triggers for man-db (2.7.0.2-5) ...
+ sudo apt-get --fix-broken -y install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: libdbd-mysql-perl libdbi-perl libmysqlclient18 libonig2 libperl4-corelibs-perl libqdbm14 libterm-readkey-perl lsof mysql-client-5.5 mysql-common php5-cli php5-common php5-json php5-mysql php5-readline Suggested packages: libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl php-pear php5-user-cache The following NEW packages will be installed: libdbd-mysql-perl libdbi-perl libmysqlclient18 libonig2 libperl4-corelibs-perl libqdbm14 libterm-readkey-perl lsof mysql-client-5.5 mysql-common php5-cli php5-common php5-json php5-mysql php5-readline 0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/7,173 kB of archives. After this operation, 55.9 MB of additional disk space will be used. Selecting previously unselected package mysql-common. (Reading database ... 31147 files and directories currently installed.) Preparing to unpack .../mysql-common_5.5.62-0+deb8u1_all.deb ... Unpacking mysql-common (5.5.62-0+deb8u1) ... Selecting previously unselected package libmysqlclient18:amd64. Preparing to unpack .../libmysqlclient18_5.5.62-0+deb8u1_amd64.deb ... Unpacking libmysqlclient18:amd64 (5.5.62-0+deb8u1) ... Selecting previously unselected package libonig2:amd64. Preparing to unpack .../libonig2_5.9.5-3.2+deb8u4_amd64.deb ... Unpacking libonig2:amd64 (5.9.5-3.2+deb8u4) ... Selecting previously unselected package libperl4-corelibs-perl. Preparing to unpack .../libperl4-corelibs-perl_0.003-1_all.deb ... Unpacking libperl4-corelibs-perl (0.003-1) ... Selecting previously unselected package lsof. Preparing to unpack .../lsof_4.86+dfsg-1_amd64.deb ... Unpacking lsof (4.86+dfsg-1) ... Selecting previously unselected package libdbi-perl. Preparing to unpack .../libdbi-perl_1.631-3+b1_amd64.deb ... Unpacking libdbi-perl (1.631-3+b1) ... Selecting previously unselected package libdbd-mysql-perl. Preparing to unpack .../libdbd-mysql-perl_4.028-2+deb8u2_amd64.deb ... Unpacking libdbd-mysql-perl (4.028-2+deb8u2) ... Selecting previously unselected package libqdbm14. Preparing to unpack .../libqdbm14_1.8.78-5+b1_amd64.deb ... Unpacking libqdbm14 (1.8.78-5+b1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../libterm-readkey-perl_2.32-1+b1_amd64.deb ... Unpacking libterm-readkey-perl (2.32-1+b1) ... Selecting previously unselected package mysql-client-5.5. Preparing to unpack .../mysql-client-5.5_5.5.62-0+deb8u1_amd64.deb ... Unpacking mysql-client-5.5 (5.5.62-0+deb8u1) ... Selecting previously unselected package php5-common. Preparing to unpack .../php5-common_5.6.40+dfsg-0+deb8u12_amd64.deb ... Unpacking php5-common (5.6.40+dfsg-0+deb8u12) ... Selecting previously unselected package php5-json. Preparing to unpack .../php5-json_1.3.6-1_amd64.deb ... Unpacking php5-json (1.3.6-1) ... Selecting previously unselected package php5-cli. Preparing to unpack .../php5-cli_5.6.40+dfsg-0+deb8u12_amd64.deb ... Unpacking php5-cli (5.6.40+dfsg-0+deb8u12) ... Selecting previously unselected package php5-mysql. Preparing to unpack .../php5-mysql_5.6.40+dfsg-0+deb8u12_amd64.deb ... Unpacking php5-mysql (5.6.40+dfsg-0+deb8u12) ... Selecting previously unselected package php5-readline. Preparing to unpack .../php5-readline_5.6.40+dfsg-0+deb8u12_amd64.deb ... Unpacking php5-readline (5.6.40+dfsg-0+deb8u12) ... Processing triggers for man-db (2.7.0.2-5) ... Setting up mysql-common (5.5.62-0+deb8u1) ... Setting up libmysqlclient18:amd64 (5.5.62-0+deb8u1) ... Setting up libonig2:amd64 (5.9.5-3.2+deb8u4) ... Setting up libperl4-corelibs-perl (0.003-1) ... Setting up lsof (4.86+dfsg-1) ... Setting up libdbi-perl (1.631-3+b1) ... Setting up libdbd-mysql-perl (4.028-2+deb8u2) ... Setting up libqdbm14 (1.8.78-5+b1) ... Setting up libterm-readkey-perl (2.32-1+b1) ... Setting up mysql-client-5.5 (5.5.62-0+deb8u1) ... Setting up php5-common (5.6.40+dfsg-0+deb8u12) ...
Creating config file /etc/php5/mods-available/pdo.ini with new version php5_invoke: Enable module pdo for cli SAPI
Creating config file /etc/php5/mods-available/opcache.ini with new version php5_invoke: Enable module opcache for cli SAPI Setting up php5-json (1.3.6-1) ... php5_invoke: Enable module json for cli SAPI Setting up php5-cli (5.6.40+dfsg-0+deb8u12) ... update-alternatives: using /usr/bin/php5 to provide /usr/bin/php (php) in auto mode update-alternatives: using /usr/bin/phar5 to provide /usr/bin/phar (phar) in auto mode
Creating config file /etc/php5/cli/php.ini with new version Setting up php5-mysql (5.6.40+dfsg-0+deb8u12) ...
Creating config file /etc/php5/mods-available/mysql.ini with new version php5_invoke: Enable module mysql for cli SAPI
Creating config file /etc/php5/mods-available/mysqli.ini with new version php5_invoke: Enable module mysqli for cli SAPI
Creating config file /etc/php5/mods-available/pdo_mysql.ini with new version php5_invoke: Enable module pdo_mysql for cli SAPI Setting up php5-readline (5.6.40+dfsg-0+deb8u12) ...
Creating config file /etc/php5/mods-available/readline.ini with new version php5_invoke: Enable module readline for cli SAPI Processing triggers for libc-bin (2.19-18+deb8u10) ...
+ wp cli version WP-CLI 2.9.0
+ wp cli info
OS: Linux debian 3.16.0-11-amd64 #1 SMP Debian 3.16.84-1 (2020-06-09) x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php5
PHP version: 5.6.40-0+deb8u12
php.ini used: /etc/php5/cli/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3
SQL modes:
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/user
WP-CLI packages dir:
WP-CLI cache dir: /home/user/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.9.0
Fixes #593 Lintian reports php-wpcli_2.9.0_all.deb has two errors
Thank you! Daniel Lewart Urbana, Illinois