make distribution and cap_mkdb -l from 5 to 6

Ruslan Ermilov ru at
Sat Aug 13 08:59:43 GMT 2005

On Fri, Aug 12, 2005 at 04:42:27PM -0700, Brooks Davis wrote:
> On Sat, Aug 13, 2005 at 12:33:08AM +0200, Jeremie Le Hen wrote:
> > Hi,
> > 
> > I was giving a try to the sysutils/etcmerge port in order to ease the
> > upgrade of /etc from RELENG_5 to RELENG_6.  This revealed me that the
> > ``distribution'' target in RELENG_6's src/etc/Makefile calls cap_mkdb(8)
> > with either "-l" or "-L" flag, depending on endianess.  Unfortunately
> > RELENG_5's cap_mkdb(8) doesn't have this flag and this resulted.
> > 
> > I understand that using RELENG_6 sources on RELENG_5 is something quite
> > unusual but it's quite disconcerting and prevents me from using
> > etcmerge.  I would really like to avoid merging /etc manually since I
> > have number of changes in my /etc and number of changes between 5's /etc
> > and 6's one are both huge.  Yes, I know mergemaster(8), that's what I
> > call ``manually'' :-).
> > 
> > Can this issue be resolved in a way or another ?  I'm not sure using
> > ${.OBJDIR}'s cap_mkdb(8) is an option.
> I got bit by this today doing a nanobsd style cross build.  I fixed it
> by installing new cap_mkdb and pwd_mkdb's complied against the current
> system, but with RELENG_6 sources.  You shouldn't hit this problem with
> an upgrade since the documented order is "make installworld" followed by
> "mergemaster".  Presumbly etcmerge should be run in the same place in
> which case you'd be fine because *_mkdb would be updated.
No.  It's the nanobsd/Makefile that's broken: it runs "make distribution"
directly from ${WORLDDIR}/etc, while to account for upgrades it should be
run from ${WORLDDIR} (assuming a buildworld was run before that).

Ruslan Ermilov
ru at
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the freebsd-current mailing list