procps will not install in multistrap unless upstart is running on the host system

Bug #619783 reported by Wookey
This bug affects 2 people
Affects Status Importance Assigned to Milestone
procps (Ubuntu)

Bug Description

Binary package hint: procps

The postinst of procps starts the service using the upstart command 'start procps'. If upstart is not running it fails with "start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused". Whilst it is policy that the postinst script of a package should try to start the service the package installation should not fail just because the service didn't start.

This is trivially fixed by appending || true to the start procps line in procps.postinst
This solution is already present in the udev postinst script

Examples of cases when this is practical problem:
If the package is being installed in a chroot created on a Debian system (or any other system not runnig upstart) then it fails to install, and stops other packages that depend on it from installing.

Currently using multistrap or debootstrap to create a maverick chroot on a Debian system falls over on this bug.

ProblemType: Bug
Architecture: amd64
Date: Wed Aug 18 11:25:01 2010
DistroRelease: Ubuntu 10.10
NonfreeKernelModules: iwlagn nfs lockd fscache nfs_acl auth_rpcgss sunrpc sco parport_pc ppdev bridge lp parport stp bnep rfcomm l2cap input_polldev binfmt_misc uinput fuse ext3 jbd loop snd_hda_codec_conexant arc4 ecb btusb bluetooth pl2303 snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_midi snd_rawmidi iwlcore snd_seq_midi_event snd_seq usbserial snd_timer i915 mac80211 snd_seq_device drm_kms_helper drm snd cfg80211 thinkpad_acpi soundcore led_class snd_page_alloc rfkill intel_agp psmouse i2c_i801 i2c_algo_bit nvram agpgart serio_raw pcspkr evdev i2c_core video output wmi button battery ac processor ext4 mbcache jbd2 crc16 sha256_generic cryptd aes_x86_64 aes_generic cbc dm_crypt dm_mod sd_mod crc_t10dif uhci_hcd ahci libata thermal ehci_hcd scsi_mod usbcore thermal_sys e1000e nls_base
Package: procps 1:3.2.8-9ubuntu3
ProcEnviron: PATH=(custom, no user)
SourcePackage: procps
Tags: maverick
Uname: Linux 2.6.32-trunk-amd64 x86_64

Revision history for this message
Wookey (wookey) wrote :
Revision history for this message
Wookey (wookey) wrote :

Actually this problem does not affect debootstrap as that diverts the startup commands in the chroot to do nothing.

Wookey (wookey)
summary: - procps will not install in debootstrap or multistrap unless upstart is
- running on the host system
+ procps will not install in multistrap unless upstart is running on the
+ host system
tags: added: patch
Revision history for this message
Wookey (wookey) wrote :

This problem has been worked-around/fixed in multistrap by dealing with the general case of installing services into chroots. It now contains a script which can be run when creating a chroot. This does the same thing that debootstrap does, and replaces initctl and start-stop-daemon with fakes which do nothing but print an 'I have been nobbled' message.

It would be better to do this via policyrc.d as _all_ services should use that, and any that don't need fixing immediately.

Whilst this fixes the simple case of chroot creation, it does not fix the problem of installing services into an image which is to be a real image (cross or otherwise), but you still don't want those services starting things or binding to things on the build system (or changing your sysctl settings in the case of procps) during image-creation. But you _do_ want those things to run properly on first-boot. How best to manage this warrants further discussion, but maybe this isn't the place.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in procps (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.