On Mon, Feb 09, 2015 at 04:04:09PM +0000, Warner Losh wrote: > Author: imp > Date: Mon Feb 9 16:04:08 2015 > New Revision: 278460 > URL: https://svnweb.freebsd.org/changeset/base/278460 > > Log: > We need to create /boot/dtb since some use cases don't create a full > root with BSD.root.mtree, so it often times will not exist. Rather > than force the latter for an installkernel, just create the directory > with a comment about why. > > Submitted by: Guy Yur > > Modified: > head/sys/conf/dtb.mk > > Modified: head/sys/conf/dtb.mk > ============================================================================== > --- head/sys/conf/dtb.mk Mon Feb 9 16:04:01 2015 (r278459) > +++ head/sys/conf/dtb.mk Mon Feb 9 16:04:08 2015 (r278460) > @@ -67,6 +67,10 @@ CLEANFILES+=${_dts:R:S/$/.dtb/} > realinstall: _dtbinstall > .ORDER: beforeinstall _kmodinstall > _dtbinstall: > +# Need to create this because installkernel doens't invoke mtree with > BSD.root.mtree > +# to make sure the tree is setup properly. This may break ownership of > ${DTBDIR} > +# for no-root build. > + mkdir -p ${DESTDIR}${DTBDIR}
You could use -d avoid the ownership issue in the no-root case, but then you'll end up with duplicate ${DTBDIR} entries if you have run installworld. Conditional creation might be the least bad solution. i.e.: test -d ${DESTDIR}${DTBDIR} || ${INSTALL} -d -u root -g wheel ${DESTDIR}${DTBDIR} -- Brooks
pgpFdZlPqBCLT.pgp
Description: PGP signature