From owner-freebsd-ports@FreeBSD.ORG Sun Mar 26 01:26:04 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAD7716A400 for ; Sun, 26 Mar 2006 01:26:04 +0000 (UTC) (envelope-from rand@meridian-enviro.com) Received: from newman.meridian-enviro.com (newman.meridian-enviro.com [207.109.235.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id 026C243D45 for ; Sun, 26 Mar 2006 01:26:03 +0000 (GMT) (envelope-from rand@meridian-enviro.com) X-Envelope-To: Received: from delta.meridian-enviro.com (delta.meridian-enviro.com [10.10.10.43]) by newman.meridian-enviro.com (8.13.1/8.13.1) with ESMTP id k2Q1Q2Tq055969 for ; Sat, 25 Mar 2006 19:26:02 -0600 (CST) (envelope-from rand@meridian-enviro.com) Date: Sat, 25 Mar 2006 19:26:01 -0600 Message-ID: <87r74qm1xy.wl%rand@meridian-enviro.com> From: "Douglas K. Rand" To: freebsd-ports@freebsd.org User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Virus-Scanned: ClamAV 0.88/1357/Sat Mar 25 15:37:38 2006 on newman.meridian-enviro.com X-Virus-Status: Clean Subject: Local Patch Hierarchy 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: Sun, 26 Mar 2006 01:26:05 -0000 There are times when before installing a port we have to apply local patches before building the port. These patches can be local for a number of reasons, including refusal by the maintainer (perhaps on very sound reasons) to accept the patches along to uniqueness (a.k.a. brain-deadness or cluelessness) of the site installing the port. One solution that I've been thinking about is a knob for bsd.port.mk that would identify the top of a hierarchy looking like /usr/ports would hold local patches for those ports requiring them. For example: LOCAL_PATCH_BASE= /usr/sitename/port-patches And under port-patches would be, for example, a mail/imap-uw/patches directory would contain patches to the University of Washington's IMAP server that need to be applied, probably after, the patches done by the port are applied. By default that knob would be undefined and would not cause any change to existing functionality. And if defined, it would not complain about a missing category/port directory. First off, I was wondering if there is a method that I just missed that will already accomplish this, or something near this. And if not, does anybody think it is a good idea. I'll admit that the number of ports that we use that require these patches are fairly small because usually either the primary author accepts if not the patch, the idea; or the port maintainer will accept a patch along with a port-specific /etc/make.conf knob that enables the patches required. But we do at times need to remember to patch a particular package by hand before each installation/upgrade. And, as you can imagine, our remember rate is not 1.0.