Date: Tue, 1 Sep 2009 13:15:57 +0000 From: Baptiste Daroussin <baptiste.daroussin@gmail.com> To: freebsd-ports@freebsd.org Subject: Re: Open discution for a fakeroot support for the ports infrastructure Message-ID: <ed7b1c610909010615t124d9041m257472676eb57e8a@mail.gmail.com> In-Reply-To: <20090901080224.GA1017@straylight.m.ringlet.net> References: <ed7b1c610908311426x55e1df55va24a641183ca1a6c@mail.gmail.com> <20090901080224.GA1017@straylight.m.ringlet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Fucking gmail, I replyed in private instead of the list so here is the reply, sorry > That's actually a good idea. I'm quite used to fakeroot already from > some work I've been doing in Debian. > > Currently the fakeroot is not something like the debian fakeroot, ie it is just a directory that is considered a the a root directory (a destdir for example). But in future a program like debian's fakeroot could be considered. > > Just one comment: there are some ports, and not quite so few, either, > which override the do-install target to do some maintenance of their own. > A trivial run of > > find . -mindepth 3 -maxdepth 3 -name Makefile -type f -print0 | > xargs -0 fgrep do-install > > ...from /usr/ports gives just about 6000 results here, and most of them > are, > indeed, real cases of port Makefiles doing the install thing for > themselves. > This is done either for very, very simple programs where it would be > unnecessary overhead to recurse into the upstream's Makefile and run > its "install" target, or for programs where the upstream doesn't even > *have* an "install" target, or for programs where there is, quite simply, > no upstream - like devel/portilnt :) > > So the fakeroot implementation should take that into account, too - > and that could be a problem, since most of the do-install targets > actually do install their files directly into ${PREFIX}. > > This could actually be easier if DESTDIR were implemented first :) > > When a ports override do-install pre-install and post-install, bsd.fake.mkmanage it transparently (ie no modification) if the ports uses ${LOCALBASE} or other variables like this one because during the do-install LOCALBASE is override by ${FAKEDIR}${LOCALBASE} and it already works. the main goal I had in mind when writting the patch is that it should works with the current ports without any modification in them. It is currently not perfect but all the ports I tested works as-is, there are for sure some bugs with some ports but if they are written well bsd.fake.mk should be able to be corrected to handle them correctly. > G'luck, > Peter > > -- > Peter Pentchev roam@ringlet.net roam@space.bg roam@FreeBSD.org > PGP key: http://people.FreeBSD.org/~roam/roam.key.asc<http://people.freebsd.org/%7Eroam/roam.key.asc> > Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 > This inert sentence is my body, but my soul is alive, dancing in the sparks > of your brain. > Bapt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ed7b1c610909010615t124d9041m257472676eb57e8a>