Bug 840779

Summary: We don't need fakechroot in RHEL 7
Product: Red Hat Enterprise Linux 7 Reporter: Richard W.M. Jones <rjones>
Component: relengAssignee: Daniel Mach <dmach>
Status: CLOSED CURRENTRELEASE QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: ffesti, jstodola, leiwang, pmatilai, rjones, rvokal
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1600842 (view as bug list) Environment:
Last Closed: 2014-06-13 12:08:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1600842, 1601024    

Description Richard W.M. Jones 2012-07-17 08:04:46 UTC
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 16:01:59 UTC
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 17:12:14 UTC
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 17:37:59 UTC
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 18:46:09 UTC
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 18:48:18 UTC
... and ttf2pt1 doesn't appear to contain any file that
matches /fake.*root/.

Comment 6 Richard W.M. Jones 2012-07-17 18:50:18 UTC
(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 14:21:58 UTC
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 14:57:06 UTC
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 15:02:31 UTC
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 15:04:00 UTC
(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 12:39:07 UTC
Disabled the rpm test suite. We no longer need it.

Comment 13 Daniel Mach 2013-08-07 08:17:38 UTC
fakechroot dropped

Comment 16 Ludek Smid 2014-06-13 12:08:53 UTC
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.