Bug#994836: exim: dpkg fatal error due to Debian-exim in statoverride

Andrei POPESCU andreimpopescu at gmail.com
Tue Oct 19 10:14:55 BST 2021

Control: reassign -1 exim4

On Ma, 21 sep 21, 17:57:41, Wookey wrote:
> Package: exim
> Severity: important
> whilst trying to install build-deps for therion in an unstable chroot
> i.e
> apt source therion (6.0.2ds1-3 is downloaded)
> cd therion-6.0.2ds1
> sudo apt --no-install-recommends build-dep .
> I got (after downloading 887MB of stuff, (304MB, 270 packages)):
> debconf: delaying package configuration, since apt-utils is not installed
> dpkg: unrecoverable fatal error, aborting:
>  unknown system group 'Debian-exim' in statoverride file; the system group got removed
> before the override, which is most probably a packaging bug, to recover you
> can remove the override manually with dpkg-statoverride
> E: Sub-process /usr/bin/dpkg returned an error code (2)
> E: Failed to process build dependencies
> That's quite bad. Debian-exim is indeed mentionned in the override file.
> $ cat /var/lib/statoverride:
> root crontab 2755 /usr/bin/crontab
> root Debian-exim 640 /etc/exim4/passwd.client
> root messagebus 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
> these exim* packages are installed:
> $ dpkg -l | grep exim
> ii  exim4-base                           4.94-9+b1                      arm64        support files for all Exim MTA (v4) packages
> ii  exim4-config                         4.94-9                         all          configuration for the Exim MTA (v4)
> ii  exim4-daemon-light                   4.94-9+b1                      arm64        lightweight Exim MTA (v4) daemon
> The set of pakcages being changed is:
> The following packages were automatically installed and are no longer required:
>   libdav1d4 libwavpack1
> Use 'sudo apt autoremove' to remove them.
> The following packages will be REMOVED:
>   libavresample4
> The following NEW packages will be installed:
>   ca-certificates-java catch2 default-jdk default-jdk-headless default-jre default-jre-headless default-libmysqlclient-dev
>   faketime fonts-urw-base35 gcc-11-base gdal-data gfortran-10 ghostscript ibverbs-providers imagemagick imagemagick-6-common
>   imagemagick-6.q16 java-common libaom-dev libarmadillo-dev libarmadillo10 libarpack2 libarpack2-dev libavcodec-dev
>   libavformat-dev libavutil-dev libblas-dev libboost-dev libboost1.74-dev libbrotli-dev libcfitsio-dev libcfitsio9 libdap-dev
>   libdap27 libdapclient6v5 libdapserver7v5 libdav1d-dev libdav1d5 libde265-0 libde265-dev libdeflate-dev libdeflate0
>   libegl-dev libeigen3-dev libevdev2 libevent-core-2.1-7 libevent-dev libevent-extra-2.1-7 libevent-openssl-2.1-7
>   libevent-pthreads-2.1-7 libfabric1 libfaketime libfmt-dev libfmt7 libfontconfig-dev libfontconfig1-dev libfreetype-dev
>   libfreetype6-dev libfreexl-dev libfreexl1 libfyba-dev libfyba0 libgdal-dev libgdal29 libgeos-3.9.1 libgeos-c1v5 libgeos-dev
>   libgeotiff-dev libgeotiff5 libgfortran-10-dev libgif-dev libgif7 libgl-dev libgl1-mesa-dev libgl2ps-dev libgl2ps1.4
>   libgles-dev libgles1 libgles2 libglew-dev libglew2.1 libglu1-mesa libglu1-mesa-dev libglvnd-core-dev libglvnd-dev
>   libglx-dev libgs9 libgs9-common libgudev-1.0-0 libhdf4-0-alt libhdf4-alt-dev libhdf5-mpi-dev libhdf5-openmpi-103-1
>   libhdf5-openmpi-cpp-103-1 libhdf5-openmpi-dev libhdf5-openmpi-fortran-102 libhdf5-openmpi-hl-100 libhdf5-openmpi-hl-cpp-100
>   libhdf5-openmpi-hl-fortran-100 libheif-dev libheif1 libhwloc-dev libhwloc-plugins libhwloc15 libibverbs-dev libibverbs1
>   libice-dev libidn12 libijs-0.35 libinput-bin libinput10 libjbig2dec0 libjs-jquery libjs-jquery-ui libjson-c-dev
>   libjsoncpp-dev libjsoncpp24 libkml-dev libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1
>   libkpathsea6 liblapack-dev liblqr-1-0 liblz4-dev libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmariadb-dev
>   libmariadb-dev-compat libmd4c0 libminizip-dev libminizip1 libmtdev1 libnetcdf-c++4 libnetcdf-cxx-legacy-dev libnl-3-200
>   libnl-3-dev libnl-route-3-200 libnl-route-3-dev libnotify4 libnspr4 libnss3 libnuma-dev libodbc1 libogdi-dev libogdi4.1
>   libogg-dev libopengl-dev libopengl0 libopenjp2-7-dev libopenmpi-dev libopenmpi3 libpaper-utils libpaper1 libpciaccess0
>   libpcre16-3 libpcre2-16-0 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpcsclite1 libpmix-dev libpmix2 libpoppler-dev
>   libpoppler-private-dev libpoppler102 libpq-dev libpq5 libproj-dev libproj19 libptexenc1 libpthread-stubs0-dev libqhull-dev
>   libqhull-r8.0 libqhull8.0 libqhullcpp8.0 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5widgets5 librdmacm1
>   librttopo-dev librttopo1 libshp-dev libshp2 libsm-dev libspatialite-dev libspatialite7 libsqlite3-dev libsqlite3-tcl
>   libsrt1.4-gnutls libsuperlu-dev libsuperlu5 libswresample-dev libswscale-dev libsynctex2 libtbb-dev libtbb2 libtcl8.6
>   libteckit0 libtexlua53 libtheora-dev libtk8.6 libucx0 liburiparser-dev liburiparser1 libutfcpp-dev libvtk9 libvtk9-dev
>   libvtk9-java libvtk9-qt libwacom-common libwacom2 libwebp-dev libwebpdemux2 libwxbase3.0-0v5 libwxbase3.0-dev
>   libwxgtk3.0-gtk3-0v5 libwxgtk3.0-gtk3-dev libx11-dev libx265-dev libxau-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1
>   libxcb-randr0 libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb1-dev libxdmcp-dev
>   libxerces-c-dev libxerces-c3.2 libxext-dev libxft-dev libxkbcommon-x11-0 libxnvctrl0 libxrender-dev libxss-dev libxt-dev
>   libzimg2 libzstd-dev libzzip-0-13 mpi-default-bin mpi-default-dev ninja-build odbcinst odbcinst1debian2 openjdk-11-jdk
>   openjdk-11-jdk-headless openjdk-11-jre openjdk-11-jre-headless openmpi-bin openmpi-common pkg-config poppler-data proj-data
>   python3-mpi4py python3-vtk9 rpcsvc-proto survex tcl tcl-dev tcl8.6 tcl8.6-dev tex-common texlive-base texlive-binaries
>   texlive-metapost tk tk-dev tk8.6 tk8.6-dev unixodbc-dev vtk9 wx-common wx3.0-headers x11proto-dev xorg-sgml-doctools
>   xtrans-dev
> The following packages will be upgraded:
>   binutils binutils-aarch64-linux-gnu binutils-common cpp-10 ffmpeg g++-10 gcc-10 gcc-10-base libaec-dev libaec0 libasan6
>   libatomic1 libavcodec58 libavdevice58 libavfilter7 libavformat58 libavutil56 libbinutils libblas3 libc-bin libc-dev-bin
>   libc6 libc6-dev libcc1-0 libctf-nobfd0 libctf0 libegl1 libgcc-10-dev libgcc-s1 libgfortran5 libgl1 libglib2.0-0 libglvnd0
>   libglx0 libgnutls-dane0 libgnutls30 libgomp1 libitm1 libjson-c5 liblapack3 liblsan0 liblz4-1 libmariadb3 libnettle8
>   libnuma1 libogg0 libopenjp2-7 libpostproc55 librubberband2 libsqlite3-0 libstdc++-10-dev libstdc++6 libswresample3
>   libswscale5 libsz2 libtsan0 libubsan1 libvpx6 libwebp6 libwebpmux3 libx11-6 libx11-xcb1 libxau6 libxcb1 libxext6 libzstd1
> 66 upgraded, 286 newly installed, 1 to remove and 499 not upgraded.
> Need to get 512 MB of archives.
> After this operation, 887 MB of additional disk space will be used.
> exim is not mentioned in that list.
> Turns out that the install list doesn't matter. any use of dpkg will hit this statoverride issue.
> /etc/exim4/passwd.client does exist but is owned by an unknown group.
> $ll /etc/exim4/passwd.client
> -rw-r----- 1 root 132 204 Nov  4  2020 /etc/exim4/passwd.client
> And groupno 132 is not used in /etc/group:
> ...
> ssl-cert:x:129:
> avahi-autoipd:x:130:
> nm-openvpn:x:131:
> apt-cacher-ng:x:145:
> sbuild:x:149:wookey01,wookey
> ...
> So it does indeed look like the Debian-exim group was removed, but at least one file owned by it, and the statoverride remain.
> Is that expected? - I presume not.
> /var/lib/dpkg/info/exim4-base.postinst looks like it creates a Debian-exim user still (although not obviously the group?)
> $ sudo ls -ld /var/spool/exim4:
> drwxr-x--- 5 130 132 4096 Dec  9  2020 /var/spool/exim4
> so the Debian-exim user is gone too.
> $ cat /etc/passwd
> ...
> nm-openvpn:x:128:131:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
> hplip:x:129:7:HPLIP system user,,,:/var/run/hplip:/bin/false
> apt-cacher-ng:x:132:145::/var/cache/apt-cacher-ng:/usr/sbin/nologin
> sbuild:x:133:149:Debian source builder,,,:/var/lib/sbuild:/bin/bash
> ...
> I grepped for mentions of Debian-exim in /var/dpkg/info and only found it in exim scripts, so not clear what might have removed it:
> $ grep Debian-exim /var/lib/dpkg/info/*
> /var/lib/dpkg/info/exim4-base.postinst
> /var/lib/dpkg/info/exim4-config.postinst
> /var/lib/dpkg/info/exim4-config.postrm
> Anything else I should check?
> --
> Wookey

Reassigning to correct package.

Kind regards,
Looking after bugs assigned to unknown or inexistent packages
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-exim4-maintainers/attachments/20211019/974e124e/attachment.sig>

More information about the Pkg-exim4-maintainers mailing list