release upgrade does not move to the new php apache mod
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
php-defaults (Ubuntu) |
In Progress
|
Medium
|
Bryce Harrington | ||
Bionic |
In Progress
|
Medium
|
Bryce Harrington | ||
Focal |
Incomplete
|
Medium
|
Bryce Harrington | ||
Impish |
Fix Released
|
Medium
|
Bryce Harrington | ||
Jammy |
Fix Released
|
Medium
|
Bryce Harrington | ||
php7.2 (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Bionic |
New
|
Medium
|
Bryce Harrington | ||
php7.4 (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Focal |
Won't Fix
|
Medium
|
Bryce Harrington | ||
php8.0 (Ubuntu) |
Invalid
|
Medium
|
Unassigned | ||
Impish |
Fix Released
|
Medium
|
Bryce Harrington | ||
php8.1 (Ubuntu) |
Fix Released
|
Medium
|
Bryce Harrington | ||
Jammy |
Fix Released
|
Medium
|
Bryce Harrington |
Bug Description
[Impact]
Users who install libapache2-
virtual libapache2-mod-php package) and upgrade from bionic to focal
will not be upgraded to libapache2-
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:/
This upload provides dummy packages to enable libapache2-
be upgraded to libapache2-
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-
$ lxc shell lp1890263-
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-
# apt install -y libapache2-
The following NEW packages will be installed:
apache2 ... libapache2-
...
# 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-
Installed: (none)
--
libapache2-
Installed: (none)
--
libapache2-
Installed: (none)
--
libapache2-
Installed: (none)
# result=$(apt-cache policy libapache2-
# [ "${result}" = "(none)" ] && echo "BUG DETECTED"
# logout
$ lxc stop lp1890263-
$ lxc delete lp1890263-
#######
### Bionic Test Case for FIXED Behavior ###
#######
$ lxc launch ubuntu-daily:bionic lp1890263-
$ lxc shell lp1890263-
# apt-get update; apt-get -y full-upgrade
# reboot
$ lxc shell lp1890263-
# apt install -y libapache2-
The following NEW packages will be installed:
apache2 ... libapache2-
...
# apt-add-repository -yus ppa:bryce/
# do-release-upgrade
- Answer defaults for everything
- Allow it to reboot when done, and log back in
TODO: Verify fix
# apt-cache policy libapache2-
# apt-cache policy libapache2-
# apt-cache policy libapache2-mod-php | grep -B1 Installed
FIX [NOT] DETECTED
$ lxc stop lp1890263-
$ lxc delete lp1890263-
# [ $(lsb_release -sc) = "bionic" ] && (echo -e "\nProtocols h2 h2c http/1.1" >> /etc/apache2/
(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/
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-
[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-
that will pull in apache as well and work
3a) edited /etc/apt/
apt update
apt dist-upgrade
This one left me with libapache2-
3b) I tried `do-release-upgrade -d` as some logic might be in there
This was different, it removed libapache2-
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-
ii php-common 1:60ubuntu1 all Common files for PHP packages
ii php7.2-cli 7.2.24-
ii php7.2-common 7.2.24-
ii php7.2-json 7.2.24-
ii php7.2-opcache 7.2.24-
ii php7.2-readline 7.2.24-
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?
Related branches
- Athos Ribeiro (community): Approve
- Canonical Server packageset reviewers: Pending requested
- Canonical Server MOTU reviewers: Pending requested
- Canonical Server Core Reviewers: Pending requested
-
Diff: 108 lines (+60/-4)3 files modifieddebian/changelog (+8/-0)
debian/control (+26/-2)
debian/control.in (+26/-2)
- Canonical Server: Pending requested
- Canonical Server packageset reviewers: Pending requested
-
Diff: 139 lines (+75/-2)4 files modifieddebian/changelog (+9/-0)
debian/control (+32/-0)
debian/control.in (+32/-0)
debian/rules (+2/-2)
tags: | added: server-todo |
Changed in php8.0 (Ubuntu): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php7.4 (Ubuntu): | |
importance: | Undecided → Medium |
Changed in php8.0 (Ubuntu): | |
importance: | Undecided → Medium |
Changed in php7.4 (Ubuntu): | |
status: | New → Triaged |
Changed in php8.0 (Ubuntu): | |
status: | New → Triaged |
Changed in php8.1 (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in php8.1 (Ubuntu): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php-defaults (Ubuntu Jammy): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php7.2 (Ubuntu Focal): | |
status: | New → Invalid |
Changed in php7.2 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in php7.2 (Ubuntu Jammy): | |
status: | New → Invalid |
Changed in php7.4 (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in php7.4 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in php7.4 (Ubuntu Jammy): | |
assignee: | Bryce Harrington (bryce) → nobody |
status: | Triaged → Invalid |
Changed in php8.0 (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in php8.0 (Ubuntu Focal): | |
status: | New → Invalid |
no longer affects: | php8.0 (Ubuntu Jammy) |
no longer affects: | php7.2 (Ubuntu Focal) |
no longer affects: | php7.2 (Ubuntu Impish) |
no longer affects: | php7.2 (Ubuntu Jammy) |
no longer affects: | php7.4 (Ubuntu Bionic) |
no longer affects: | php8.0 (Ubuntu Bionic) |
no longer affects: | php7.4 (Ubuntu Impish) |
no longer affects: | php7.4 (Ubuntu Jammy) |
no longer affects: | php8.0 (Ubuntu Focal) |
no longer affects: | php8.1 (Ubuntu Bionic) |
no longer affects: | php8.1 (Ubuntu Focal) |
no longer affects: | php8.1 (Ubuntu Impish) |
Changed in php7.2 (Ubuntu Bionic): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php7.4 (Ubuntu Focal): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php8.0 (Ubuntu Impish): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php8.0 (Ubuntu): | |
assignee: | Bryce Harrington (bryce) → nobody |
status: | Triaged → Invalid |
Changed in php-defaults (Ubuntu Impish): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php-defaults (Ubuntu Focal): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php-defaults (Ubuntu Bionic): | |
assignee: | nobody → Bryce Harrington (bryce) |
Changed in php8.0 (Ubuntu Impish): | |
importance: | Undecided → Medium |
Changed in php7.4 (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in php7.2 (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in php7.2 (Ubuntu): | |
importance: | Undecided → Medium |
Changed in php-defaults (Ubuntu Jammy): | |
importance: | Undecided → Medium |
Changed in php-defaults (Ubuntu Impish): | |
importance: | Undecided → Medium |
Changed in php-defaults (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in php-defaults (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in php-defaults (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in php8.1 (Ubuntu Jammy): | |
status: | Triaged → In Progress |
description: | updated |
Changed in php-defaults (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in php-defaults (Ubuntu Focal): | |
status: | Fix Released → In Progress |
Changed in php7.4 (Ubuntu Focal): | |
status: | Fix Released → In Progress |
description: | updated |
Changed in php-defaults (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Note: I'll leave the two containers as-is for now in case you want any logs in them to be checked.