Fakeroot for ports new round

Baptiste Daroussin baptiste.daroussin at gmail.com
Sat Jul 17 22:29:47 UTC 2010


Hi all,

I just send a new fakeroot patch for the ports (uptodate).
Patch can be found here : ports/133815
the patch as begun as a port of the fakeroot implementation from
midnightbsd ports system.

What it does : basically it install everything in a fakeroot
repository creates a package respecting the plist and only then
installs it. currently adding USE_FAKE=yes in make.conf activates the
feature.

Some ports needs to be cleaned up to be able to works for example perl
fails when creating the manpage for perl-after-upgrade.1. But most of
them should just work

Benefits :
- currently porters have to do the *-install stuff twice one for the
ports, one for the package.
- some ports already uses fakes dir it would simplify them (firefox)
- no more hacks to respects NOPORTSDOC NOPORTSDATA etc.
- better QA : bad plist would be easily detected, no more crufts for end users
- more focus on packages for QA for examples we could write tools to
analyse them to be sure it respects the rules
- better security : we could imagine to not allow ports to access
anything that isn't in $WRKDIR like gentoo's sanbox or debian's
fakeroot.

disavantages:
- overhead files a installed once of the fakeroot then a package is
created and then installed.
the could be reduced by adding the ability to pkg_add to copy files
from a fakeroot respecting a plist like pkg_create does without
creating the packages (for people who doesn't want packages)
I think lot's of work can be done there to reduce the overhead.

for a recall every modern packages system uses a fakeroot like
features : openbsd's ports, pkgsrc, rpmbuilding, debian packaging

with this feature I sure porters would benefit cleaner Makefiles and
user would benefit better quality packages/ports.

I need help finishing the patch because I just can't test everything.
I also would like to get a clear statement on whether or should
continue working on this (ie is there a chance that this could be
accepted).

regards,
Bapt


More information about the freebsd-ports mailing list