[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sbuild on hurd-amd64...



Johannes Schauer Marin Rodrigues, le sam. 06 sept. 2025 03:08:50 +0200, a ecrit:
> > > Also, can we tell mmdebstrap to use the normal chroot instead of
> > > fakechroot? chroot() is not a privileged operation in the Hurd.
> > Oh, I wasn't aware of that!
> 
> Yes. If you have privileges to chroot(), you can just use --mode=root.

But currently none of the expected ways work as non-root:

$ mmdebstrap --mode=root --variant=required --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg '' foo.tar.gz 'deb http://deb.debian.org/debian-ports unreleased main' 'deb http://deb.debian.org/debian-ports/ unstable main'
E: need to be root

with additionnal fakeroot-hurd:
$ fakeroot-hurd mmdebstrap --mode=root --variant=required --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg '' foo.tar.gz 'deb http://deb.debian.org/debian-ports unreleased main' 'deb http://deb.debian.org/debian-ports/ unstable main' 
Undefined subroutine &main::SYS_capget called at /usr/bin/mmdebstrap line 6081.
/bin/fakeauth: Error 255 for child 23498
/bin/settrans: Error 255 for child 23497


$ mmdebstrap --mode=fakeroot --variant=required --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg '' foo.tar.gz 'deb http://deb.debian.org/debian-ports unreleased main' 'deb http://deb.debian.org/debian-ports/ unstable main' 
E: need working fakechroot binary

on GNU/Hurd it should be using chroot instead of using the fragile
fakechroot. I had tried to create a hurdish fakechroot that just calls
chroot(), but apparently mmdebstrap is expecting various fakechroot
environment variables, I didn't easily manage to find out what.

Samuel


Reply to: