From owner-freebsd-ports@FreeBSD.ORG Fri Sep 16 06:25:16 2011 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 A86C4106564A for ; Fri, 16 Sep 2011 06:25:16 +0000 (UTC) (envelope-from aehlig@linta.de) Received: from linta.de (isilmar-3.linta.de [188.40.101.200]) by mx1.freebsd.org (Postfix) with ESMTP id 029D68FC08 for ; Fri, 16 Sep 2011 06:25:15 +0000 (UTC) Received: (qmail 25222 invoked by uid 10); 16 Sep 2011 06:25:06 -0000 Received: from curry.linta.de by isilmar.linta.de with BSMTP; 16 Sep 2011 06:25:06 -0000 Received: by curry.linta.de (Postfix, from userid 1001) id 3D7FB1CC1D; Fri, 16 Sep 2011 07:24:53 +0100 (BST) Date: Fri, 16 Sep 2011 07:24:52 +0100 From: "Klaus T. Aehlig" To: ??ukasz W??sikowski Message-ID: <20110916062452.GA57167@curry.linta.de> References: <1315864556.1747.103.camel@xenon> <20110912190558.641a3219@seibercom.net> <20110912230943.GD33455@guilt.hydra> <4E6E99BC.4050909@missouri.edu> <1315905051.1747.208.camel@xenon> <4E6F8A50.9060205@gmx.de> <1315942042.1747.258.camel@xenon> <4E6FD71D.9010207@gmx.de> <20110914181553.f6d31b0f.cjr@cruwe.de> <4E722F3F.3030606@wasikowski.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4E722F3F.3030606@wasikowski.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-ports@freebsd.org Subject: overlays (was: Re: Thank you (for making the ports less boring).) 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: Fri, 16 Sep 2011 06:25:16 -0000 Hi, > 3. Someone deleted port I like to use / I want my personal ports tree: > FreeBSD: I wish :/ > Gentoo: overlays works well. Now I'm really curios what magic device gentoo has. Once thing I most appreciate about FreeBSD is how flexible it is in precisely this manner. * if some port is removed or I just want an old version of some port I just use cvs sticky tags. That's the nice thing about having a repository with full history and even having it mirrored on my own hard disk[1]. * Of course, no one prevents me from installing my own ports. And this fits amazingly well, as dependencies are defined semantically (a certain library/binary/... has to be installed---not a particular port) * But, most importantly, /etc/make.conf is the device for proper overlays, that is, I have a way to modify a port without forking it. And I think that this is really nice that I can go my own way here while still benefiting from the good work of the maintainer. And I never had anything I wanted that I couldn't achieve by adding something like .if !empty(.CURDIR:M*/ports/foo/bar*) CFLAGS += ... EXTRA_PATCHES += /wherever/I/store/my/personal/patches.diff post-extract: # do something... pst-configure: # do something... post-patch: # do something ... pre-install: # do something... # and so on .endif to my /etc/make.conf. Could you please elaborate, which additional features gentoo's overlay system brings on top of that? Best regards, Klaus [1] I use CTM for that, but there is more than one way to do it.