From owner-freebsd-ports@FreeBSD.ORG Tue Dec 2 20:16:13 2008 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 220D71065672 for ; Tue, 2 Dec 2008 20:16:13 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: from syn.atarininja.org (syn.csh.rit.edu [129.21.60.158]) by mx1.freebsd.org (Postfix) with ESMTP id F22F38FC13 for ; Tue, 2 Dec 2008 20:16:12 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: by syn.atarininja.org (Postfix, from userid 1001) id 7EBB35C17; Tue, 2 Dec 2008 15:16:10 -0500 (EST) Date: Tue, 2 Dec 2008 15:16:10 -0500 From: Wesley Shields To: Dmitry Marakasov Message-ID: <20081202201610.GA8753@atarininja.org> References: <20081202180743.GB70240@hades.panopticon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081202180743.GB70240@hades.panopticon> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: paul+usenet@w6yx.stanford.edu, freebsd-ports@freebsd.org Subject: Re: Proposal: mechanism for local patches 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: Tue, 02 Dec 2008 20:16:13 -0000 On Tue, Dec 02, 2008 at 09:07:43PM +0300, Dmitry Marakasov wrote: > * G. Paul Ziemba (pz-freebsd-ports@ziemba.us) wrote: > > > In hopes of stimulating some discussion, I propose a new variable, > > LOCAL_PATCHES (or maybe SITE_PATCHES), that would behave just like > > EXTRA_PATCHES, except that it would be designated specifically for > > site-local patches. It would be implemented in the do-patch target > > in bsd.port.mk at the end, after patches from PATCHDIR are applied, > > and patch Makefiles would, by convention, leave it unmolested. > > > > Have I overlooked some better approach to integrating site-local > > fixes? > > I am not aware of any mechanism for this. But I agree that it's > really needed. Before (in cvsup times) we could just place patches > under files/ and be happy, but now when more people use portsnap > we need something better. > > I think making another variable that behaves like EXTRA_PATCHES is > not convenient - you'll have to provide it per-port which means > conditionals in make.conf. > > I think the most convenient way of implementing this is having > a directory hierarchy (either two level ${CATEGORY}/${PORTNAME}/patch-*) > or single level ${PORTNAME}/patch-*) and a single variable that makes > port system look there for patches in addition to ${PATCHDIR}. > > Thus, you only have to add a single line to make.conf: > > USE_LOCALPATCHES= /usr/ports/local-patches > (or /whereever) > > and from there on files will be searced in > > either /usr/ports/local-patches/${CATEGORY}/${PORTNAME} > /usr/ports/local-patches/${PORTNAME}. > > AFAIK, port names are unique in the whole portstree, so single level > layout seems to be easier to handle. I like you're idea here, but unfortunately directory names are not unique. For example there is japanese/xchat and irc/xchat. This means you'll have to go with the "dual-level" layout. > Here's the draft patch for this functionality: > > http://people.freebsd.org/~amdmi3/local-patchdir.patch Other than the above comment I like the patch and would love to see it implemented. I think it can provide a benefit in situations where companies/people are doing things with ports that they do not want to contribute back. -- WXS