2020-08-04 09:45:11 |
Christian Ehrhardt |
bug |
|
|
added bug |
2020-08-04 09:45:20 |
Christian Ehrhardt |
php7.4 (Ubuntu): assignee |
|
Bryce Harrington (bryce) |
|
2020-08-04 09:45:27 |
Christian Ehrhardt |
bug |
|
|
added subscriber Ubuntu Server |
2021-06-28 17:18:43 |
Bryce Harrington |
bug task added |
|
php8.0 (Ubuntu) |
|
2021-10-20 15:59:56 |
Bryce Harrington |
tags |
|
server-todo |
|
2021-10-20 16:00:01 |
Bryce Harrington |
php8.0 (Ubuntu): assignee |
|
Bryce Harrington (bryce) |
|
2021-10-20 16:00:04 |
Bryce Harrington |
php7.4 (Ubuntu): importance |
Undecided |
Medium |
|
2021-10-20 16:00:07 |
Bryce Harrington |
php8.0 (Ubuntu): importance |
Undecided |
Medium |
|
2021-10-20 16:00:10 |
Bryce Harrington |
php7.4 (Ubuntu): status |
New |
Triaged |
|
2021-10-20 16:00:12 |
Bryce Harrington |
php8.0 (Ubuntu): status |
New |
Triaged |
|
2021-10-20 21:09:45 |
Bryce Harrington |
bug task added |
|
php8.1 (Ubuntu) |
|
2022-03-07 13:47:48 |
Christian Ehrhardt |
php8.1 (Ubuntu): status |
New |
Triaged |
|
2022-03-07 13:47:51 |
Christian Ehrhardt |
php8.1 (Ubuntu): importance |
Undecided |
Medium |
|
2022-03-24 18:56:31 |
Bryce Harrington |
php8.1 (Ubuntu): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
nominated for series |
|
Ubuntu Jammy |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php7.4 (Ubuntu Jammy) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.0 (Ubuntu Jammy) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.1 (Ubuntu Jammy) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
nominated for series |
|
Ubuntu Focal |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php7.4 (Ubuntu Focal) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.0 (Ubuntu Focal) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.1 (Ubuntu Focal) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
nominated for series |
|
Ubuntu Impish |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php7.4 (Ubuntu Impish) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.0 (Ubuntu Impish) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.1 (Ubuntu Impish) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
nominated for series |
|
Ubuntu Bionic |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php7.4 (Ubuntu Bionic) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.0 (Ubuntu Bionic) |
|
2022-03-24 18:57:12 |
Bryce Harrington |
bug task added |
|
php8.1 (Ubuntu Bionic) |
|
2022-03-24 18:57:51 |
Bryce Harrington |
bug task added |
|
php7.2 (Ubuntu) |
|
2022-03-24 18:58:06 |
Bryce Harrington |
bug task added |
|
php-defaults (Ubuntu) |
|
2022-03-24 18:58:17 |
Bryce Harrington |
php-defaults (Ubuntu Jammy): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 18:58:50 |
Bryce Harrington |
php7.2 (Ubuntu Focal): status |
New |
Invalid |
|
2022-03-24 18:58:59 |
Bryce Harrington |
php7.2 (Ubuntu Impish): status |
New |
Invalid |
|
2022-03-24 18:59:09 |
Bryce Harrington |
php7.2 (Ubuntu Jammy): status |
New |
Invalid |
|
2022-03-24 18:59:22 |
Bryce Harrington |
php7.4 (Ubuntu Bionic): status |
New |
Invalid |
|
2022-03-24 18:59:33 |
Bryce Harrington |
php7.4 (Ubuntu Impish): status |
New |
Invalid |
|
2022-03-24 18:59:49 |
Bryce Harrington |
php7.4 (Ubuntu Jammy): status |
Triaged |
Invalid |
|
2022-03-24 18:59:49 |
Bryce Harrington |
php7.4 (Ubuntu Jammy): assignee |
Bryce Harrington (bryce) |
|
|
2022-03-24 19:00:03 |
Bryce Harrington |
php8.0 (Ubuntu Bionic): status |
New |
Invalid |
|
2022-03-24 19:00:16 |
Bryce Harrington |
php8.0 (Ubuntu Focal): status |
New |
Invalid |
|
2022-03-24 19:00:44 |
Bryce Harrington |
bug task deleted |
php8.0 (Ubuntu Jammy) |
|
|
2022-03-24 19:01:00 |
Bryce Harrington |
bug task deleted |
php7.2 (Ubuntu Focal) |
|
|
2022-03-24 19:01:07 |
Bryce Harrington |
bug task deleted |
php7.2 (Ubuntu Impish) |
|
|
2022-03-24 19:01:14 |
Bryce Harrington |
bug task deleted |
php7.2 (Ubuntu Jammy) |
|
|
2022-03-24 19:01:21 |
Bryce Harrington |
bug task deleted |
php7.4 (Ubuntu Bionic) |
|
|
2022-03-24 19:01:30 |
Bryce Harrington |
bug task deleted |
php8.0 (Ubuntu Bionic) |
|
|
2022-03-24 19:01:36 |
Bryce Harrington |
bug task deleted |
php7.4 (Ubuntu Impish) |
|
|
2022-03-24 19:01:42 |
Bryce Harrington |
bug task deleted |
php7.4 (Ubuntu Jammy) |
|
|
2022-03-24 19:01:51 |
Bryce Harrington |
bug task deleted |
php8.0 (Ubuntu Focal) |
|
|
2022-03-24 19:02:24 |
Bryce Harrington |
bug task deleted |
php8.1 (Ubuntu Bionic) |
|
|
2022-03-24 19:02:37 |
Bryce Harrington |
bug task deleted |
php8.1 (Ubuntu Focal) |
|
|
2022-03-24 19:02:46 |
Bryce Harrington |
bug task deleted |
php8.1 (Ubuntu Impish) |
|
|
2022-03-24 19:03:06 |
Bryce Harrington |
php7.2 (Ubuntu Bionic): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:03:16 |
Bryce Harrington |
php7.4 (Ubuntu Focal): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:03:28 |
Bryce Harrington |
php8.0 (Ubuntu Impish): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:03:41 |
Bryce Harrington |
php8.0 (Ubuntu): status |
Triaged |
Invalid |
|
2022-03-24 19:03:41 |
Bryce Harrington |
php8.0 (Ubuntu): assignee |
Bryce Harrington (bryce) |
|
|
2022-03-24 19:03:55 |
Bryce Harrington |
php-defaults (Ubuntu Impish): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:04:02 |
Bryce Harrington |
php-defaults (Ubuntu Focal): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:04:10 |
Bryce Harrington |
php-defaults (Ubuntu Bionic): assignee |
|
Bryce Harrington (bryce) |
|
2022-03-24 19:04:29 |
Bryce Harrington |
php8.0 (Ubuntu Impish): importance |
Undecided |
Medium |
|
2022-03-24 19:04:39 |
Bryce Harrington |
php7.4 (Ubuntu Focal): importance |
Undecided |
Medium |
|
2022-03-24 19:04:47 |
Bryce Harrington |
php7.2 (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2022-03-24 19:04:56 |
Bryce Harrington |
php7.2 (Ubuntu): importance |
Undecided |
Medium |
|
2022-03-24 19:05:05 |
Bryce Harrington |
php-defaults (Ubuntu Jammy): importance |
Undecided |
Medium |
|
2022-03-24 19:05:14 |
Bryce Harrington |
php-defaults (Ubuntu Impish): importance |
Undecided |
Medium |
|
2022-03-24 19:05:23 |
Bryce Harrington |
php-defaults (Ubuntu Focal): importance |
Undecided |
Medium |
|
2022-03-24 19:05:34 |
Bryce Harrington |
php-defaults (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2022-04-11 23:39:09 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~bryce/ubuntu/+source/php8.1/+git/php8.1/+merge/419245 |
|
2022-04-12 19:46:58 |
Bryce Harrington |
php-defaults (Ubuntu Jammy): status |
New |
In Progress |
|
2022-04-12 19:47:12 |
Bryce Harrington |
php8.1 (Ubuntu Jammy): status |
Triaged |
In Progress |
|
2022-04-15 17:18:19 |
Launchpad Janitor |
php8.1 (Ubuntu Jammy): status |
In Progress |
Fix Released |
|
2022-04-29 19:18:27 |
Bryce Harrington |
php-defaults (Ubuntu Jammy): status |
In Progress |
Fix Released |
|
2022-04-29 19:20:25 |
Bryce Harrington |
php8.0 (Ubuntu Impish): status |
New |
Fix Released |
|
2022-04-29 19:20:37 |
Bryce Harrington |
php-defaults (Ubuntu Impish): status |
New |
Fix Released |
|
2022-04-29 20:17:44 |
Bryce Harrington |
php7.4 (Ubuntu Focal): status |
New |
Fix Released |
|
2022-04-29 20:18:00 |
Bryce Harrington |
php-defaults (Ubuntu Focal): status |
New |
Fix Released |
|
2022-05-05 02:32:02 |
Bryce Harrington |
description |
While checking how things behave for bug 1890029 I might have found another aspect/version of bug 1865218. But I'm not sure yet.
Bryce was working on that and he probably has a better answer, so I'll file a bug about what I've seen and assign it to him to share his thoughts.
I tried to ways of a bionic->focal upgrade in otherwise clear bionic LXD containers.
I did:
1. get a bionic container
2. apt install libapache2-mod-php7.2
that will pull in apache as well and work
3a) edited /etc/apt/sources.list from bionic -> focal
apt update
apt dist-upgrade
This one left me with libapache2-mod-php7.2 of Bionic still installed and no 7.4 of Focal to be seen.
3b) I tried `do-release-upgrade -d` as some logic might be in there
This was different, it removed libapache2-mod-php7.2 but didn't bring in 7.4 as I'd have expected.
Before:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server
ii apache2-bin 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.29-1ubuntu4.13 all Apache HTTP Server (common files)
ii apache2-utils 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (utility programs for web servers)
ii libapache2-mod-php7.2 7.2.24-0ubuntu0.18.04.6 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-common 1:60ubuntu1 all Common files for PHP packages
ii php7.2-cli 7.2.24-0ubuntu0.18.04.6 amd64 command-line interpreter for the PHP scripting language
ii php7.2-common 7.2.24-0ubuntu0.18.04.6 amd64 documentation, examples and common module for PHP
ii php7.2-json 7.2.24-0ubuntu0.18.04.6 amd64 JSON module for PHP
ii php7.2-opcache 7.2.24-0ubuntu0.18.04.6 amd64 Zend OpCache module for PHP
ii php7.2-readline 7.2.24-0ubuntu0.18.04.6 amd64
After:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.41-4ubuntu3 amd64 Apache HTTP Server
ii apache2-bin 2.4.41-4ubuntu3 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.41-4ubuntu3 all Apache HTTP Server (common files)
ii apache2-utils 2.4.41-4ubuntu3 amd64 Apache HTTP Server (utility programs for web servers)
ii php-common 2:75 all
So mod-php is just gone :-/
Please tell me that I miss a point here, or is this really the come-back of 1865218? |
[Impact]
Users who install libapache2-mod-php7.2 (as opposed to the
virtual libapache2-mod-php package) and upgrade from bionic to focal
will not be upgraded to libapache2-mod-php7.4 as expected, and depending
on the way they upgrade may have modphp removed entirely.
This upload provides dummy packages to enable libapache2-mod-php7.2 to
be upgraded to libapache2-mod-php7.4 when upgrading from bionic to
focal.
(As an aside, although eoan is no longer supported, we could potentially
have users upgrading from eoan to focal in order to get back to
supportability. This upload also includes the necessary changes to
upload them as well.)
[Test Case]
###########################################
### Bionic Test Case for BUGGY Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-buggy-bionic
$ lxc shell lp1890263-modphp-buggy-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-buggy-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
# lsb_release -sc
focal
# apt-cache policy libapache2-mod-php* | grep -B1 Installed:
libapache2-mod-php:
Installed: (none)
--
libapache2-mod-php5:
Installed: (none)
--
libapache2-mod-php7.2:
Installed: (none)
--
libapache2-mod-php7.3:
Installed: (none)
--
libapache2-mod-php7.4:
Installed: (none)
# result=$(apt-cache policy libapache2-mod-php7.4 | grep Installed: | cut -d: -f2 | xargs)
# [ "${result}" = "(none)" ] && echo "BUG DETECTED"
# logout
$ lxc stop lp1890263-modphp-buggy-bionic
$ lxc delete lp1890263-modphp-buggy-bionic
###########################################
### Bionic Test Case for FIXED Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-fixed-bionic
$ lxc shell lp1890263-modphp-fixed-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-fixed-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# apt-add-repository -yus ppa:bryce/php-fixed-upgrade
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
TODO: Verify fix
# apt-cache policy libapache2-mod-php7.2 | grep -B1 Installed
# apt-cache policy libapache2-mod-php7.4 | grep -B1 Installed
# apt-cache policy libapache2-mod-php | grep -B1 Installed
FIX [NOT] DETECTED
$ lxc stop lp1890263-modphp-fixed-bionic
$ lxc delete lp1890263-modphp-fixed-bionic
# [ $(lsb_release -sc) = "bionic" ] && (echo -e "\nProtocols h2 h2c http/1.1" >> /etc/apache2/apache2.conf)
(eoan->focal upgrades can be tested similarly, if desired.)
[Where Problems Could Occur]
Since the changes are confined to debian/control and debian/control.in,
behavior changes will be limited to packaging and, in particular,
package upgrade behavior. The current workaround for this problem -
manually installing/uninstalling via apt/dpkg - would still be effective
workarounds if a regression was to show itself.
There are a number of different paths to upgrading a distro from one
release to another, and while several of these were tested in
development of this fix, there could well be untested paths that may see
a change of behavior. However, the most likely issue we expect to see
is not a regression but rather that there is another corner case we
missed that didn't work before and remains unfixed even still. (Indeed,
this bug is a corner case left unfixed from bigger fixes from the
past...)
[Other Info]
A similar fix is already deployed to jammy which fixed this situation
for focal->jammy and impish->jammy uploads.
Also note that while Ubuntu itself recommends users install modphp via
the libapache-mod-php virtual package, there is ample 3rd party
tutorials that are instructing to install libapache-mod-phpN.M.
[Original Report]
While checking how things behave for bug 1890029 I might have found another aspect/version of bug 1865218. But I'm not sure yet.
Bryce was working on that and he probably has a better answer, so I'll file a bug about what I've seen and assign it to him to share his thoughts.
I tried to ways of a bionic->focal upgrade in otherwise clear bionic LXD containers.
I did:
1. get a bionic container
2. apt install libapache2-mod-php7.2
that will pull in apache as well and work
3a) edited /etc/apt/sources.list from bionic -> focal
apt update
apt dist-upgrade
This one left me with libapache2-mod-php7.2 of Bionic still installed and no 7.4 of Focal to be seen.
3b) I tried `do-release-upgrade -d` as some logic might be in there
This was different, it removed libapache2-mod-php7.2 but didn't bring in 7.4 as I'd have expected.
Before:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server
ii apache2-bin 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.29-1ubuntu4.13 all Apache HTTP Server (common files)
ii apache2-utils 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (utility programs for web servers)
ii libapache2-mod-php7.2 7.2.24-0ubuntu0.18.04.6 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-common 1:60ubuntu1 all Common files for PHP packages
ii php7.2-cli 7.2.24-0ubuntu0.18.04.6 amd64 command-line interpreter for the PHP scripting language
ii php7.2-common 7.2.24-0ubuntu0.18.04.6 amd64 documentation, examples and common module for PHP
ii php7.2-json 7.2.24-0ubuntu0.18.04.6 amd64 JSON module for PHP
ii php7.2-opcache 7.2.24-0ubuntu0.18.04.6 amd64 Zend OpCache module for PHP
ii php7.2-readline 7.2.24-0ubuntu0.18.04.6 amd64
After:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.41-4ubuntu3 amd64 Apache HTTP Server
ii apache2-bin 2.4.41-4ubuntu3 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.41-4ubuntu3 all Apache HTTP Server (common files)
ii apache2-utils 2.4.41-4ubuntu3 amd64 Apache HTTP Server (utility programs for web servers)
ii php-common 2:75 all
So mod-php is just gone :-/
Please tell me that I miss a point here, or is this really the come-back of 1865218? |
|
2022-05-05 04:00:34 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~bryce/ubuntu/+source/php7.4/+git/php7.4/+merge/421443 |
|
2022-05-05 19:11:16 |
Bryce Harrington |
php-defaults (Ubuntu Bionic): status |
New |
In Progress |
|
2022-05-05 19:11:42 |
Bryce Harrington |
php-defaults (Ubuntu Focal): status |
Fix Released |
In Progress |
|
2022-05-05 19:11:58 |
Bryce Harrington |
php7.4 (Ubuntu Focal): status |
Fix Released |
In Progress |
|
2022-05-05 19:14:03 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~bryce/ubuntu/+source/php7.4/+git/php7.4/+merge/421553 |
|
2022-05-09 17:06:28 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~athos-ribeiro/ubuntu/+source/php7.4/+git/php7.4/+merge/421779 |
|
2022-05-12 01:08:08 |
Athos Ribeiro |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2022-05-18 14:03:24 |
Robie Basak |
bug |
|
|
added subscriber Robie Basak |
2022-05-25 16:47:39 |
Robie Basak |
php7.4 (Ubuntu Focal): status |
In Progress |
Won't Fix |
|
2022-06-02 07:31:33 |
Bryce Harrington |
description |
[Impact]
Users who install libapache2-mod-php7.2 (as opposed to the
virtual libapache2-mod-php package) and upgrade from bionic to focal
will not be upgraded to libapache2-mod-php7.4 as expected, and depending
on the way they upgrade may have modphp removed entirely.
This upload provides dummy packages to enable libapache2-mod-php7.2 to
be upgraded to libapache2-mod-php7.4 when upgrading from bionic to
focal.
(As an aside, although eoan is no longer supported, we could potentially
have users upgrading from eoan to focal in order to get back to
supportability. This upload also includes the necessary changes to
upload them as well.)
[Test Case]
###########################################
### Bionic Test Case for BUGGY Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-buggy-bionic
$ lxc shell lp1890263-modphp-buggy-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-buggy-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
# lsb_release -sc
focal
# apt-cache policy libapache2-mod-php* | grep -B1 Installed:
libapache2-mod-php:
Installed: (none)
--
libapache2-mod-php5:
Installed: (none)
--
libapache2-mod-php7.2:
Installed: (none)
--
libapache2-mod-php7.3:
Installed: (none)
--
libapache2-mod-php7.4:
Installed: (none)
# result=$(apt-cache policy libapache2-mod-php7.4 | grep Installed: | cut -d: -f2 | xargs)
# [ "${result}" = "(none)" ] && echo "BUG DETECTED"
# logout
$ lxc stop lp1890263-modphp-buggy-bionic
$ lxc delete lp1890263-modphp-buggy-bionic
###########################################
### Bionic Test Case for FIXED Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-fixed-bionic
$ lxc shell lp1890263-modphp-fixed-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-fixed-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# apt-add-repository -yus ppa:bryce/php-fixed-upgrade
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
TODO: Verify fix
# apt-cache policy libapache2-mod-php7.2 | grep -B1 Installed
# apt-cache policy libapache2-mod-php7.4 | grep -B1 Installed
# apt-cache policy libapache2-mod-php | grep -B1 Installed
FIX [NOT] DETECTED
$ lxc stop lp1890263-modphp-fixed-bionic
$ lxc delete lp1890263-modphp-fixed-bionic
# [ $(lsb_release -sc) = "bionic" ] && (echo -e "\nProtocols h2 h2c http/1.1" >> /etc/apache2/apache2.conf)
(eoan->focal upgrades can be tested similarly, if desired.)
[Where Problems Could Occur]
Since the changes are confined to debian/control and debian/control.in,
behavior changes will be limited to packaging and, in particular,
package upgrade behavior. The current workaround for this problem -
manually installing/uninstalling via apt/dpkg - would still be effective
workarounds if a regression was to show itself.
There are a number of different paths to upgrading a distro from one
release to another, and while several of these were tested in
development of this fix, there could well be untested paths that may see
a change of behavior. However, the most likely issue we expect to see
is not a regression but rather that there is another corner case we
missed that didn't work before and remains unfixed even still. (Indeed,
this bug is a corner case left unfixed from bigger fixes from the
past...)
[Other Info]
A similar fix is already deployed to jammy which fixed this situation
for focal->jammy and impish->jammy uploads.
Also note that while Ubuntu itself recommends users install modphp via
the libapache-mod-php virtual package, there is ample 3rd party
tutorials that are instructing to install libapache-mod-phpN.M.
[Original Report]
While checking how things behave for bug 1890029 I might have found another aspect/version of bug 1865218. But I'm not sure yet.
Bryce was working on that and he probably has a better answer, so I'll file a bug about what I've seen and assign it to him to share his thoughts.
I tried to ways of a bionic->focal upgrade in otherwise clear bionic LXD containers.
I did:
1. get a bionic container
2. apt install libapache2-mod-php7.2
that will pull in apache as well and work
3a) edited /etc/apt/sources.list from bionic -> focal
apt update
apt dist-upgrade
This one left me with libapache2-mod-php7.2 of Bionic still installed and no 7.4 of Focal to be seen.
3b) I tried `do-release-upgrade -d` as some logic might be in there
This was different, it removed libapache2-mod-php7.2 but didn't bring in 7.4 as I'd have expected.
Before:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server
ii apache2-bin 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.29-1ubuntu4.13 all Apache HTTP Server (common files)
ii apache2-utils 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (utility programs for web servers)
ii libapache2-mod-php7.2 7.2.24-0ubuntu0.18.04.6 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-common 1:60ubuntu1 all Common files for PHP packages
ii php7.2-cli 7.2.24-0ubuntu0.18.04.6 amd64 command-line interpreter for the PHP scripting language
ii php7.2-common 7.2.24-0ubuntu0.18.04.6 amd64 documentation, examples and common module for PHP
ii php7.2-json 7.2.24-0ubuntu0.18.04.6 amd64 JSON module for PHP
ii php7.2-opcache 7.2.24-0ubuntu0.18.04.6 amd64 Zend OpCache module for PHP
ii php7.2-readline 7.2.24-0ubuntu0.18.04.6 amd64
After:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.41-4ubuntu3 amd64 Apache HTTP Server
ii apache2-bin 2.4.41-4ubuntu3 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.41-4ubuntu3 all Apache HTTP Server (common files)
ii apache2-utils 2.4.41-4ubuntu3 amd64 Apache HTTP Server (utility programs for web servers)
ii php-common 2:75 all
So mod-php is just gone :-/
Please tell me that I miss a point here, or is this really the come-back of 1865218? |
[Impact]
Users who install libapache2-mod-php7.2 (as opposed to the
virtual libapache2-mod-php package) and upgrade from bionic to focal
will not be upgraded to libapache2-mod-php7.4 as expected, and depending
on the way they upgrade may have modphp removed entirely, or left with modphp7.2 co-installed with php7.4 which may cause php code to display in the browser instead of executing the application (c.f. https://ubuntuforums.org/showthread.php?t=2393823).
This upload provides dummy packages to enable libapache2-mod-php7.2 to
be upgraded to libapache2-mod-php7.4 when upgrading from bionic to
focal.
(As an aside, although eoan is no longer supported, we could potentially
have users upgrading from eoan to focal in order to get back to
supportability. This upload also includes the necessary changes to
upload them as well.)
[Test Case]
###########################################
### Bionic Test Case for BUGGY Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-buggy-bionic
$ lxc shell lp1890263-modphp-buggy-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-buggy-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
# lsb_release -sc
focal
# apt-cache policy libapache2-mod-php* | grep -B1 Installed:
libapache2-mod-php:
Installed: (none)
--
libapache2-mod-php5:
Installed: (none)
--
libapache2-mod-php7.2:
Installed: (none)
--
libapache2-mod-php7.3:
Installed: (none)
--
libapache2-mod-php7.4:
Installed: (none)
# result=$(apt-cache policy libapache2-mod-php7.4 | grep Installed: | cut -d: -f2 | xargs)
# [ "${result}" = "(none)" ] && echo "BUG DETECTED"
# logout
$ lxc stop lp1890263-modphp-buggy-bionic
$ lxc delete lp1890263-modphp-buggy-bionic
###########################################
### Bionic Test Case for FIXED Behavior ###
###########################################
$ lxc launch ubuntu-daily:bionic lp1890263-modphp-fixed-bionic
$ lxc shell lp1890263-modphp-fixed-bionic
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-modphp-fixed-bionic
# apt install -y libapache2-mod-php7.2
The following NEW packages will be installed:
apache2 ... libapache2-mod-php7.2 ... php7.2-common ...
...
# apt-add-repository -yus ppa:bryce/php-fixed-upgrade
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
TODO: Verify fix
# apt-cache policy libapache2-mod-php7.2 | grep -B1 Installed
# apt-cache policy libapache2-mod-php7.4 | grep -B1 Installed
# apt-cache policy libapache2-mod-php | grep -B1 Installed
FIX [NOT] DETECTED
$ lxc stop lp1890263-modphp-fixed-bionic
$ lxc delete lp1890263-modphp-fixed-bionic
# [ $(lsb_release -sc) = "bionic" ] && (echo -e "\nProtocols h2 h2c http/1.1" >> /etc/apache2/apache2.conf)
(eoan->focal upgrades can be tested similarly, if desired.)
[Where Problems Could Occur]
Since the changes are confined to debian/control and debian/control.in,
behavior changes will be limited to packaging and, in particular,
package upgrade behavior. The current workaround for this problem -
manually installing/uninstalling via apt/dpkg - would still be effective
workarounds if a regression was to show itself.
There are a number of different paths to upgrading a distro from one
release to another, and while several of these were tested in
development of this fix, there could well be untested paths that may see
a change of behavior. However, the most likely issue we expect to see
is not a regression but rather that there is another corner case we
missed that didn't work before and remains unfixed even still. (Indeed,
this bug is a corner case left unfixed from bigger fixes from the
past...)
[Other Info]
A similar fix is already deployed to jammy which fixed this situation
for focal->jammy and impish->jammy uploads.
Also note that while Ubuntu itself recommends users install modphp via
the libapache-mod-php virtual package, there is ample 3rd party
tutorials that are instructing to install libapache-mod-phpN.M.
[Original Report]
While checking how things behave for bug 1890029 I might have found another aspect/version of bug 1865218. But I'm not sure yet.
Bryce was working on that and he probably has a better answer, so I'll file a bug about what I've seen and assign it to him to share his thoughts.
I tried to ways of a bionic->focal upgrade in otherwise clear bionic LXD containers.
I did:
1. get a bionic container
2. apt install libapache2-mod-php7.2
that will pull in apache as well and work
3a) edited /etc/apt/sources.list from bionic -> focal
apt update
apt dist-upgrade
This one left me with libapache2-mod-php7.2 of Bionic still installed and no 7.4 of Focal to be seen.
3b) I tried `do-release-upgrade -d` as some logic might be in there
This was different, it removed libapache2-mod-php7.2 but didn't bring in 7.4 as I'd have expected.
Before:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server
ii apache2-bin 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.29-1ubuntu4.13 all Apache HTTP Server (common files)
ii apache2-utils 2.4.29-1ubuntu4.13 amd64 Apache HTTP Server (utility programs for web servers)
ii libapache2-mod-php7.2 7.2.24-0ubuntu0.18.04.6 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-common 1:60ubuntu1 all Common files for PHP packages
ii php7.2-cli 7.2.24-0ubuntu0.18.04.6 amd64 command-line interpreter for the PHP scripting language
ii php7.2-common 7.2.24-0ubuntu0.18.04.6 amd64 documentation, examples and common module for PHP
ii php7.2-json 7.2.24-0ubuntu0.18.04.6 amd64 JSON module for PHP
ii php7.2-opcache 7.2.24-0ubuntu0.18.04.6 amd64 Zend OpCache module for PHP
ii php7.2-readline 7.2.24-0ubuntu0.18.04.6 amd64
After:
root@b-to-f2:~# dpkg -l | grep -e php -e apache2
ii apache2 2.4.41-4ubuntu3 amd64 Apache HTTP Server
ii apache2-bin 2.4.41-4ubuntu3 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.41-4ubuntu3 all Apache HTTP Server (common files)
ii apache2-utils 2.4.41-4ubuntu3 amd64 Apache HTTP Server (utility programs for web servers)
ii php-common 2:75 all
So mod-php is just gone :-/
Please tell me that I miss a point here, or is this really the come-back of 1865218? |
|
2022-06-08 15:17:19 |
Bryce Harrington |
php-defaults (Ubuntu Focal): status |
In Progress |
Fix Committed |
|
2022-07-06 15:16:16 |
Robie Basak |
php-defaults (Ubuntu Focal): status |
Fix Committed |
Incomplete |
|
2022-07-27 15:10:32 |
Christian Ehrhardt |
tags |
server-todo |
|
|