> I gave this another try, this time using version 2.86.ds1-21 both in > the changelog entry and in the replaces header, and upgrading from > version 2.86.ds1-21~1. It failed. Here is the error: > > # dpkg -i *-21*.deb > [...] > Unpacking sysvinit-utils (from sysvinit-utils_2.86.ds1-21_i386.deb ... > Replacing files in old package sysvinit ... > dpkg: regarding sysvinit_2.86.ds1-21_i386.deb containing sysvinit, > pre-dependency problem: > sysvinit pre-depends on sysvinit-utils > sysvinit-utils is unpacked, but has never been configured. > dpkg: error processing sysvinit_2.86.ds1-21_i386.deb (--install): > pre-dependency problem - not installing sysvinit > Setting up sysv-rc (2.86.ds1-21) ... > [...] > Errors were encountered while processing: > sysvinit_2.86.ds1-21_i386.deb > # > > The problem was solved by running the dpkg -i call again, and this > time sysvinit found its predepend and dpkg was happy. > > I fail to understand why dpkg isn't ordering the install in a way to > make sure sysvinit-utils are configured before sysvinit is installed, > but until I can be sure we do not run into problems with this split, I > will wait. This is the patch I used this time, relative to the > current svn.
Well, it's quite clear to me: dpkg simply doesn't order the installation sequence, you have to use a higher level tool like apt or aptitude for that. You can try the following: Drop the deb files in a folder, say /home/foo/debs, then run dpkg-scanpackages /home/foo/debs /dev/null | gzip > \ /home/foo/debs/Packages.gz Add to /etc/apt/sources.list: deb file:///home/foo/debs ./ and run apt-get update && apt-get upgrade. This should work flawlessly (tested it myself). I did this for your proposed patch and stored the files on my server. You can test them by adding deb http://debs.michaelbiebl.de/upstart binary/ deb-src http://debs.michaelbiebl.de/upstart source/ to you /etc/apt/sources.list file. @madduck: The repository also contains upstart 0.2.5 packages. Applied is the patch for glibc-2.3. I addition dropped the dependency on linux-kernel-headers and glibc from experimental and changed the dependency on sysvutils -> sysvinit-utils, as this is what pere chose as name for the split package. Give them a try. @hmh: The sysvinit package still has the Essential tag. This makes it a bit cumbersome if you want to install a replacement init system like upstart, initng or runit-run. Would it make sense to drop the Essential tag from sysvinit and let all init systems have a "Provides: init-system". We could then introduce an new essential package which would depend on "init-system | sysvinit". If we later decide to switch to a new init system, it would be much easier. Cheers, Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature