Package: obs-build
Tags: upstream
X-Debbugs-Cc: unit...@debian.org

Hi,

obs-build has its own implementation of debootstrap in init_buildsystem.
Unlike other implementations, it does not ensure that packages from the
essential set have been configured before unpacking non-essential
packages. The Debian policy requires that essential packages have to
work at all times after having been configured at least once. Since
non-essential packages may assume presence of essential in their
Pre-Depends, essential packages must be configured before unpacking
non-essential packages. obs-build's implementation does not ensure this
property. We can see this in e.g.
https://build.opensuse.org/package/live_build_log/home:unit193/certbot-dns-porkbun/Debian_Testing/x86_64
where essential package bash is installed after non-essential package
python3-cffi-backend.

The current work on /usr-merge heavily relies on this property. One of
the next steps is adding the aliasing symlinks to base-files. If any
non-essential package with aliased files is installed before base-files,
the aliasing links will be lost and the created chroot will not work at
all. I think the property expected here is reasonable and the bug
resides with obs-build. In particular, it is a bug that also affects
upstream and the upstream deployment at build.opensuse.org.

Helmut

Reply via email to