** Description changed: [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. + 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 ... - ... + 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 + - 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) + Installed: (none) -- libapache2-mod-php5: - Installed: (none) + Installed: (none) -- libapache2-mod-php7.2: - Installed: (none) + Installed: (none) -- libapache2-mod-php7.3: - Installed: (none) + Installed: (none) -- libapache2-mod-php7.4: - Installed: (none) + 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 ... - ... + 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 + - 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) - + # [ $(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. + 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?
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1890263 Title: release upgrade does not move to the new php apache mod To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/php-defaults/+bug/1890263/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs