Made releng/manual_burn and releng/manual_devices work on FreeBSD

This commit is contained in:
Thomas Schmitt 2011-08-09 16:24:40 +00:00
parent 9950e3e55d
commit 5d1e5d423c

View File

@ -45,16 +45,18 @@ cleanup() {
# Verify once again we are in the releng_generated_data directory
# Check for both returned code of grep and returned matching string
READ_CANON_EXISTS=`readlink -e "${GEN_DATA_DIR}"`
# There is no "readlink -e" on FreeBSD
READ_CANON_EXISTS=`cd "${GEN_DATA_DIR}" 2>/dev/null && pwd`
DIR_NAME_GEN_DATA=`dirname "${READ_CANON_EXISTS}"`
set +e
RET_NON_EMPTY_STRING=`echo "${DIR_NAME_GEN_DATA}" | grep -P "\w+\/releng_generated_data$"`
# There is no "grep -P" on FreeBSD
RET_NON_EMPTY_STRING=`echo "${DIR_NAME_GEN_DATA}" | grep "[a-zA-Z0-9_][a-zA-Z0-9_]*/releng_generated_data$"`
GREP_RET_GEN_DATA="$?"
case "${GREP_RET_GEN_DATA}" in
0)
if [ x"${RET_NON_EMPTY_STRING}" != x"" ]; then
# now call the nastiness
chmod +w -R ${GEN_DATA_DIR}
chmod -R +w ${GEN_DATA_DIR}
rm -rf ${GEN_DATA_DIR}
boldify
printf "${SELF}: Removed (self-generated) %s\n" ${GEN_DATA_DIR}