Bug#989284: insserv: toggles rc0.d/{K02avahi-daemon => K01avahi-daemon} with every upgradel

Thorsten Glaser t.glaser at tarent.de
Wed Oct 6 18:43:33 BST 2021

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 at tglase:/tmp# tar xaf etc-stripped.tgz
(pbuild11683-bullseye/amd64)root at tglase:/tmp# cp -a etc-stripped etc-stripped1
(pbuild11683-bullseye/amd64)root at tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d
(pbuild11683-bullseye/amd64)root at tglase:/tmp# cp -a etc-stripped etc-stripped2
(pbuild11683-bullseye/amd64)root at tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d
(pbuild11683-bullseye/amd64)root at tglase:/tmp# cp -a etc-stripped etc-stripped3
(pbuild11683-bullseye/amd64)root at tglase:/tmp# insserv -p etc-stripped/init.d -i etc-stripped/init.d
(pbuild11683-bullseye/amd64)root at tglase:/tmp# cp -a etc-stripped etc-stripped4

I did the verification outside of the chroot:

tglase at tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{1,3}
tglase at tglase:...ar/cache/pbuilder/build/cow.11662/tmp $ cdiff --stat etc-stripped{2,4}
tglase at 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 at 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 at tglase:/tmp# dpkg -l | cut -c 1-72
| 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.118                        all
ii  apt                       2.2.4                        amd64
ii  base-files                11.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+b1                    amd64
ii  cowbuilder                0.89                         amd64
ii  cowdancer                 0.89                         amd64
ii  cpp                       4:10.2.1-1                   amd64
ii  cpp-10                    10.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-keyring    2021.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:amd64            1.45.6-1                     amd64
ii  e2fsprogs                 1.46.2-2                     amd64
ii  eatmydata                 105-9                        all
ii  fakeroot                  1.25.3-1.1                   amd64
ii  findutils                 4.8.0-1                      amd64
ii  g++                       4:10.2.1-1                   amd64
ii  g++-10                    10.2.1-6                     amd64
ii  gcc                       4:10.2.1-1                   amd64
ii  gcc-10                    10.2.1-6                     amd64
ii  gcc-10-base:amd64         10.2.1-6                     amd64
ii  gcc-8                     8.4.0-6                      amd64
ii  gcc-8-base:amd64          8.4.0-6                      amd64
ii  gcc-9-base:amd64          9.3.0-22                     amd64
ii  gnupg                     2.2.27-2                     all
ii  gnupg-l10n                2.2.27-2                     all
ii  gnupg-utils               2.2.27-2                     amd64
ii  gpg                       2.2.27-2                     amd64
ii  gpg-agent                 2.2.27-2                     amd64
ii  gpg-wks-client            2.2.27-2                     amd64
ii  gpg-wks-server            2.2.27-2                     amd64
ii  gpgconf                   2.2.27-2                     amd64
ii  gpgsm                     2.2.27-2                     amd64
ii  gpgv                      2.2.27-2                     amd64
ii  grep                      3.6-1                        amd64
ii  gzip                      1.10-4                       amd64
ii  hostname                  3.23                         amd64
ii  init                      1.60                         amd64
ii  init-system-helpers       1.60                         all
ii  initscripts               2.96-7                       all
ii  insserv                   1.21.0-1.1                   amd64
ii  libacl1:amd64             2.2.53-10                    amd64
ii  libapt-pkg6.0:amd64       2.2.4                        amd64
ii  libasan5:amd64            9.3.0-22                     amd64
ii  libasan6:amd64            10.2.1-6                     amd64
ii  libassuan0:amd64          2.5.3-7.1                    amd64
ii  libatomic1:amd64          10.2.1-6                     amd64
ii  libattr1:amd64            1:2.4.48-6                   amd64
ii  libaudit-common           1:3.0-2                      all
ii  libaudit1:amd64           1:3.0-2                      amd64
ii  libbinutils:amd64         2.35.2-2                     amd64
ii  libblkid1:amd64           2.36.1-8                     amd64
ii  libbz2-1.0:amd64          1.0.8-4                      amd64
ii  libc-bin                  2.31-13                      amd64
ii  libc-dev-bin              2.31-13                      amd64
ii  libc6:amd64               2.31-13                      amd64
ii  libc6-dev:amd64           2.31-13                      amd64
ii  libcap-ng0:amd64          0.7.9-2.2+b1                 amd64
ii  libcc1-0:amd64            10.2.1-6                     amd64
ii  libcom-err2:amd64         1.46.2-2                     amd64
ii  libcomerr2:amd64          1.45.6-1                     amd64
ii  libcrypt-dev:amd64        1:4.4.18-4                   amd64
ii  libcrypt1:amd64           1:4.4.18-4                   amd64
ii  libctf-nobfd0:amd64       2.35.2-2                     amd64
ii  libctf0:amd64             2.35.2-2                     amd64
ii  libdb5.3:amd64            5.3.28+dfsg1-0.8             amd64
ii  libdebconfclient0:amd64   0.260                        amd64
ii  libdpkg-perl              1.20.9                       all
ii  libeatmydata1:amd64       105-9                        amd64
ii  libext2fs2:amd64          1.46.2-2                     amd64
ii  libfakeroot:amd64         1.25.3-1.1                   amd64
ii  libffi7:amd64             3.3-6                        amd64
ii  libfile-fcntllock-perl    0.22-3+b7                    amd64
ii  libgcc-10-dev:amd64       10.2.1-6                     amd64
ii  libgcc-8-dev:amd64        8.4.0-6                      amd64
ii  libgcc-s1:amd64           10.2.1-6                     amd64
ii  libgcrypt20:amd64         1.8.7-6                      amd64
ii  libgdbm-compat4:amd64     1.19-2                       amd64
ii  libgdbm6:amd64            1.19-2                       amd64
ii  libgmp10:amd64            2:6.2.1+dfsg-1               amd64
ii  libgmpxx4ldbl:amd64       2:6.2.1+dfsg-1               amd64
ii  libgnutls30:amd64         3.7.1-5                      amd64
ii  libgomp1:amd64            10.2.1-6                     amd64
ii  libgpg-error0:amd64       1.38-2                       amd64
ii  libgssapi-krb5-2:amd64    1.18.3-6                     amd64
ii  libhogweed6:amd64         3.7.3-1                      amd64
ii  libidn11:amd64            1.33-3                       amd64
ii  libidn2-0:amd64           2.3.0-5                      amd64
ii  libisl23:amd64            0.23-1                       amd64
ii  libitm1:amd64             10.2.1-6                     amd64
ii  libk5crypto3:amd64        1.18.3-6                     amd64
ii  libkeyutils1:amd64        1.6.1-2                      amd64
ii  libkrb5-3:amd64           1.18.3-6                     amd64
ii  libkrb5support0:amd64     1.18.3-6                     amd64
ii  libksba8:amd64            1.5.0-3                      amd64
ii  libldap-2.4-2:amd64       2.4.57+dfsg-3                amd64
ii  libldap-common            2.4.57+dfsg-3                all
ii  liblocale-gettext-perl    1.07-4+b1                    amd64
ii  liblsan0:amd64            10.2.1-6                     amd64
ii  liblz4-1:amd64            1.9.3-2                      amd64
ii  liblzma5:amd64            5.2.5-2                      amd64
ii  libmount1:amd64           2.36.1-8                     amd64
ii  libmpc3:amd64             1.2.0-1                      amd64
ii  libmpfr6:amd64            4.1.0-3                      amd64
ii  libmpx2:amd64             8.4.0-6                      amd64
ii  libncursesw6:amd64        6.2+20201114-2               amd64
ii  libnettle8:amd64          3.7.3-1                      amd64
ii  libnpth0:amd64            1.6-3                        amd64
ii  libnsl-dev:amd64          1.3.0-2                      amd64
ii  libnsl2:amd64             1.3.0-2                      amd64
ii  libp11-kit0:amd64         0.23.22-1                    amd64
ii  libpam-modules:amd64      1.4.0-9                      amd64
ii  libpam-modules-bin        1.4.0-9                      amd64
ii  libpam-runtime            1.4.0-9                      all
ii  libpam0g:amd64            1.4.0-9                      amd64
ii  libpcre2-8-0:amd64        10.36-2                      amd64
ii  libpcre3:amd64            2:8.39-13                    amd64
ii  libperl5.32:amd64         5.32.1-4+deb11u1             amd64
ii  libpsl5:amd64             0.21.0-1.2                   amd64
ii  libquadmath0:amd64        10.2.1-6                     amd64
ii  libreadline8:amd64        8.1-1                        amd64
ii  libsasl2-2:amd64          2.1.27+dfsg-2.1              amd64
ii  libsasl2-modules-db:amd64 2.1.27+dfsg-2.1              amd64
ii  libseccomp2:amd64         2.5.1-1                      amd64
ii  libselinux1:amd64         3.1-3                        amd64
ii  libsemanage-common        3.1-1                        all
ii  libsemanage1:amd64        3.1-1+b2                     amd64
ii  libsepol1:amd64           3.1-1                        amd64
ii  libslang2:amd64           2.3.2-5                      amd64
ii  libsmartcols1:amd64       2.36.1-8                     amd64
ii  libsqlite3-0:amd64        3.34.1-3                     amd64
ii  libss2:amd64              1.46.2-2                     amd64
ii  libssl1.0.0:amd64         1.0.2d-1                     amd64
ii  libssl1.1:amd64           1.1.1k-1+deb11u1             amd64
ii  libstdc++-10-dev:amd64    10.2.1-6                     amd64
ii  libstdc++6:amd64          10.2.1-6                     amd64
ii  libsystemd0:amd64         247.3-6                      amd64
ii  libtasn1-6:amd64          4.16.0-2                     amd64
ii  libtext-charwidth-perl    0.04-10+b1                   amd64
ii  libtext-iconv-perl        1.7-7+b1                     amd64
ii  libtext-wrapi18n-perl     0.06-9                       all
ii  libtimedate-perl          2.3300-2                     all
ii  libtinfo6:amd64           6.2+20201114-2               amd64
ii  libtirpc-common           1.3.1-1                      all
ii  libtirpc-dev:amd64        1.3.1-1                      amd64
ii  libtirpc3:amd64           1.3.1-1                      amd64
ii  libtsan0:amd64            10.2.1-6                     amd64
ii  libubsan1:amd64           10.2.1-6                     amd64
ii  libudev1:amd64            247.3-6                      amd64
ii  libunistring2:amd64       0.9.10-4                     amd64
ii  libusb-0.1-4:amd64        2:0.1.12-32                  amd64
ii  libuuid1:amd64            2.36.1-8                     amd64
ii  libxxhash0:amd64          0.8.0-2                      amd64
ii  libzstd1:amd64            1.4.8+dfsg-2.1               amd64
ii  linux-libc-dev:amd64      5.10.46-5                    amd64
ii  login                     1:4.8.1-1                    amd64
ii  logsave                   1.46.2-2                     amd64
ii  lsb-base                  11.1.0                       all
ii  make                      4.3-4.1                      amd64
ii  mawk                         amd64
ii  mount                     2.36.1-8                     amd64
ii  multiarch-support         2.28-10                      amd64
ii  ncurses-base              6.2+20201114-2               all
ii  ncurses-bin               6.2+20201114-2               amd64
ii  passwd                    1:4.8.1-1                    amd64
ii  patch                     2.7.6-7                      amd64
ii  pbuilder                  0.231                        all
ii  perl                      5.32.1-4+deb11u1             amd64
ii  perl-base                 5.32.1-4+deb11u1             amd64
ii  perl-modules-5.32         5.32.1-4+deb11u1             all
ii  pinentry-curses           1.1.0-4                      amd64
ii  readline-common           8.1-1                        all
ii  sed                       4.7-1                        amd64
ii  sensible-utils            0.0.14                       all
ii  startpar                  0.64-3                       amd64
ii  sysv-rc                   2.96-7                       all
ii  sysvinit                  2.88dsf-59.2                 amd64
ii  sysvinit-core             2.96-7                       amd64
ii  sysvinit-utils            2.96-7                       amd64
ii  tar                       1.34+dfsg-1                  amd64
ii  tzdata                    2021a-1                      all
ii  util-linux                2.36.1-8                     amd64
ii  wget                      1.21-1+b1                    amd64
ii  xz-utils                  5.2.5-2                      amd64
ii  zlib1g:amd64              1:1.2.11.dfsg-2              amd64

Ahem, okay, so clean but not minimal, but cpp-8 shouldn’t be the
one to disturb this, and it’s certainly not installed on the main
system. (This chroot has been around for some time. This, perhaps
importantly, means it does not implement UsrMove.)

So this doesn’t really depend on the insserv configs I sent after
all, I guess?

(pbuild11683-bullseye/amd64)root at tglase:/tmp# find /etc/ins\* -ls
find: '/etc/ins*': No such file or directory

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!

More information about the Debian-init-diversity mailing list