From owner-freebsd-ports@freebsd.org Fri Jan 6 08:40:31 2017 Return-Path: Delivered-To: freebsd-ports@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 85901B87F08 for ; Fri, 6 Jan 2017 08:40:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 72E181E2C for ; Fri, 6 Jan 2017 08:40:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 72357B87F06; Fri, 6 Jan 2017 08:40:31 +0000 (UTC) Delivered-To: ports@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 71DB1B87F05 for ; Fri, 6 Jan 2017 08:40:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4E4371E2B for ; Fri, 6 Jan 2017 08:40:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (ppp121-45-237-203.lns20.per1.internode.on.net [121.45.237.203]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id v068eQLw071250 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 6 Jan 2017 00:40:29 -0800 (PST) (envelope-from julian@freebsd.org) To: "ports@FreeBSD.org" From: Julian Elischer Subject: using ports for things they were never meant to do Message-ID: <73d145f2-10e4-17f6-07e6-a2bde375f87e@freebsd.org> Date: Fri, 6 Jan 2017 16:40:20 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2017 08:40:31 -0000 So this seems to be a speciality of mine. I often find that I need a ports tree at rev X except for some port foo/bar that needs to be at some different rev (Y) to pick up a fix/change needed by the application. Now there is no reason that I can't just edit the distinfo file and the Makefile and replace X with Y, and that nearly always works if X and Y are not too different. I'd prefer however to be able to upgrade the Makefile to the right level, but that then hits the problem that he Makefile is using an API with the rest of the ports system, that is rapidly changing. SO you have much more chance of your build failing because of Makefile changes than due to incompatibilities in the distfiles. My personal way of handing that would be to break the pkg rev out to a separate file with nothing but PORTVERSION and PORTREVISION in it so that the version of the distfile being fetched is divorced from the ports API. Then in my tree I update distinfo and the new Portrev and leave the Makefile alone. Does anyone else have a better way to slide a particular port back or ahead compared to the rest of the tree?