Package: base-passwd,base-files,debian-policy

Debian policy section 3.8 says:

| Essential is defined as the minimal set of functionality that must be
| available and usable on the system at all times, even when packages
| are in the “Unpacked” state.

When unpacking (but not configuring) a buster or unstable essential
package set, nothing creates /etc/passwd. Creation of that file is
performed by base-passwd.postinst. base-files.postinst relies on a
working /etc/passwd by using e.g. "chown root:root".

Now we can make a choice:
A. /etc/passwd is part of base-passwd's interface and base-files is
   right in relying on it working at all times. Then base-passwd is rc
   buggy for violating a policy must. Fixing this violation is
   technically impossible.
B. /etc/passwd is not part of base-passwd's interface and base-files
   wrongly relies on its presence rendering base-files rc buggy.
C. Guillem Jover hinted that policy expects every essential package to
   be configured at least once. The current text does not make this
   assumption clear. If it holds, policy would simply say nothing about
   how to bootstrap an essential system, which may be fine. Given that
   we have debootstrap, cdebootstrap, multistrap, and mmdebstrap, it
   seems like specifying the bootstrap interface would be a good idea.
   Unfortunately, I don't exactly understand the bootstrap interface at
   present. In practise, you cannot run postinsts of essential packages
   in arbitrary order.

I argue that something is buggy. I'm not sure what. I gave three
options. Can we gather consensus on one of these?

Helmut

Reply via email to