** 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

Reply via email to