Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Feb 2005 18:44:56 +0300
From:      Yar Tikhiy <yar@comp.chem.msu.su>
To:        Anton Berezin <tobez@tobez.org>, Boris Kovalenko <boris@ntmk.ru>, freebsd-ports@freebsd.org
Subject:   Re: We need new feature for pkg_create?
Message-ID:  <20050207154456.GB65425@comp.chem.msu.su>
In-Reply-To: <20050207125420.GA85693@heechee.tobez.org>
References:  <42075175.20603@ntmk.ru> <20050207125420.GA85693@heechee.tobez.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050207154456.GB65425>