HardenedBSD folks reported that they have an out-of-tree LIB that by default
tries to install to /usr/lib and install debug files to /usr/lib/debug.
The /usr/lib/debug directory is not present though since it only comes from the
base-db.txz package.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
HardenedBSD folks reported that they have an out-of-tree LIB that by default
tries to install to /usr/lib and install debug files to /usr/lib/debug.
The /usr/lib/debug directory is not present though since it only comes from the
base-db.txz package.
I'm missing something here; the /usr/lib/debug hierarchy is created unconditionally. This case applies only to a binary installation, then building and installing additional components to go into /usr/lib?
share/mk/bsd.lib.mk | ||
---|---|---|
145 ↗ | (On Diff #13654) | DEBUGFILEDIR should never be empty |
Comment Actions
Well it's not being added to base.txz.
- fetch https://download.freebsd.org/ftp/snapshots/amd64/11.0-CURRENT/base.txz
- tar -tf base.txz|grep usr/lib/debug #
Comment Actions
See Makefile.inc1 distributeworld:
.if ${MK_DEBUG_FILES} != "no" mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif
It's conditional there (and 2 other places) which is what release/Makefile uses for base.txz.
I'm liking this change better than changing distributeworld to release empty directories.