** Description changed: - The change to lsb-base that landed into -updates on the 12th of May: + [SRU Justification] + SRU regression. The change to lsb-base that landed into -updates on the 12th of May: lsb (4.1+Debian11ubuntu6.1) trusty; urgency=medium * Add 01-upstart-lsb from the upstart package and make executing rc.d scripts no-op if there is an upstart job for that script. (LP: #1273462) -- Zhang Hua <joshua.zh...@canonical.com> Thu, 06 Aug 2015 11:11:16 -0500 changed the behaviour of init.d scripts to pass through to the associated upstart configuration for process management, where packages ship both an upstart configuration and an init.d configuration. This has a rather nasty side effect on 'service --status-all', which calls the 'status' method on all installed init.d scripts - this gets translated into: status <service-name> for upstart scripts, which correctly identifies the process as not running, but always returns a 0 return code. As a result, --status-all incorrectly identifies upstart processes as running even when they are not. - ProblemType: Bug - DistroRelease: Ubuntu 14.04 - Package: lsb-base 4.1+Debian11ubuntu6.1 - ProcVersionSignature: User Name 3.13.0-86.130-generic 3.13.11-ckt39 - Uname: Linux 3.13.0-86-generic x86_64 - ApportVersion: 2.14.1-0ubuntu3.19 - Architecture: amd64 - Date: Tue May 17 16:47:30 2016 - Dependencies: + [Regression potential] + Minimal. This SRU updates the behavior of the lsb init script upstart diversion to implement LSB-compliant return values for the 'status' subcommand. It is possible this behavior change will differ from the original behavior of some init scripts, but that behavior was undefined. - Ec2AMI: ami-0000015b - Ec2AMIManifest: FIXME - Ec2AvailabilityZone: nova - Ec2InstanceType: m1.small.osci - Ec2Kernel: unavailable - Ec2Ramdisk: unavailable - PackageArchitecture: all - SourcePackage: lsb - UpgradeStatus: No upgrade log present (probably fresh install) + [Test case] + 1. On an installed trusty system, run this command to get a list of affected upstart jobs: + for job in $(initctl list | awk '/stop\/waiting/ { print $1 }'); do if [ -x "/etc/init.d/$job" ]; then echo $job; done + 2. Check the status of this service in the output of service --status-all: + service --status-all 2>&1 | grep procps + 3. Confirm that the service is shown as running, despite us knowing above that it is not: + [ + ] procps + 4. Install the lsb-base package from trusty-proposed. + 5. Check the status of this service again in the output of service --status-all: + service --status-all 2>&1 | grep procps + 6. Confirm that the service is no longer shown as running: + [ - ] procps
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to lsb in Ubuntu. https://bugs.launchpad.net/bugs/1582813 Title: service --status-all always reports upstart managed daemons as running Status in lsb package in Ubuntu: Fix Committed Status in lsb source package in Trusty: In Progress Bug description: [SRU Justification] SRU regression. The change to lsb-base that landed into -updates on the 12th of May: lsb (4.1+Debian11ubuntu6.1) trusty; urgency=medium * Add 01-upstart-lsb from the upstart package and make executing rc.d scripts no-op if there is an upstart job for that script. (LP: #1273462) -- Zhang Hua <joshua.zh...@canonical.com> Thu, 06 Aug 2015 11:11:16 -0500 changed the behaviour of init.d scripts to pass through to the associated upstart configuration for process management, where packages ship both an upstart configuration and an init.d configuration. This has a rather nasty side effect on 'service --status-all', which calls the 'status' method on all installed init.d scripts - this gets translated into: status <service-name> for upstart scripts, which correctly identifies the process as not running, but always returns a 0 return code. As a result, --status-all incorrectly identifies upstart processes as running even when they are not. [Regression potential] Minimal. This SRU updates the behavior of the lsb init script upstart diversion to implement LSB-compliant return values for the 'status' subcommand. It is possible this behavior change will differ from the original behavior of some init scripts, but that behavior was undefined. [Test case] 1. On an installed trusty system, run this command to get a list of affected upstart jobs: for job in $(initctl list | awk '/stop\/waiting/ { print $1 }'); do if [ -x "/etc/init.d/$job" ]; then echo $job; done 2. Check the status of this service in the output of service --status-all: service --status-all 2>&1 | grep procps 3. Confirm that the service is shown as running, despite us knowing above that it is not: [ + ] procps 4. Install the lsb-base package from trusty-proposed. 5. Check the status of this service again in the output of service --status-all: service --status-all 2>&1 | grep procps 6. Confirm that the service is no longer shown as running: [ - ] procps To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lsb/+bug/1582813/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp