make distribution and cap_mkdb -l from 5 to 6

Jeremie Le Hen jeremie at le-hen.org
Sat Aug 13 09:48:04 GMT 2005


> I don't remember exactly how etcmerge works, but if it calls "make
> distribution" from src/etc/, it's in trouble, please go on reading...

Great news, I'll send a patch to eivind@ for etcmerge in order to
correct this wrong behaviour.

> > Can this issue be resolved in a way or another ?  I'm not sure using
> > ${.OBJDIR}'s cap_mkdb(8) is an option.
> > 
> You should be running "make distribution" from under top of the src/
> tree, not src/etc/.  This takes care of properly setting the runtime
> environment up so that a bootstrapped version of cap_mkdb(8) is used,
> besides many other useful things.  We bootstrap cap_mkdb(8) if (this
> was copied from Makefile.inc1):
> 
> .if ${BOOTSTRAPPING} < 600015
> _cap_mkdb=	usr.bin/cap_mkdb
> .endif
> 
> It may also be that for some reason your /usr/include/osreldate.h is
> lying about the currently installed version.
> 
> To make the long story short...
> 
> You can check all of this easily; assuming your sources are in the
> kosher location /usr/src, the bootstrapped version of cap_mkdb(8)
> capable of running on your host should be sitting ready in:
> 
> /usr/obj/usr/src/tmp/legacy/usr/bin/cap_mkdb
> 
> (Extrapolate this appropriately to your environment.)

Thanks for your complete explanation.  My osreldate.h should have the
right value since my /usr/include is updated only when I upgrade my
box.

I will extend what you said about the ``distribution'' target, so I
will also change etcmerge to use "make hierarchy" from src/ instead
of going to src/etc/ and run "make distrib-dirs".

Thank you.
Regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >


More information about the freebsd-current mailing list