Bug#930684: pbuilder: creation of build env fails when run inside Docker container
Am Dienstag, 18. Juni 2019, 21:10:53 CEST schrieb Thorsten Glaser:
> Tobias Junghans dixit:
> >I tried to upgrade my Docker-based pbuilder containers from stretch to
>
> Erm… why do you use chroots inside of chroots? That’s… tricky.
Simple because we use Gitlab Runners with the builtin Docker Executor
(https://docs.gitlab.com/runner/executors/docker.html) for running all kinds
of jobs in a generic manner. Depending on the project individual pre-built
Docker images (specified in the CI config) providing the desired build tools
and toolchains are used. The jobs for building Debian packages use a Docker
container with Debian and pbuilder installed.
This used to work for years but for Buster-based containers (i.e. pbuilder and
debootstrap from Buster) it doesn't any longer.
> >mount: failed to read mtab: No such file or directory
>
> This might be a container issue.
The mounts are fine before running pbuilder/debootstrap. Afterwards proc is
not mounted even in the Docker container. The state of the container and its
mounts shouldn't change when running debootstrap. I also saw Docker/container-
related changes between 1.0.89 (stretch) and buster (1.0.114) which likely
cause the misbehaviour:
https://salsa.debian.org/installer-team/debootstrap/commit/
5a0f16664066b24c42c074643a4ca178890d7af7
https://salsa.debian.org/installer-team/debootstrap/commit/
0962af1527a1ba0e996a0b442b159b4dbf164988
https://salsa.debian.org/installer-team/debootstrap/commit/
1e7549c57c0f15816c89c4f243051785ca383be9
> >mount: /proc: mount(2) system call failed: Too many levels of symbolic
> >links.
> Check if /proc outside of pbuilder but inside the container is right.
/proc in the container is fine, see first output of "cat /proc/mounts
" in by original bug report.
> But with {cow|p}builder --login --save-after-login you can
> upgrade the base to buster inside pbuilder.
It's not about the pbuilder environment itself but the Docker container used
for invoking pbuilder/debootstrap. Using a stretch-based Docker container and
debootstrapping Buster works fine.
Thanks and best regards
Tobias
Reply to: