Bug 840779 - We don't need fakechroot in RHEL 7
We don't need fakechroot in RHEL 7
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: releng (Show other bugs)
7.1
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Daniel Mach
Release Test Team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-17 04:04 EDT by Richard W.M. Jones
Modified: 2014-06-13 08:08 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-13 08:08:53 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Richard W.M. Jones 2012-07-17 04:04:46 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.
Comment 1 Bill Nottingham 2012-07-17 12:01:59 EDT
Is this a workitem for yourself, or should we push this to releng to block the package?
Comment 2 Richard W.M. Jones 2012-07-17 13:12:14 EDT
fakechroot and fakeroot ought not to be in RHEL 7 afaik.  I don't
know who has to do this.
Comment 3 Bill Nottingham 2012-07-17 13:37:59 EDT
fakechroot is a build requirement of rpm.

fakeroot is a requirement of rpmdevtools, and a build requirement of ttf2pt1.
Comment 4 Richard W.M. Jones 2012-07-17 14:46:09 EDT
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
  shift
  cd "$TMPDIR"
  export RPM_BUILD_ROOT="$TMPDIR"
  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.
Comment 5 Richard W.M. Jones 2012-07-17 14:48:18 EDT
... and ttf2pt1 doesn't appear to contain any file that
matches /fake.*root/.
Comment 6 Richard W.M. Jones 2012-07-17 14:50:18 EDT
(In reply to comment #5)
> ... and ttf2pt1 doesn't appear to contain any file that
> matches /fake.*root/.

Oh I see, this is horrible:

%install
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 ...
Comment 8 Bill Nottingham 2013-06-19 10:21:58 EDT
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?
Comment 9 Panu Matilainen 2013-06-19 10:57:06 EDT
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 :)
Comment 10 Richard W.M. Jones 2013-06-19 11:02:31 EDT
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?
Comment 11 Richard W.M. Jones 2013-06-19 11:04:00 EDT
(5) Add it as a separate Source to the rpm.spec, just built
and used for running the test suite.
Comment 12 Florian Festi 2013-08-02 08:39:07 EDT
Disabled the rpm test suite. We no longer need it.
Comment 13 Daniel Mach 2013-08-07 04:17:38 EDT
fakechroot dropped
Comment 16 Ludek Smid 2014-06-13 08:08:53 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.