** Description changed: - While checking how things behave for bug 1890029 I might have found - another aspect/version of bug 1865218. But I'm not sure yet. + [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 + that will pull in apache as well and work 3a) edited /etc/apt/sources.list from bionic -> focal - apt update - apt dist-upgrade + 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 + 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