Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
On Wed, 20 Oct 2021, Jesse Smith wrote: > 1. There is something about the host system that is causing insserv to But what, given I can reproduce this in a chroot and on my laptop? bye, //mirabilos -- Infrastrukturexperte • tarent solutions GmbH Am Dickobskreuz 10, D-53121 Bonn • http://www.tarent.de/ Telephon +49 228 54881-393 • Fax: +49 228 54881-235 HRB AG Bonn 5168 • USt-ID (VAT): DE122264941 Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg /⁀\ The UTF-8 Ribbon ╲ ╱ Campaign against Mit dem tarent-Newsletter nichts mehr verpassen: ╳ HTML eMail! Also, https://www.tarent.de/newsletter ╱ ╲ header encryption!
Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
On 2021-10-20 4:59 p.m., Mark Hindley wrote: > I am unclear as to the significance of the reordering of .depends.* that > happens on the first run. Jesse, is that expected. Does it point to something? I suspect the initial reordering probably indicates one of two things: 1. There is something about the host system that is causing insserv to toggle ordering back and forth which we haven't been able to reproduce. This would result in insserv switching things back to "normal" when run on another system, and then leave it be. 2. Something on the host system changed init script dependencies, resulting in a reshuffling. This isn't necessarily a bad thing, it can happen when a script is added or removed from /etc/init.d, possibly by the package manager. It usually just indicated something changed since the last time insserv was run. Jesse
Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
On Wed, 20 Oct 2021, Mark Hindley wrote: > As Ian said previously, we are clearly still missing something here. I am > pretty much in > the dark and clutching at straws. But what filesystem are you using? My > /var/cache/pbuilder is ext3. Oh wow. Mine is on: /dev/mapper/vg--tglase-lv--tglase on / type ext4 (rw,relatime) > I am afraid I am still unable to reproduce this behaviour in my own or your > supplied chroot. Also not with my supplied chroot‽ So it’s nothing about differences in the chroot either… good to know, but puzzling for this issue. bye, //mirabilos -- Infrastrukturexperte • tarent solutions GmbH Am Dickobskreuz 10, D-53121 Bonn • http://www.tarent.de/ Telephon +49 228 54881-393 • Fax: +49 228 54881-235 HRB AG Bonn 5168 • USt-ID (VAT): DE122264941 Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg /⁀\ The UTF-8 Ribbon ╲ ╱ Campaign against Mit dem tarent-Newsletter nichts mehr verpassen: ╳ HTML eMail! Also, https://www.tarent.de/newsletter ╱ ╲ header encryption!
Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
Thorsten, Thanks for this and sorry for taking some time to actually get round to trying it. On Wed, Oct 06, 2021 at 08:16:40PM +0200, Thorsten Glaser wrote: > On Wed, 6 Oct 2021, Thorsten Glaser wrote: > > > So I can verify this behaviour in an otherwise clean chroot. > > And https://mops.tarent.de/.tmp/base.cow-bullseye-amd64.tar.xz is the > chroot, just in case it is something about that as well. I am afraid I am still unable to reproduce this behaviour in my own or your supplied chroot. The only thing that happens is a reordering of the .depend* files on the first insserv invocation. After that, there are no changes on subsequent runs. mark@apollo:/var/cache/pbuilder% sudo tar xJf ~/Downloads/base.cow-bullseye-amd64.tar.xz mark@apollo:~% sudo cp /tmp/etc-stripped.tgz /var/cache/pbuilder/build/cow.23212/tmp/ mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{,1} .../init.d/.depend.boot| 20 - .../init.d/.depend.start | 26 +++--- .../init.d/.depend.stop| 14 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{1,2} .../init.d/.depend.boot| 20 - .../init.d/.depend.start | 26 +++--- .../init.d/.depend.stop| 14 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{1,3} .../init.d/.depend.boot| 20 - .../init.d/.depend.start | 26 +++--- .../init.d/.depend.stop| 14 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{1,4} .../init.d/.depend.boot| 20 - .../init.d/.depend.start | 26 +++--- .../init.d/.depend.stop| 14 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{2,3} mark@apollo:~% cdiff --stat /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{2,4} mark@apollo:~% cdiff --stat -u /var/cache/pbuilder/build/cow.23212/tmp/etc-stripped{1,2} .../init.d/.depend.boot| 20 - .../init.d/.depend.start | 26 +++--- .../init.d/.depend.stop| 14 ++-- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git var/cache/pbuilder/build/cow.23212/tmp/etc-stripped1/init.d/.depend.boot var/cache/pbuilder/build/cow.23212/tmp/etc-stripped2/i nit.d/.depend.boot index 3fc1825..54d3471 100644 --- var/cache/pbuilder/build/cow.23212/tmp/etc-stripped1/init.d/.depend.boot +++ var/cache/pbuilder/build/cow.23212/tmp/etc-stripped2/init.d/.depend.boot @@ -1,4 +1,4 @@ -TARGETS = mountkernfs.sh udev mountdevsubfs.sh keyboard-setup.sh bootlogd hwclock.sh hostname.sh checkroot.sh cryptdisks-early cryptdisks networking mountnfs.sh mountnfs-bootclean.sh mountall.sh mountall-bootclean.sh lvm2 x11-common early-rng-init-tools urandom brightness al sa-utils checkfs.sh checkroot-bootclean.sh screen-cleanup stop-bootlogd-single bootmisc.sh mount-configfs kmod procps lm-sensors +TARGETS = mountkernfs.sh udev mountdevsubfs.sh keyboard-setup.sh bootlogd hwclock.sh hostname.sh checkroot.sh cryptdisks-early cryptdisks mountnfs.sh mountnfs-bootclean.sh mountall.sh mountall-bootclean.sh brightness networking lvm2 checkfs.sh urandom x11-common early-rng-in it-tools alsa-utils mount-configfs kmod bootmisc.sh procps screen-cleanup stop-bootlogd-single lm-sensors checkroot-bootclean.sh INTERACTIVE = udev keyboard-setup.sh checkroot.sh cryptdisks-early cryptdisks checkfs.sh udev: mountkernfs.sh mountdevsubfs.sh: udev @@ -9,23 +9,23 @@ hostname.sh: bootlogd checkroot.sh: hostname.sh keyboard-setup.sh cryptdisks-early: checkroot.sh udev cryptdisks: cryptdisks-early lvm2 -networking: mountkernfs.sh mountall.sh mountall-bootclean.sh urandom procps mountnfs.sh: mountall.sh mountall-bootclean.sh networking mountnfs-bootclean.sh: mountall.sh mountall-bootclean.sh mountnfs.sh -mountall.sh: checkfs.sh checkroot-bootclean.sh +mountall.sh: lvm2 checkfs.sh checkroot-bootclean.sh mountall-bootclean.sh: mountall.sh +brightness: mountall.sh mountall-bootclean.sh +networking: mountkernfs.sh mountall.sh mountall-bootclean.sh urandom procps lvm2: cryptdisks-early bootlogd +checkfs.sh: checkroot.sh cryptdis
Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
On Wed, 6 Oct 2021, Thorsten Glaser wrote: > So I can verify this behaviour in an otherwise clean chroot. And https://mops.tarent.de/.tmp/base.cow-bullseye-amd64.tar.xz is the chroot, just in case it is something about that as well. bye, //mirabilos -- Infrastrukturexperte • tarent solutions GmbH Am Dickobskreuz 10, D-53121 Bonn • http://www.tarent.de/ Telephon +49 228 54881-393 • Fax: +49 228 54881-235 HRB AG Bonn 5168 • USt-ID (VAT): DE122264941 Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg /⁀\ The UTF-8 Ribbon ╲ ╱ Campaign against Mit dem tarent-Newsletter nichts mehr verpassen: ╳ HTML eMail! Also, https://www.tarent.de/newsletter ╱ ╲ header encryption!
Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel
On Wed, 6 Oct 2021, Ian Jackson wrote: > Thorsten, can you provide a formal Steps To Reproduce that start with > something like "in a chroot", and which you have verified ? Ie, > something that you think would allow me (say) to reproduce it in a way > that has minimal dependencies on our respective normal environments ? Right, I just did that and was just going to post this when your mail came ;) I’ve got a cowbuilder chroot with bullseye/amd64 and have just updated it to get the latest updates installed. Then I did cowbuilder --login, waited until the chroot is there, and copied the etc-stripped.tgz from the previous eMail into its /tmp. Then follows: (pbuild11683-bullseye/amd64)root@tglase:/tmp# tar xaf etc-stripped.tgz (pbuild11683-bullseye/amd64)root@tglase:/tmp# cp -a etc-stripped etc-stripped1 (pbuild11683-bullseye/amd64)root@tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d (pbuild11683-bullseye/amd64)root@tglase:/tmp# cp -a etc-stripped etc-stripped2 (pbuild11683-bullseye/amd64)root@tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d (pbuild11683-bullseye/amd64)root@tglase:/tmp# cp -a etc-stripped etc-stripped3 (pbuild11683-bullseye/amd64)root@tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d (pbuild11683-bullseye/amd64)root@tglase:/tmp# cp -a etc-stripped etc-stripped4 I did the verification outside of the chroot: tglase@tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{1,3} tglase@tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{2,4} tglase@tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{1,2} {etc-stripped1 => etc-stripped2}/init.d/.depend.stop | 12 ++-- etc-stripped1/rc0.d/K02avahi-daemon => etc-stripped2/rc0.d/K01avahi-daemon | 0 etc-stripped1/rc1.d/K02avahi-daemon => etc-stripped2/rc1.d/K01avahi-daemon | 0 etc-stripped1/rc6.d/K02avahi-daemon => etc-stripped2/rc6.d/K01avahi-daemon | 0 4 files changed, 6 insertions(+), 6 deletions(-) 1|tglase@tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{2,3} {etc-stripped2 => etc-stripped3}/init.d/.depend.stop | 12 ++-- etc-stripped2/rc0.d/K01avahi-daemon => etc-stripped3/rc0.d/K02avahi-daemon | 0 etc-stripped2/rc1.d/K01avahi-daemon => etc-stripped3/rc1.d/K02avahi-daemon | 0 etc-stripped2/rc6.d/K01avahi-daemon => etc-stripped3/rc6.d/K02avahi-daemon | 0 4 files changed, 6 insertions(+), 6 deletions(-) You’ll need this alias first: alias cdiff='git diff --color=always --no-index --no-prefix' So I can verify this behaviour in an otherwise clean chroot. (pbuild11683-bullseye/amd64)root@tglase:/tmp# dpkg -l | cut -c 1-72 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Tri |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture +++-=--- ii adduser 3.118all ii apt 2.2.4amd64 ii base-files11.1 amd64 ii base-passwd 3.5.51 amd64 ii bash 5.1-2+b3 amd64 ii binutils 2.35.2-2 amd64 ii binutils-common:amd64 2.35.2-2 amd64 ii binutils-x86-64-linux-gnu 2.35.2-2 amd64 ii bsdutils 1:2.36.1-8 amd64 ii build-essential 12.9 amd64 ii bzip2 1.0.8-4 amd64 ii coreutils 8.32-4+b1amd64 ii cowbuilder0.89 amd64 ii cowdancer 0.89 amd64 ii cpp 4:10.2.1-1 amd64 ii cpp-1010.2.1-6 amd64 ii cpp-8 8.4.0-6 amd64 ii dash 0.5.11+git20200708+dd9ef66-5 amd64 ii debconf 1.5.77 all ii debian-archive-keyring2021.1.1 all ii debianutils 4.11.2 amd64 ii debootstrap 1.0.123 all ii diffutils 1:3.7-5 amd64 ii dirmngr 2.2.27-2 amd64 ii dpkg 1.20.9 amd64 ii dpkg-dev 1.20.9 all ii e2fslibs:amd641.45.6-1 amd64 ii e2fsprogs 1.46.2-2 amd64 ii eatmydata 105-9all ii fakeroot 1.25.3-1.1