svn commit: r269362 - head/tools/tools/nanobsd
Warner Losh
imp at FreeBSD.org
Fri Aug 1 00:00:47 UTC 2014
Author: imp
Date: Fri Aug 1 00:00:46 2014
New Revision: 269362
URL: http://svnweb.freebsd.org/changeset/base/269362
Log:
Use rm -x only on FreeBSD 10 and newer. Many people still build from
older hosts, which still works, so don't break that gratuitously.
MFC After: 3 days
Modified:
head/tools/tools/nanobsd/nanobsd.sh
Modified: head/tools/tools/nanobsd/nanobsd.sh
==============================================================================
--- head/tools/tools/nanobsd/nanobsd.sh Thu Jul 31 23:25:13 2014 (r269361)
+++ head/tools/tools/nanobsd/nanobsd.sh Fri Aug 1 00:00:46 2014 (r269362)
@@ -178,6 +178,15 @@ SRCCONF=${SRCCONF:=/dev/null}
#
#######################################################################
+# rm doesn't know -x prior to FreeBSD 10, so cope with a variety of build
+# hosts for now.
+nano_rm ( ) {
+ case $(uname -r) in
+ 7*|8*|9*) rm $* ;;
+ *) rm -x $* ;;
+ esac
+}
+
# run in the world chroot, errors fatal
CR()
{
@@ -200,9 +209,9 @@ nano_cleanup ( ) (
clean_build ( ) (
pprint 2 "Clean and create object directory (${MAKEOBJDIRPREFIX})"
- if ! rm -xrf ${MAKEOBJDIRPREFIX}/ > /dev/null 2>&1 ; then
+ if ! nano_rm -rf ${MAKEOBJDIRPREFIX}/ > /dev/null 2>&1 ; then
chflags -R noschg ${MAKEOBJDIRPREFIX}/
- rm -xr ${MAKEOBJDIRPREFIX}/
+ nano_rm -r ${MAKEOBJDIRPREFIX}/
fi
mkdir -p ${MAKEOBJDIRPREFIX}
printenv > ${MAKEOBJDIRPREFIX}/_.env
@@ -256,17 +265,17 @@ build_kernel ( ) (
clean_world ( ) (
if [ "${NANO_OBJ}" != "${MAKEOBJDIRPREFIX}" ]; then
pprint 2 "Clean and create object directory (${NANO_OBJ})"
- if ! rm -rxf ${NANO_OBJ}/ > /dev/null 2>&1 ; then
+ if ! nano_rm -rf ${NANO_OBJ}/ > /dev/null 2>&1 ; then
chflags -R noschg ${NANO_OBJ}
- rm -xr ${NANO_OBJ}/
+ nano_rm -r ${NANO_OBJ}/
fi
mkdir -p ${NANO_OBJ} ${NANO_WORLDDIR}
printenv > ${NANO_OBJ}/_.env
else
pprint 2 "Clean and create world directory (${NANO_WORLDDIR})"
- if ! rm -rxf ${NANO_WORLDDIR}/ > /dev/null 2>&1 ; then
+ if ! nano_rm -rf ${NANO_WORLDDIR}/ > /dev/null 2>&1 ; then
chflags -R noschg ${NANO_WORLDDIR}
- rm -rxf ${NANO_WORLDDIR}/
+ nano_rm -rf ${NANO_WORLDDIR}/
fi
mkdir -p ${NANO_WORLDDIR}
fi
@@ -378,7 +387,7 @@ setup_nanobsd ( ) (
cd usr/local/etc
find . -print | cpio -dumpl ../../../etc/local
cd ..
- rm -rf etc
+ nano_rm -rf etc
ln -s ../../etc/local etc
)
fi
@@ -400,7 +409,7 @@ setup_nanobsd ( ) (
echo "mount -o ro /dev/${NANO_DRIVE}s3" > conf/default/etc/remount
# Put /tmp on the /var ramdisk (could be symlink already)
- test -d tmp && rmdir tmp || rm -f tmp
+ test -d tmp && rmdir tmp || nano_rm -f tmp
ln -s var/tmp tmp
) > ${NANO_OBJ}/_.dl 2>&1
@@ -560,7 +569,7 @@ create_i386_diskimage ( ) (
-y ${NANO_HEADS}`
else
echo "Creating md backing file..."
- rm -f ${IMG}
+ nano_rm -f ${IMG}
dd if=/dev/zero of=${IMG} seek=${NANO_MEDIASIZE} count=0
MD=`mdconfig -a -t vnode -f ${IMG} -x ${NANO_SECTS} \
-y ${NANO_HEADS}`
@@ -785,7 +794,7 @@ cust_pkg () (
exit 2
fi
done
- rm -rxf ${NANO_WORLDDIR}/Pkg
+ nano_rm -rf ${NANO_WORLDDIR}/Pkg
)
cust_pkgng () (
@@ -820,7 +829,7 @@ cust_pkgng () (
echo "FAILED: pkg bootstrapping faied"
exit 2
fi
- rm -f ${NANO_WORLDDIR}/Pkg/pkg-*
+ nano_rm -f ${NANO_WORLDDIR}/Pkg/pkg-*
# Count & report how many we have to install
todo=`ls ${NANO_WORLDDIR}/Pkg | /usr/bin/wc -l`
@@ -849,7 +858,7 @@ cust_pkgng () (
exit 2
fi
done
- rm -rxf ${NANO_WORLDDIR}/Pkg
+ nano_rm -rf ${NANO_WORLDDIR}/Pkg
)
#######################################################################
More information about the svn-src-head
mailing list