Re: [INFO] debhelper: support DPKG_ROOT in autoscripts
This is about policy-rc.d vs DPKG_ROOT,
for context: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23983566
[ continuing here as suggested by Helmut ]
On Mon, 23 Aug 2021 12:39:59 +0200
Helmut Grohne <email@example.com> wrote:
> Hi Lorenzo,
> On Sat, Aug 21, 2021 at 10:30:21PM +0200, lorenzo wrote:
> > is this going to replace the old 'policy-rc.d' hack, or it's
> > a tool with different purpose?
> No. policy-rc.d needs to work regardless. The purpose of DPKG_ROOT is
> being able to use one Debian installation to operate (install/remove
> packages) on another.
Ah, I hoped that setting DPKG_ROOT=/ from inside a chroot would have
worked as a replacement for policy-rc.d, but from your reply it seems
that it's not the case
> > Although I suspect that the common use case will be with systemd,
> > I want to add this to runit snippets and I wonder if this is a
> > replacement for the policy-rc.d hack or if I need to keep both..
> The DPKG_ROOT feature is fully independent of the init system.
> I admit not having thought about possible feature duplication with
> policy-rc.d. The line of reasoning was roughly this:
> When DPKG_ROOT is non-empty, we know that there are (at least) two
> Debian installations an "outer" one (whose dpkg binary we are using)
> and an "inner" one that we operate on (and where DPKG_ROOT points to
> from the outer one). Therefore, we know that no services are running
> inside and can skip these things. Attempting to run them would
> operate on the "outer" system anyway, so that's certainly not what we
> In retrospect, this kinda is duplicating policy-rc.d and possibly, we
> should remove the added DPKG_ROOT emptiness condition in favour of
> using policy-rc.d. However, that is not trivial either. When running
> policy-rc.d, we will get the "outer" one, but we'd want the "inner"
> one. So in order to make this work via policy-rc.d, we'd have to
> prefix any policy-rc.d invocation with DPKG_ROOT.
> Do you have any thoughts on this?
Mmm, not sure I got exactly how this dpkg mode works but if you need to
change policy-rc.d path based on DPKG_ROOT than it's probably more
convenient to use DPKG_ROOT as you are already doing
> Can we move this to some public mailing list? I think
> firstname.lastname@example.org would do.