← Back to team overview

touch-packages team mailing list archive

[Bug 1434115] [NEW] apparently broken dependency resolution

 

Public bug reported:

It looks as though unattended upgrades' dependency resolution is a
little broken when there are multiple alternatives and when the
dependency is currently satisfied by a package other than the first
alternative.

In this case, package php5 was upgraded.  php5 depends:

$ dpkg -s php5|grep Depends
Depends: libapache2-mod-php5 (>= 5.5.9+dfsg-1ubuntu4.7) | libapache2-mod-php5filter (>= 5.5.9+dfsg-1ubuntu4.7) | php5-cgi (>= 5.5.9+dfsg-1ubuntu4.7) | php5-fpm (>= 5.5.9+dfsg-1ubuntu4.7), php5-common (>= 5.5.9+dfsg-1ubuntu4.7)

I use php5-fpm, and specifically do not want libapache2-mod-php5
installed (not least because it breaks my FPM config).  After manually
purging libapache2-mod-php5:

$ dpkg -l $(dpkg -s php5|grep Depends|perl -npe 's/Depends://; s/[,|]/\n/g'|cut -f 2 -d\ )|grep ^[a-z]
un  libapache2-mod-php5                             <none>                               <none>       (no description available)
un  libapache2-mod-php5filter                       <none>                               <none>       (no description available)
un  php5-cgi                                        <none>                               <none>       (no description available)
ii  php5-common                                     5.5.9+dfsg-1ubuntu4.7                amd64        Common files for packages built from the php5 source
ii  php5-fpm                                        5.5.9+dfsg-1ubuntu4.7                amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)

note that:
• php5-fpm is installed and therefore that dependency of php5 was already satisfied
• php5-cgi and libapache2-mod-php5filter are alternative dependencies along with libapache2-mod-php5, yet neither got installed in the way that libapache2-mod-php5 did.


For completeness' sake, here's an excerpt of the unattended upgrade log (full log attached) showing that it was this morning's upgrade run that installed libapache2-mod-php5:

Selecting previously unselected package libapache2-mod-php5.
Preparing to unpack .../libapache2-mod-php5_5.5.9+dfsg-1ubuntu4.7_amd64.deb ...
Unpacking libapache2-mod-php5 (5.5.9+dfsg-1ubuntu4.7) ...
Preparing to unpack .../php5_5.5.9+dfsg-1ubuntu4.7_all.deb ...
Unpacking php5 (5.5.9+dfsg-1ubuntu4.7) over (5.5.9+dfsg-1ubuntu4.6) ...

Other requested information:

$ lsb_release -rd
Description:    Ubuntu 14.04.2 LTS
Release:        14.04

$ apt-cache policy unattended-upgrades
unattended-upgrades:
  Installed: 0.82.1ubuntu2.1
  Candidate: 0.82.1ubuntu2.1
  Version table:
 *** 0.82.1ubuntu2.1 0
        500 http://ubuntu.orion.retrosnub.co.uk/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     0.82.1ubuntu2 0
        500 http://ubuntu.orion.retrosnub.co.uk/ubuntu/ trusty/main amd64 Packages

** Affects: unattended-upgrades (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "Full log showing packages upgraded in this morning's run"
   https://bugs.launchpad.net/bugs/1434115/+attachment/4350041/+files/unattended-upgrades-dpkg_2015-03-19_06%EF%80%BA51%EF%80%BA43.996944.log

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unattended-upgrades in
Ubuntu.
https://bugs.launchpad.net/bugs/1434115

Title:
  apparently broken dependency resolution

Status in unattended-upgrades package in Ubuntu:
  New

Bug description:
  It looks as though unattended upgrades' dependency resolution is a
  little broken when there are multiple alternatives and when the
  dependency is currently satisfied by a package other than the first
  alternative.

  In this case, package php5 was upgraded.  php5 depends:

  $ dpkg -s php5|grep Depends
  Depends: libapache2-mod-php5 (>= 5.5.9+dfsg-1ubuntu4.7) | libapache2-mod-php5filter (>= 5.5.9+dfsg-1ubuntu4.7) | php5-cgi (>= 5.5.9+dfsg-1ubuntu4.7) | php5-fpm (>= 5.5.9+dfsg-1ubuntu4.7), php5-common (>= 5.5.9+dfsg-1ubuntu4.7)

  I use php5-fpm, and specifically do not want libapache2-mod-php5
  installed (not least because it breaks my FPM config).  After manually
  purging libapache2-mod-php5:

  $ dpkg -l $(dpkg -s php5|grep Depends|perl -npe 's/Depends://; s/[,|]/\n/g'|cut -f 2 -d\ )|grep ^[a-z]
  un  libapache2-mod-php5                             <none>                               <none>       (no description available)
  un  libapache2-mod-php5filter                       <none>                               <none>       (no description available)
  un  php5-cgi                                        <none>                               <none>       (no description available)
  ii  php5-common                                     5.5.9+dfsg-1ubuntu4.7                amd64        Common files for packages built from the php5 source
  ii  php5-fpm                                        5.5.9+dfsg-1ubuntu4.7                amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)

  note that:
  • php5-fpm is installed and therefore that dependency of php5 was already satisfied
  • php5-cgi and libapache2-mod-php5filter are alternative dependencies along with libapache2-mod-php5, yet neither got installed in the way that libapache2-mod-php5 did.

  
  For completeness' sake, here's an excerpt of the unattended upgrade log (full log attached) showing that it was this morning's upgrade run that installed libapache2-mod-php5:

  Selecting previously unselected package libapache2-mod-php5.
  Preparing to unpack .../libapache2-mod-php5_5.5.9+dfsg-1ubuntu4.7_amd64.deb ...
  Unpacking libapache2-mod-php5 (5.5.9+dfsg-1ubuntu4.7) ...
  Preparing to unpack .../php5_5.5.9+dfsg-1ubuntu4.7_all.deb ...
  Unpacking php5 (5.5.9+dfsg-1ubuntu4.7) over (5.5.9+dfsg-1ubuntu4.6) ...

  Other requested information:

  $ lsb_release -rd
  Description:    Ubuntu 14.04.2 LTS
  Release:        14.04

  $ apt-cache policy unattended-upgrades
  unattended-upgrades:
    Installed: 0.82.1ubuntu2.1
    Candidate: 0.82.1ubuntu2.1
    Version table:
   *** 0.82.1ubuntu2.1 0
          500 http://ubuntu.orion.retrosnub.co.uk/ubuntu/ trusty-updates/main amd64 Packages
          100 /var/lib/dpkg/status
       0.82.1ubuntu2 0
          500 http://ubuntu.orion.retrosnub.co.uk/ubuntu/ trusty/main amd64 Packages

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1434115/+subscriptions


Follow ups

References