tools/build/beinstall.sh: Use some slightly better shell syntax; reduce duplication

This is is a first pass at improving the be installer.

Reviewed By: will
Differential Revision: https://reviews.freebsd.org/D16081
This commit is contained in:
Eitan Adler 2018-07-28 00:33:40 +00:00
parent 076e3c1072
commit fc3bfe916e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=336799

View File

@ -69,7 +69,7 @@ cleanup() {
errx() { errx() {
cleanup cleanup
echo "error: $*" echo "error: $@"
exit 1 exit 1
} }
@ -107,16 +107,17 @@ if [ -e .git ] ; then
[ $? -ne 0 ] && errx "Can't lookup git commit timestamp" [ $? -ne 0 ] && errx "Can't lookup git commit timestamp"
commit_ts=$(date -r ${commit_time} '+%Y%m%d.%H%M%S') commit_ts=$(date -r ${commit_time} '+%Y%m%d.%H%M%S')
elif [ -d .svn ] ; then elif [ -d .svn ] ; then
if [ -f /usr/bin/svnlite ]; then if [ -e /usr/bin/svnlite ]; then
commit_ts=$( svnlite info --show-item last-changed-date | sed -e 's/\..*//' -e 's/T/./' -e 's/-//g' -e s'/://g' ) svn=/usr/bin/svnlite
elif [ -f /usr/local/bin/svn ]; then elif [ -e /usr/local/bin/svn ]; then
commit_ts=$( svn info --show-item last-changed-date | sed -e 's/\..*//' -e 's/T/./' -e 's/-//g' -e s'/://g' ) svn=/usr/local/bin/svn
else else
errx "Can't lookup Subversion commit timestamp" errx "Unable to find subversion"
fi fi
commit_ts="$( "$svn" info --show-item last-changed-date | sed -e 's/\..*//' -e 's/T/./' -e 's/-//g' -e s'/://g' )"
[ $? -ne 0 ] && errx "Can't lookup Subversion commit timestamp" [ $? -ne 0 ] && errx "Can't lookup Subversion commit timestamp"
else else
errx "Unable to determine sandbox type" errx "Unable to determine source control type"
fi fi
commit_ver=$(${objdir}/bin/freebsd-version/freebsd-version -u 2>/dev/null) commit_ver=$(${objdir}/bin/freebsd-version/freebsd-version -u 2>/dev/null)
@ -137,8 +138,8 @@ beadm create ${BENAME} >/dev/null || errx "Unable to create BE ${BENAME}"
beadm mount ${BENAME} ${BE_TMP}/mnt || errx "Unable to mount BE ${BENAME}." beadm mount ${BENAME} ${BE_TMP}/mnt || errx "Unable to mount BE ${BENAME}."
echo "Mounted ${BENAME} to ${BE_MNTPT}, performing install/update ..." echo "Mounted ${BENAME} to ${BE_MNTPT}, performing install/update ..."
make $* DESTDIR=${BE_MNTPT} installkernel || errx "Installkernel failed!" make "$@" DESTDIR=${BE_MNTPT} installkernel || errx "Installkernel failed!"
make $* DESTDIR=${BE_MNTPT} installworld || errx "Installworld failed!" make "$@" DESTDIR=${BE_MNTPT} installworld || errx "Installworld failed!"
if [ -n "${CONFIG_UPDATER}" ]; then if [ -n "${CONFIG_UPDATER}" ]; then
"update_${CONFIG_UPDATER}" "update_${CONFIG_UPDATER}"