From owner-freebsd-ports@FreeBSD.ORG Mon Feb 7 15:45:06 2005 Return-Path: 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 3740716A4CF for ; Mon, 7 Feb 2005 15:45:06 +0000 (GMT) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id 175A243D5A for ; Mon, 7 Feb 2005 15:45:03 +0000 (GMT) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.12.9p2/8.12.9) with ESMTP id j17FixnZ067265; Mon, 7 Feb 2005 18:44:59 +0300 (MSK) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.12.9p2/8.12.9/Submit) id j17FiucX067261; Mon, 7 Feb 2005 18:44:56 +0300 (MSK) (envelope-from yar) Date: Mon, 7 Feb 2005 18:44:56 +0300 From: Yar Tikhiy To: Anton Berezin , Boris Kovalenko , freebsd-ports@freebsd.org Message-ID: <20050207154456.GB65425@comp.chem.msu.su> References: <42075175.20603@ntmk.ru> <20050207125420.GA85693@heechee.tobez.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050207125420.GA85693@heechee.tobez.org> User-Agent: Mutt/1.5.6i Subject: Re: We need new feature for pkg_create? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 15:45:06 -0000 On Mon, Feb 07, 2005 at 01:54:20PM +0100, Anton Berezin wrote: > On Mon, Feb 07, 2005 at 04:31:01PM +0500, Boris Kovalenko wrote: > > > I'm net/quagga port maintainer. My port is installing some scripts > > to /etc/rc.d. I know, this is bad, but I really need rcorder to be applied > > to my scripts. So, to install scripts, I use next trick: > > > > @cwd %%RC_DIR%% > > quagga%%RC_SUFX%% > > watchquagga%%RC_SUFX%% > > @cwd %%CWD_TRICK%% > > > > where %%RC_DR%% is set to /etc/rc.d and %%CWD_TRICK%% is set to > > ${PREFIX}. In most cases this works well, but not in case when pkg_add > > is used with -p option. So, the question is - may be we really need new > > feature for pkg_create like @pushwd and @popwd? So, the trick will look like > > Would not it just be easier to re-arrange the original plist to be: > > @cwd %%CWD_TRICK%% > ..... > @cwd %%RC_DIR%% > quagga%%RC_SUFX%% > watchquagga%%RC_SUFX%% > > This should work fine, if me reading of pkg_* code is correct. the > disadvantage is, of course, using a feature (-p = replace only the > _first_ @cwd), which is not documented. This won't work because some @exec lines using %D may be *appended* to a packing list by bsd.port.mk. Putting "@cwd %%CWD_TRICK%%" at the beginning will buy nothing at all. IMHO, what we need is a way to restore the initial prefix setting in a packing list. The idea of @pushwd and @popwd looks really neat to me. With those commands available, it would be possible to append lines using %D or just assuming the current prefix is the right one to the final packing list from bsd.port.mk without breaking "pkg_add -p /foo". BTW, here's an example that the problem is rather general. Currently using @cwd in port's pkg-plist and PORTDOCS in its Makefile results precisely in broken "pkg_add -p /foo" because the build-time prefix gets hardcoded in the packing list. -- Yar