0bee96eab7
used with curly braces and quotes, as in "${var}". Also ensure that command substitution is quoted, as in "$(command)", and convert `command` to $(command). Reviewed by agc
88 lines
2.7 KiB
Bash
Executable File
88 lines
2.7 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# $NetBSD: regpkgset,v 1.5 2006/01/03 18:31:09 apb Exp $
|
|
#
|
|
# Copyright (c) 2003 Alistair G. Crooks. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# 3. All advertising materials mentioning features or use of this software
|
|
# must display the following acknowledgement:
|
|
# This product includes software developed by Alistair G. Crooks.
|
|
# for the NetBSD project.
|
|
# 4. The name of the author may not be used to endorse or promote
|
|
# products derived from this software without specific prior written
|
|
# permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
|
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
|
|
# Usage: regpkgset set
|
|
|
|
rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
|
|
|
|
verbose=""
|
|
cache=""
|
|
|
|
while [ $# -gt 1 ]; do
|
|
case "$1" in
|
|
-v) verbose="$1" ;;
|
|
-c) cache="$1" ;;
|
|
*) break ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: regpkgset pkgset..."
|
|
exit 1
|
|
fi
|
|
|
|
case "$1" in
|
|
all) list="base comp etc games man misc text" ;;
|
|
*) list="$*" ;;
|
|
esac
|
|
|
|
if [ x"${cache}" != x ]; then
|
|
BUILD_INFO_CACHE="$(${MKTEMP} "/var/tmp/${0##*/}-BUILD_INFO.XXXXXX")"
|
|
export BUILD_INFO_CACHE
|
|
{
|
|
echo "OPSYS=$(${UNAME} -s)"
|
|
echo "OS_VERSION=$(${UNAME} -r)"
|
|
${MAKE} -f- all <<EOF
|
|
.include <bsd.own.mk>
|
|
all:
|
|
@echo OBJECT_FMT=${OBJECT_FMT}
|
|
@echo MACHINE_ARCH=${MACHINE_ARCH}
|
|
@echo MACHINE_GNU_ARCH=${MACHINE_GNU_ARCH}
|
|
EOF
|
|
echo "_PKGTOOLS_VER=$(${PKG_CREATE} -V)"
|
|
} > "${BUILD_INFO_CACHE}"
|
|
fi
|
|
|
|
for pkgset in ${list}; do
|
|
for pkg in $("${rundir}/listpkgs" "${pkgset}"); do
|
|
"${rundir}/regpkg" ${verbose} "${pkgset}" "${pkg}"
|
|
done
|
|
done
|
|
|
|
[ x"${BUILD_INFO_CACHE}" != x ] && rm -f "${BUILD_INFO_CACHE}"
|
|
|
|
exit 0
|