We need new feature for pkg_create?

Yar Tikhiy yar at comp.chem.msu.su
Mon Feb 7 07:45:06 PST 2005


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


More information about the freebsd-ports mailing list