Red Hat Bugzilla – Bug 840779
We don't need fakechroot in RHEL 7
Last modified: 2014-06-13 08:08:53 EDT
Description of problem:
A long time ago, fakechroot was a dependency of febootstrap.
That isn't (or shouldn't) be the case any more.
Please drop this package.
Is this a workitem for yourself, or should we push this to releng to block the package?
fakechroot and fakeroot ought not to be in RHEL 7 afaik. I don't
know who has to do this.
fakechroot is a build requirement of rpm.
fakeroot is a requirement of rpmdevtools, and a build requirement of ttf2pt1.
I checked into why these tools are required.
rpm seems to require fakechroot to run its tests. I'm more than
happy if the rpm guys want to maintain fakechroot.
rpmdevtools requires fakeroot because of a program called 'rpmpeek'
which I'd never heard of before:
"rpmpeek unpacks RPM contents into a temporary directory and executes a
command under that directory. The directory is purged upon exit."
fakeroot is used like this:
rpm2cpio "$1" |(cd "$TMPDIR"; fakeroot -s .fakedata -- \
cpio -idmu --quiet --no-absolute-filenames) || exit 2
fakeroot -i .fakedata -- "$@"
This is a dubious thing to be doing at best. I know from bitter
experience that you cannot safely use fakeroot/fakechroot as
an alternative to proper isolation of the sort provided by LXC/virt.
My suggestion for rpmdevtools is that we remove rpmpeek and the
dependency on fakeroot.
... and ttf2pt1 doesn't appear to contain any file that
(In reply to comment #5)
> ... and ttf2pt1 doesn't appear to contain any file that
> matches /fake.*root/.
Oh I see, this is horrible:
rm -rf %buildroot
# The installation does explicit chown to root and chgrp to bin.
# Use fakeroot to avoid getting errors in the build. RPM will
# make sure the ownership is correct in the final package.
fakeroot make DESTDIR=%buildroot INSTDIR=%_prefix TXTFILES= MANDIR=%_mandir VERSION=%version install
Upstream build system bug ...
Moving to rpm, for the fakechroot dependency. Panu, are you willing to either 1) change the rpm tests to not use fakechroot 2) maintain it?
Ouch. The rpm testsuite is built around fakechroot, changing it all to some-currently-unknown-alternative-solution is ... well, not going to happen just like that.
So the only real alternatives are
1) Stop running the test-suite in builds
2) Volunteer to maintain fakechroot
Lets just say neither is particularly attractive :)
Other ones include:
(3) Include the parts of fakechroot that you need in the
sources of rpm.
(4) If rpm just needs the chroot(2) syscall not to fail (but doesn't
depend on any other side-effects of it), then perhaps a trivial
LD_PRELOAD wrapper could be used instead?
(5) Add it as a separate Source to the rpm.spec, just built
and used for running the test suite.
Disabled the rpm test suite. We no longer need it.
This request was resolved in Red Hat Enterprise Linux 7.0.
Contact your manager or support representative in case you have further questions about the request.