summaryrefslogtreecommitdiffstats
path: root/usr.sbin/mergemaster
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2013-11-22 00:06:11 +0000
committerbrooks <brooks@FreeBSD.org>2013-11-22 00:06:11 +0000
commit5c0e403ebaeb115af439cf30e80116e31497d643 (patch)
tree0348d0f011d0af165e468c52f747734412cd8e64 /usr.sbin/mergemaster
parent15069c877cd7d53a245e0b37701d29dbaea64996 (diff)
downloadFreeBSD-src-5c0e403ebaeb115af439cf30e80116e31497d643.zip
FreeBSD-src-5c0e403ebaeb115af439cf30e80116e31497d643.tar.gz
Fix mergemaster -U by forcing FreeBSD 9 compatiblity in mtree when mtree is
nmtree. The mtree output used by mergemaster in this case was clearly not meant for computer consumption and an approach based on -f <file1> -f <file2> would probalby be a better idea, but this is a minimal change. MFC after: 3 days X-MFC-with: r258437
Diffstat (limited to 'usr.sbin/mergemaster')
-rwxr-xr-xusr.sbin/mergemaster/mergemaster.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh
index 361cef9..f3aafae 100755
--- a/usr.sbin/mergemaster/mergemaster.sh
+++ b/usr.sbin/mergemaster/mergemaster.sh
@@ -492,8 +492,14 @@ MM_MAKE="make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk"
# files the user changed from the reference files.
#
if [ -n "${AUTO_UPGRADE}" -a -s "${MTREEFILE}" ]; then
+ # Force FreeBSD 9 compatible output when available.
+ if mtree -F freebsd9 -c -p /var/empty/ > /dev/null 2>&1; then
+ MTREE_FLAVOR="-F freebsd9"
+ else
+ MTREE_FLAVOR=
+ fi
CHANGED=:
- for file in `mtree -eqL -f ${MTREEFILE} -p ${DESTDIR}/ \
+ for file in `mtree -eqL ${MTREE_FLAVOR} -f ${MTREEFILE} -p ${DESTDIR}/ \
2>/dev/null | awk '($2 == "changed") {print $1}'`; do
if [ -f "${DESTDIR}/$file" ]; then
CHANGED="${CHANGED}${DESTDIR}/${file}:"
OpenPOWER on IntegriCloud