From owner-freebsd-ports@FreeBSD.ORG Thu Sep 3 13:59:31 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCAE41065692 for ; Thu, 3 Sep 2009 13:59:31 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id 4EFAD8FC1E for ; Thu, 3 Sep 2009 13:59:30 +0000 (UTC) Received: by fxm6 with SMTP id 6so1551213fxm.43 for ; Thu, 03 Sep 2009 06:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=xiAxTSDwKg7EzUTx+gPtWIsn7cSaTOjiKBCgR4VqNiI=; b=ah97WNl8MMWf2LrMpBvqdGOmtK+J4vVCZle6E+vCG7YThQYyPtV4h5VjH3+4Tx+dK5 lWYGK/QY8vWOilVdluKNtOZZE1mZcTcP521VwgXtSrlYXdX80b20zwi5mTp+cpEqqw5T I6qbd6p+f2CW20bBkQedM0O7G/3bCBs0ZZe5o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=JU5OB+Suaiaje/g/i4yE5bxXGUyOa4oye16cvCVOiatniZZxWHTXhH6wYL1X66IpiA 4uLUiydcxavHmp8VQGLVbGs577GMnf1U5mucev/yBTlE+/0BusSYNzGAWEJ1PgEEARrI FbuBVP2MYpGf6N6WHoPnK7a51fDNTiletfSeU= MIME-Version: 1.0 Received: by 10.223.21.3 with SMTP id h3mr4123052fab.39.1251986370088; Thu, 03 Sep 2009 06:59:30 -0700 (PDT) In-Reply-To: <20090903020423.GW50352@acme.spoerlein.net> References: <20090903020423.GW50352@acme.spoerlein.net> Date: Thu, 3 Sep 2009 13:59:30 +0000 Message-ID: From: Baptiste Daroussin To: freebsd-ports@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: Open discution for a fakeroot support for the ports infrastructure X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2009 13:59:31 -0000 FAKE_MAKEARGS?=3D ${MAKE_ARGS} ${DESTDIRNAME}=3D${FAKE_DESTDIR} in this bsd.fake.mk DESTDIRNAME=3D DESTDIR normally all ./configure/gmake/gmake install supports DESTIR during the gmake install gmake install is replaced by gmake DESTFIR=3D$FAKE_DESTDIR} install which does the job well. but there could be some cases where gmake install doesn't support DESTDIR and the porters didn't overrite the installer. I didn't find one of them during my testing, there should have really few of them and they won't work, but with the last patch, and that's why activating the fake behaviour is optionnal in the last patch. regards, Bapt 2009/9/3 Ulrich Sp=F6rlein > > On Mon, 31.08.2009 at 23:26:43 +0200, Baptiste Daroussin wrote: > > Hi, > > > > I've written some patches for the ports infrastructure importing the > > fakeroot implementation from midnightbsd ports. > > > > In my first implementation the fake directory was enabled by default, n= o > > ports had to be modified to support it. > > My second implementation added a knob to add to make.conf (USE_FAKE) to > > enable it for people wanting it and want to tested. still no ports to b= e > > modified (except perhaps some buggy one) > > > > Now the patches are quite old (they won't apply cleanly) so I'm on upda= ting > > it again. > > > > Before rewriting it, I think it is a better idea to first discuss about= it, > > to improve it, see if there are interests, etc. > > > > So basically here is what is done and how it works. > > the changes are only in the infrastructure not in ports themselves (exc= ept > > that some will be able to benefit some cleanup) > > > > do-fake (with post and pre) replaces do-install (pre/post) it creates a > > $WRKSRC/fakeroot where the binaries are copied by the ports (during =A0= the > > do-install of the port) > > > > then do-package create a package using pkg-plist (or the generated one) > > using the binary in fakeroot. > > > > do-install (ie make install) now only does a pkg_add of the created pkg= . > > This is exactly what we need and kudos to you for taking on this task. I > fail to see however, how this can "just work" for all the ports. Most of > them are configured with --prefix=3D/usr/local so you cannot simply run > 'gmake install' for them and have stuff show up in the fake root. > > How is this actually solved (the proposed patch did not enlighten me in > that regard). > > Regards, > Uli