Changeset View
Changeset View
Standalone View
Standalone View
s/treesnap-build.sh
#!/bin/sh -e | #!/bin/sh -e | ||||
# No user-serviceable parts | # No user-serviceable parts | ||||
if [ -z "$PORTSNAP_BUILD_CONF_READ" ]; then | if [ -z "$PORTSNAP_BUILD_CONF_READ" ]; then | ||||
echo "Do not run $0 manually" | echo "Do not run $0 manually" | ||||
exit 1 | exit 1 | ||||
fi | fi | ||||
# usage: sh -e treesnap-build.sh TREEREV DESCRIBES WORKDIR SNAPDIR | # usage: sh -e treesnap-build.sh TREEHASH DESCRIBES WORKDIR SNAPDIR | ||||
TREEREV="$1" | TREEHASH="$1" | ||||
DESCRIBES="$2" | DESCRIBES="$2" | ||||
WORKDIR="$3" | WORKDIR="$3" | ||||
SNAP="$4" | SNAP="$4" | ||||
# Temporary directories and mount points | # Temporary directories and mount points | ||||
PORTSDIR=${WORKDIR}/ports | PORTSDIR=${WORKDIR}/ports | ||||
TMP=${WORKDIR}/tmp | TMP=${WORKDIR}/tmp | ||||
JAILDIR=${WORKDIR}/jail | JAILDIR=${WORKDIR}/jail | ||||
# Create mount points | # Create mount points | ||||
mkdir ${PORTSDIR} ${TMP} ${JAILDIR} | mkdir ${PORTSDIR} ${TMP} ${JAILDIR} | ||||
# Create and mount memory disk for holding exported ports tree | # Create and mount memory disk for holding exported ports tree | ||||
PORTSMD=`mdconfig -a -t swap -s ${PORTSMDSIZE} -n` | PORTSMD=`mdconfig -a -t swap -s ${PORTSMDSIZE} -n` | ||||
newfs -f 512 -i 2048 -O 1 -n /dev/md${PORTSMD} >/dev/null | newfs -f 512 -i 2048 -O 1 -n /dev/md${PORTSMD} >/dev/null | ||||
mount /dev/md${PORTSMD} ${PORTSDIR} | mount /dev/md${PORTSMD} ${PORTSDIR} | ||||
# Export ports tree | # Export ports tree | ||||
echo "`date`: Exporting \"${TREEREV}\" ports tree" | echo "`date`: Exporting \"${TREEHASH}\" ports tree" | ||||
svn export -q --force ${REPO}/${TREEREV} ${PORTSDIR} | git --git-dir=${STATEDIR}/gitrepo worktree prune | ||||
git --git-dir=${STATEDIR}/gitrepo worktree add ${PORTSDIR} ${TREEHASH} | |||||
df -i ${PORTSDIR} | df -i ${PORTSDIR} | ||||
# Create snapshot | # Create snapshot | ||||
echo "`date`: Building snapshot tarballs" | echo "`date`: Building snapshot tarballs" | ||||
sh -e s/treesnap-mktars-all.sh ${PORTSDIR} ${SNAP} ${SNAP}/INDEX ${TMP} | sh -e s/treesnap-mktars-all.sh ${PORTSDIR} ${SNAP} ${SNAP}/INDEX ${TMP} | ||||
# Unmount the ports tree | # Unmount the ports tree | ||||
while ! umount /dev/md${PORTSMD}; do | while ! umount /dev/md${PORTSMD}; do | ||||
Show All 22 Lines |