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

Bug#1058994: debian-installer: fakeroot is pseudo-required



Hi Cyril,

thanks a lot for the speedy reply!

* Cyril Brulebois <kibi@debian.org> [2025-08-29 10:57]:
Jochen Sprickerhof <jspricke@debian.org> (2025-08-29):
I have opened a MR to make fakeroot a requirement:

https://salsa.debian.org/installer-team/debian-installer/-/merge_requests/68

Those happened earlier:
- d495f01afe467d054f6fd93dffc8cc22d00d106d

Ha, missed that one while rebasing my commit :).

- 5f8888f0dfa11fdd577aee209a935161aa3663ff

Oh, thanks for cleaning up after my change :).

I'm happy to have a comment around the fakeroot package in Build-Depends but
let's avoid duplicates? :-)

Agreed and updated the MR.

* Cyril Brulebois <kibi@debian.org> [2025-08-29 11:31]:
Roland Clobus <rclobus@rclobus.nl> (2025-08-29):
I'm wondering whether the fakeroot package is actually required.
As I wrote in the initial text, I did not need to have fakeroot available,
and could prevent calls to fakeroot by setting the environment variable
ROOTCMD to a space (as an empty value would still set it to 'fakeroot').

As I understand it, invoking 'chroot' requires being root (it is in
/usr/sbin), so within the chroot-environment one is already root and
therefore does not need fakeroot on top.
But there might be some scenarios, that I'm unaware of, that invoke the
scripts of the installer differently and therefore the package fakeroot is
indeed a requirement.

I'll let Jochen comment on that, who's apparently more familiar with
those things than I am. Speaking of which, the initial R³ addition
(which is modified by !68) happened by applying a suggestion from Niels.

build/Makefile used mknod which needs (real) root or fakeroot (that tracks the faked device files). So when Niels tested setting R³ src:debian-installer did not depend on fakeroot and the package FTBFSed. The simple solution was to set R³ to binary-targets so dpkg-buildpackage runs with fakeroot. But actually only build/Makefile needs it so we can drop the binary-targets again.

I recommend using my patch from the RT ticket to not run the daily builds with real root, btw.

I'm also wondering whether !68 is still required, given that fakeroot
has been added as a dependency about 2 weeks ago. Is the MR based on
work that started earlier?

If you look at timestamps, you'll see there are just a few hours between
my commits and Jochen's, so presumably some work was being staged.

Yes it is required as currently R³ being binary-targets triggers a special setup in debrebuild to work around the missing fakeroot in the buildinfo files. That setup makes build/Makefile not execute fakeroot and the mknod and build fails. It is also no longer needed to set R³ as the build works without \o/.

Cheers Jochen

Attachment: signature.asc
Description: PGP signature


Reply to: