mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-11-07 04:36:52 -10:00
vmimage.subr: Include dangling symlinks in images
When creating VM images, we filter the METALOG file created by pkg(8) when installing non-base packages, rejecting any lines which correspond to files which don't exist; this solves a problem which arose when a package was installed and then deinstalled (or upgraded) later in the image-building process. Unfortunately [ -e ... ] follows symlinks and is not basedir-aware, so an absolute symlink which is valid *inside* the image is omitted from the image if it points to something which isn't present in the build host system. Replace [ -e ... ] with [ -e ... ] || [ -L ... ] so that symlinks are included even if dangling. While I'm here, add quoting in case future paths become problematic. Sponsored by: Amazon MFC after: 3 days
This commit is contained in:
1 parent
8a0cab240f
commit
5a2328a178
1 file changed
+2
-1
@@ -266,7 +266,8 @@ buildfs() {
|
||||
# have been logged which no longer exist if a package was removed.
|
||||
if [ -f ${DESTDIR}/METALOG.pkg ]; then
|
||||
while read F REST; do
|
||||
if [ -e ${DESTDIR}/${F} ]; then
|
||||
if [ -e "${DESTDIR}/${F}" ] ||
|
||||
[ -L "${DESTDIR}/${F}" ]; then
|
||||
echo "${F} ${REST}" >> ${DESTDIR}/METALOG
|
||||
fi
|
||||
done < ${DESTDIR}/METALOG.pkg
|
||||
|
||||
Reference in new issue
Block a user