From owner-freebsd-hackers@freebsd.org Mon Nov 13 21:32:26 2017 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8F117DD77CD for ; Mon, 13 Nov 2017 21:32:26 +0000 (UTC) (envelope-from leres@ee.lbl.gov) Received: from fun.ee.lbl.gov (fun.ee.lbl.gov [IPv6:2620:83:8000:102::ca]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "fun.ee.lbl.gov", Issuer "ACS 3" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7FE477F505 for ; Mon, 13 Nov 2017 21:32:26 +0000 (UTC) (envelope-from leres@ee.lbl.gov) Received: from hot.ee.lbl.gov (hot.ee.lbl.gov [IPv6:2620:83:8000:102:0:0:0:cb]) (authenticated bits=0) by fun.ee.lbl.gov (8.15.2/8.15.2) with ESMTPSA id vADLWNG5055014 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 13 Nov 2017 13:32:25 -0800 (PST) (envelope-from leres@ee.lbl.gov) To: freebsd-hackers@freebsd.org From: Craig Leres Subject: poudriere 3.2.0 vs. "local" ports Message-ID: <1243837e-bead-eabb-3e5e-237b76c612d1@ee.lbl.gov> Date: Mon, 13 Nov 2017 13:32:23 -0800 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Mon, 13 Nov 2017 21:42:10 +0000 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2017 21:32:26 -0000 I have a number of "local" ports I use for various purposes. For example one use is to build packages locally written software. Another is to keep a private copy of ports I maintain under source control. Historically I've put these in /usr/ports/lbl, e.g. lbl/lbl-acld which might start out with: PORTNAME= acld PORTVERSION= 2.1 CATEGORIES= lbl [...] VALID_CATEGORIES+= lbl This has worked well for years. The other common case is a port that I maintain such as security/bro. I keep my local dev version in /usr/ports/lbl/lbl-bro. This allows a private log history and testing without modifying normal /usr/ports/security/bro version until I'm ready to file a PR or commit changes. poudriere 3.2.0 breaks this practice: [00:00:01] Warning: (lbl/lbl-bro): [00:00:01] Error: lbl/lbl-bro has incorrect CATEGORIES, first should be 'lbl'. Please contact maintainer of the port to fix this. I assume it's picking up "lbl" from the directory path. I don't want to/can't put "lbl" in the individual Makefile CATEGORIES. Otherwise I can't do things like: diff --exclude=.svn /usr/ports/lbl/lbl-bro /usr/ports/security/bro and I definitely can't just copy Makefiles from lbl/lbl-bro to security/bro. I tried to find a way to insert lbl at the front of CATEGORIES in ../Makefile.inc: .if "$(CATEGORIES:Mlbl)" == "" CATEGORIES= lbl $(CATEGORIES) .endif but I'm not sure it's possible; make appears to considers it recursive even when it's protected by a conditional. Is there a solution to or a better way of doing this? Craig