svn commit: r265993 - user/cperciva/freebsd-update-build/scripts
Xin LI
delphij at FreeBSD.org
Wed May 14 00:37:11 UTC 2014
Author: delphij
Date: Wed May 14 00:37:11 2014
New Revision: 265993
URL: http://svnweb.freebsd.org/changeset/base/265993
Log:
Use tmpfs in builds.
Modified:
user/cperciva/freebsd-update-build/scripts/build.subr
Modified: user/cperciva/freebsd-update-build/scripts/build.subr
==============================================================================
--- user/cperciva/freebsd-update-build/scripts/build.subr Wed May 14 00:05:35 2014 (r265992)
+++ user/cperciva/freebsd-update-build/scripts/build.subr Wed May 14 00:37:11 2014 (r265993)
@@ -112,6 +112,7 @@ log () {
# Function for nuking a directory
nuke () {
+ umount ${WORKDIR}/$1 2>/dev/null || true
rm -rf ${WORKDIR}/$1 2>/dev/null || true
if [ -d ${WORKDIR}/$1 ]; then
chflags -R noschg ${WORKDIR}/$1
@@ -390,6 +391,7 @@ extractworld () {
log "Extracting world+src"
mkdir -p ${WORKDIR}/$1
+ mount -t tmpfs tmpfs ${WORKDIR}/$1
tar -xpzf ${WORKDIR}/../world.tgz -C ${WORKDIR}/$1
}
@@ -397,7 +399,7 @@ extractworld () {
applypatches () {
while read PATCH; do
cat ${PATCHDIR}/${PATCH} |
- ( cd ${WORKDIR}/$1/usr/src && patch )
+ ( cd ${WORKDIR}/$1/usr/src && patch -p0 )
done < $2 2> ${WORKDIR}/$1-patch.log
# Remove ".orig" files created by patch(1)
@@ -811,7 +813,9 @@ stageworld () {
fi
# Move $1 to newworld
- mv ${WORKDIR}/$1 ${WORKDIR}/newworld
+ mkdir -p ${WORKDIR}/newworld
+ tar cf - -C ${WORKDIR}/$1 . | tar xf - -C ${WORKDIR}/newworld/
+ umount ${WORKDIR}/$1 || rm -fr ${WORKDIR}/$1 || chflags -R 0 ${WORKDIR}/$1 && rm -fr ${WORKDIR}/$1 || true
mv ${WORKDIR}/$1-index ${WORKDIR}/newworld-index
fi
More information about the svn-src-user
mailing list