From owner-freebsd-ports@FreeBSD.ORG Mon Dec 1 21:32:16 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 1C31D106564A for ; Mon, 1 Dec 2008 21:32:16 +0000 (UTC) (envelope-from pz-freebsd-ports@ziemba.us) Received: from ziemba.us (208-106-105-148.dsl.static.sonic.net [208.106.105.148]) by mx1.freebsd.org (Postfix) with ESMTP id E279A8FC18 for ; Mon, 1 Dec 2008 21:32:15 +0000 (UTC) (envelope-from pz-freebsd-ports@ziemba.us) Received: from hairball.ziemba.us (localhost.ziemba.us [127.0.0.1]) by hairball.ziemba.us (8.14.3/8.14.3) with ESMTP id mB1LVaxa068544 for ; Mon, 1 Dec 2008 13:31:36 -0800 (PST) (envelope-from pz-freebsd-ports@ziemba.us) Received: (from mailnull@localhost) by hairball.ziemba.us (8.14.3/8.14.3/Submit) id mB1LVaB0068543 for freebsd-ports@freebsd.org; Mon, 1 Dec 2008 13:31:36 -0800 (PST) (envelope-from pz-freebsd-ports@ziemba.us) X-Authentication-Warning: hairball.ziemba.us: mailnull set sender to pz-freebsd-ports@ziemba.us using -f Received: (from news@localhost) by hairball.ziemba.us (8.14.3/8.14.3/Submit) id mB1LVZcG068481 for treehouse-mail-freebsd-ports@hairball.treehouse.napa.ca.us; Mon, 1 Dec 2008 13:31:35 -0800 (PST) (envelope-from news) From: "G. Paul Ziemba" To: freebsd-ports@freebsd.org Date: Mon, 1 Dec 2008 21:31:35 +0000 (UTC) Message-id: Errors-to: "G. Paul Ziemba" Subject: Proposal: mechanism for local patches X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: paul+usenet@w6yx.stanford.edu List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Dec 2008 21:32:16 -0000 Hi Folks, I sometimes have local patches that I need to apply to ports. For various reasons, these patches are not available in the ports tree (e.g., bug fixes could be still propagating, or I'm trying out a bug fix locally before submitting it, or the local patches might be inappropriate or unwanted for the general FreeBSD populace, etc.) My current practice is to maintain my own tree of patch files and then reference them via EXTRA_PATCHES in /etc/make.conf. Mostly the patches get applied automatically when I upgrade my ports, and when the patches fail I learn about it immediately - no additional recordkeeping is required. However, I am looking for a better way. It's probably an unnatural use of EXTRA_PATCHES. Some ports define EXTRA_PATCHES themselves and override what I have defined in /etc/make.conf, so I have to resort to modifying the ports tree in place and keep yet another list of items to pay attention to when upgrading my ports. 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? -- G. Paul Ziemba FreeBSD unix: 1:31PM up 23:01, 5 users, load averages: 0.20, 0.37, 0.72