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. Index: debian/control =================================================================== --- debian/control (revisjon 912) +++ debian/control (arbeidskopi) @@ -9,9 +9,7 @@ Package: sysvinit Essential: yes Architecture: any -Conflicts: last -Replaces: last -Pre-Depends: initscripts, sysv-rc (>= 2.86.ds1-1.2) | file-rc (>> 0.7.0) +Pre-Depends: initscripts, sysv-rc (>= 2.86.ds1-1.2) | file-rc (>> 0.7.0), sysvinit-utils Depends: ${shlibs:Depends} Description: System-V-like init utilities This package contains programs required for booting @@ -22,6 +20,18 @@ to run as process number 1 until the system halts. All other processes are descended from it. +Package: sysvinit-utils +Essential: yes +Architecture: any +Conflicts: last +Replaces: last, sysvinit (<< 2.86.ds1-21) +Depends: ${shlibs:Depends} +Description: System-V-like utilities + This package contains the important System-V-like utilities. + . + Specifically, this package includes: + killall5, last, lastb, mesg, pidof + Package: sysv-rc Architecture: all Recommends: lsb-base (>= 3.0-6) @@ -35,7 +45,7 @@ Package: initscripts Architecture: any -Depends: ${shlibs:Depends}, ${glibc:Depends}, ${mount:Depends}, e2fsprogs (>= 1.32+1.33-WIP-2003.04.14-1), debianutils (>= 2.13.1), lsb-base (>= 3.0-6) +Depends: ${shlibs:Depends}, ${glibc:Depends}, ${mount:Depends}, e2fsprogs (>= 1.32+1.33-WIP-2003.04.14-1), debianutils (>= 2.13.1), lsb-base (>= 3.0-6), sysvinit-utils Conflicts: mdutils, sysv-rc (<< 2.86.ds1-1.2), sysvinit (<< 2.86.ds1-12) Replaces: mdutils, sysvinit (<< 2.85-12), libc6, libc6.1, libc0.1, libc0.3 Description: Scripts for initializing and shutting down the system Index: debian/changelog =================================================================== --- debian/changelog (revisjon 915) +++ debian/changelog (arbeidskopi) @@ -1,4 +1,4 @@ -sysvinit (2.86.ds1-21~1) unstable; urgency=low +sysvinit (2.86.ds1-21) unstable; urgency=low * Correct status report handling in umountnfs.sh. Based on patch from Markus Schoder. (Closes: #386893) @@ -20,6 +20,9 @@ * Now that mtab is properly updated by mtab.sh before mountall.sh, there is no need to have special handling of proc file systems. Remove the code from mountall.sh. (Closes: #359651) + * Split killall5, last, lastb, mesg and pidof out of the sysvinit + package into a new sysvinit-utils package to make it easier to + replace sysvinit. (Closes: #385722) -- Petter Reinholdtsen <[EMAIL PROTECTED]> Mon, 11 Sep 2006 00:44:44 +0200 Index: debian/rules =================================================================== --- debian/rules (revisjon 912) +++ debian/rules (arbeidskopi) @@ -96,8 +96,22 @@ rm -f $(tmp)/sbin/halt rm -f $(tmp)/sbin/reboot endif + rm -f $(tmp)/usr/share/man/man8/killall5.8 + rm -f $(tmp)/usr/share/man/man1/last.1 + rm -f $(tmp)/usr/share/man/man1/lastb.1 + rm -f $(tmp)/usr/share/man/man1/mesg.1 + rm -f $(tmp)/usr/share/man/man8/pidof.8 rm -f $(tmp)/usr/share/man/man1/mountpoint.1 + rm -f $(tmp)/sbin/killall5 + rm -f $(tmp)/usr/bin/last + rm -f $(tmp)/usr/bin/lastb + rm -f $(tmp)/usr/bin/mesg + rm -f $(tmp)/bin/pidof rm -f $(tmp)/bin/mountpoint + rmdir $(tmp)/usr/share/man/man1 + rmdir $(tmp)/usr/sbin + rmdir $(tmp)/usr/bin + rmdir $(tmp)/bin gzip -9f $(tmp)/usr/share/man/man*/*.[0-9] install -o root -g root -m 644 debian/copyright \ $(tmp)$(doc)/sysvinit/copyright @@ -108,6 +122,43 @@ dpkg --build $(tmp) .. rm -rf $(tmp) # + # sysvinit-utils package + # + -rm -rf $(tmp) + install -d -o root -g root -m 755 $(tmp) + install -d -o root -g root -m 755 $(tmp)/DEBIAN + install -d -o root -g root -m 755 $(tmp)$(doc)/sysvinit-utils + install -o root -g root -m 644 doc/Changelog \ + $(tmp)$(doc)/sysvinit-utils/changelog + install -o root -g root -m 644 debian/changelog \ + $(tmp)$(doc)/sysvinit-utils/changelog.Debian + gzip -9f $(tmp)$(doc)/sysvinit-utils/changelog* + install -d -o root -g root -m 755 $(tmp)/{bin,sbin,lib,usr} + install -d -o root -g root -m 755 $(tmp)/usr/bin + install -d -o root -g root -m 755 $(tmp)/usr/share/man + install -d -o root -g root -m 755 $(tmp)/usr/share/man/man{1,8} + install -o root -g root -m 755 src/killall5 $(tmp)/sbin + install -o root -g root -m 755 src/last $(tmp)/usr/bin + install -o root -g root -m 755 src/mesg $(tmp)/usr/bin + strip -s -R .comment $(tmp)/sbin/killall5 + strip -s -R .comment $(tmp)/usr/bin/last + strip -s -R .comment $(tmp)/usr/bin/mesg + ln -sf ../sbin/killall5 $(tmp)/bin/pidof + ln -sf last $(tmp)/usr/bin/lastb + install -o root -g root -m 644 man/killall5.8 $(tmp)/usr/share/man/man8 + install -o root -g root -m 644 man/last.1 $(tmp)/usr/share/man/man1 + install -o root -g root -m 644 man/lastb.1 $(tmp)/usr/share/man/man1 + install -o root -g root -m 644 man/mesg.1 $(tmp)/usr/share/man/man1 + install -o root -g root -m 644 man/pidof.8 $(tmp)/usr/share/man/man8 + gzip -9f $(tmp)/usr/share/man/man*/*.[0-9] + install -o root -g root -m 644 debian/copyright \ + $(tmp)$(doc)/sysvinit-utils/copyright + cat COPYRIGHT >> $(tmp)$(doc)/sysvinit-utils/copyright + dpkg-shlibdeps src/init + dpkg-gencontrol -psysvinit-utils -P$(tmp) -isp + dpkg --build $(tmp) .. + rm -rf $(tmp) + # # initscripts package # -rm -rf $(tmp) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]