From owner-freebsd-ports@FreeBSD.ORG Thu Sep 3 02:04:24 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 D9FA0106566B for ; Thu, 3 Sep 2009 02:04:24 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (cl-43.dus-01.de.sixxs.net [IPv6:2a01:198:200:2a::2]) by mx1.freebsd.org (Postfix) with ESMTP id 57C4A8FC14 for ; Thu, 3 Sep 2009 02:04:24 +0000 (UTC) Received: from acme.spoerlein.net (localhost.spoerlein.net [IPv6:::1]) by acme.spoerlein.net (8.14.3/8.14.3) with ESMTP id n8324NB7024753 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 3 Sep 2009 04:04:23 +0200 (CEST) (envelope-from uqs@spoerlein.net) Received: (from uqs@localhost) by acme.spoerlein.net (8.14.3/8.14.3/Submit) id n8324NUk024752; Thu, 3 Sep 2009 04:04:23 +0200 (CEST) (envelope-from uqs@spoerlein.net) Date: Thu, 3 Sep 2009 04:04:23 +0200 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: Baptiste Daroussin Message-ID: <20090903020423.GW50352@acme.spoerlein.net> Mail-Followup-To: Baptiste Daroussin , freebsd-ports@freebsd.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-ports@freebsd.org 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 02:04:24 -0000 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, no > 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 be > modified (except perhaps some buggy one) > > Now the patches are quite old (they won't apply cleanly) so I'm on updating > 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 (except > 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 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=/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