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]

Reply via email to