Bug#1056213: {sysvinit-core, initscripts}.postinst: please support DPKG_ROOT
Johannes Schauer Marin Rodrigues
josch at debian.org
Sun Nov 19 05:59:04 GMT 2023
Source: sysvinit
Severity: normal
Tags: patch
User: debian-dpkg at lists.debian.org
Usertags: dpkg-root-support
Hi,
when creating chroots for architectures that are in the process of being
bootstrapped without yet having emulation support, it is not possible to run
maintainer scripts inside the foreign architecture chroot as the tools they
call cannot be executed. The solution to that problem is to run maintainer
scripts from the chroot directory without doing a chroot call first and instead
use the $DPKG_ROOT environment variable to communicate the location of the
chroot directory that the tools called by the maintainer script should operate
on. By default, for normal installations, that environment variable is set, but
empty. For more information see:
https://wiki.debian.org/Teams/Dpkg/Spec/InstallBootstrap
Support for this mode was already added to all packages in the essential set,
apt, systemd-sysv as well as build-essential. I'm now trying to add
support to the packages required to set up a system using sysv-init.
Having support DPKG_ROOT support for another init system than systemd is
useful to create chroots for architectures or kernels (like GNU Hurd)
that do not have systemd support.
I put my patch in this MR:
https://salsa.debian.org/debian/sysvinit/-/merge_requests/11
We tested it in our CI environment and it produces a bit-by-bit
identical chroot with DPKG_ROOT compared to a normal installation.
https://salsa.debian.org/helmutg/dpkg-root-demo/
Since the DPKG_ROOT variable is empty on normal installations, the patch
should have no effect in the normal case.
Thanks!
cheers, josch
More information about the Debian-init-diversity
mailing list