← Back to team overview

touch-packages team mailing list archive

[Bug 1485396] [NEW] impossible to upgrade package from vivid to wily because of maintainer script reference to upstart job without matching init script

 

Public bug reported:

The isc-dhcp-server package is not upgradable on a real machine (vs. a
chroot) in vivid or wily, because it installs two upstart jobs in the
usual debhelper way, but only one of them has a matching init script.
As a result, on a system with systemd as init, isc-dhcp-server will fail
to even unpack over a running system:

Preparing to unpack .../isc-dhcp-server_4.3.1-5ubuntu3_amd64.deb ...
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
invoke-rc.d: unknown initscript, /etc/init.d/isc-dhcp-server6 not found.
dpkg: warning: subprocess old pre-removal script returned error exit status 100
dpkg: trying script from the new package instead ...
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
invoke-rc.d: unknown initscript, /etc/init.d/isc-dhcp-server6 not found.
dpkg: error processing archive /var/cache/apt/archives/isc-dhcp-server_4.3.1-5ubuntu3_amd64.deb (--unpack):
 subprocess new pre-removal script returned error exit status 100

This is because both new and old packages include the following in the
prerm:

# Automatically added by dh_installinit
if [ -x "/etc/init.d/isc-dhcp-server6" ] || [ -e "/etc/init/isc-dhcp-server6.conf" ]; then
        invoke-rc.d isc-dhcp-server6 stop || exit $?
fi
# End automatically added section

This code will never succeed on a system running systemd.

It may be that debhelper's behavior here should be changed.  However, as
we have two upstart jobs in the package for a reason, I think the more
important fix is to split the init script.  This will then also require
some particular upgrade handling in the prerm since the prerm runs
before any new /etc/init.d/isc-dhcp-server6 script would be unpacked.

It's also worth noting that this problem was apparently not picked up by the reports about packages missing init scripts; presumably because the isc-dhcp-server has an init script, but not init scripts matching all of the included upstart jobs.
 https://people.canonical.com/~jhunt/systemd/packages-to-convert/2015-08-17.txt

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: isc-dhcp-server 4.3.1-5ubuntu2.2
ProcVersionSignature: Ubuntu 3.19.0-25.26-generic 3.19.8-ckt2
Uname: Linux 3.19.0-25-generic x86_64
ApportVersion: 2.18-0ubuntu6
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Aug 17 02:58:14 2015
InstallationDate: Installed on 2010-09-24 (1787 days ago)
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
SourcePackage: isc-dhcp
UpgradeStatus: Upgraded to wily on 2015-08-17 (0 days ago)
modified.conffile..etc.dhcp.dhcpd.conf: [modified]
mtime.conffile..etc.dhcp.dhcpd.conf: 2013-09-19T21:48:37.910820

** Affects: isc-dhcp (Ubuntu)
     Importance: Critical
     Assignee: Mathieu Trudel-Lapierre (mathieu-tl)
         Status: Triaged


** Tags: amd64 apport-bug wily

** Changed in: isc-dhcp (Ubuntu)
   Importance: Undecided => Critical

** Changed in: isc-dhcp (Ubuntu)
       Status: New => Triaged

** Changed in: isc-dhcp (Ubuntu)
     Assignee: (unassigned) => Mathieu Trudel-Lapierre (mathieu-tl)

** Changed in: isc-dhcp (Ubuntu)
    Milestone: None => ubuntu-15.10

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

Title:
  impossible to upgrade package from vivid to wily because of maintainer
  script reference to upstart job without matching init script

Status in isc-dhcp package in Ubuntu:
  Triaged

Bug description:
  The isc-dhcp-server package is not upgradable on a real machine (vs. a
  chroot) in vivid or wily, because it installs two upstart jobs in the
  usual debhelper way, but only one of them has a matching init script.
  As a result, on a system with systemd as init, isc-dhcp-server will
  fail to even unpack over a running system:

  Preparing to unpack .../isc-dhcp-server_4.3.1-5ubuntu3_amd64.deb ...
  initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
  invoke-rc.d: unknown initscript, /etc/init.d/isc-dhcp-server6 not found.
  dpkg: warning: subprocess old pre-removal script returned error exit status 100
  dpkg: trying script from the new package instead ...
  initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
  invoke-rc.d: unknown initscript, /etc/init.d/isc-dhcp-server6 not found.
  dpkg: error processing archive /var/cache/apt/archives/isc-dhcp-server_4.3.1-5ubuntu3_amd64.deb (--unpack):
   subprocess new pre-removal script returned error exit status 100

  This is because both new and old packages include the following in the
  prerm:

  # Automatically added by dh_installinit
  if [ -x "/etc/init.d/isc-dhcp-server6" ] || [ -e "/etc/init/isc-dhcp-server6.conf" ]; then
          invoke-rc.d isc-dhcp-server6 stop || exit $?
  fi
  # End automatically added section

  This code will never succeed on a system running systemd.

  It may be that debhelper's behavior here should be changed.  However,
  as we have two upstart jobs in the package for a reason, I think the
  more important fix is to split the init script.  This will then also
  require some particular upgrade handling in the prerm since the prerm
  runs before any new /etc/init.d/isc-dhcp-server6 script would be
  unpacked.

  It's also worth noting that this problem was apparently not picked up by the reports about packages missing init scripts; presumably because the isc-dhcp-server has an init script, but not init scripts matching all of the included upstart jobs.
   https://people.canonical.com/~jhunt/systemd/packages-to-convert/2015-08-17.txt

  ProblemType: Bug
  DistroRelease: Ubuntu 15.10
  Package: isc-dhcp-server 4.3.1-5ubuntu2.2
  ProcVersionSignature: Ubuntu 3.19.0-25.26-generic 3.19.8-ckt2
  Uname: Linux 3.19.0-25-generic x86_64
  ApportVersion: 2.18-0ubuntu6
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Mon Aug 17 02:58:14 2015
  InstallationDate: Installed on 2010-09-24 (1787 days ago)
  InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
  SourcePackage: isc-dhcp
  UpgradeStatus: Upgraded to wily on 2015-08-17 (0 days ago)
  modified.conffile..etc.dhcp.dhcpd.conf: [modified]
  mtime.conffile..etc.dhcp.dhcpd.conf: 2013-09-19T21:48:37.910820

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1485396/+subscriptions


Follow ups