regpkgset revision 1.5
11.1Sagc#! /bin/sh
21.1Sagc#
31.5Sapb# $NetBSD: regpkgset,v 1.5 2006/01/03 18:31:09 apb Exp $
41.1Sagc#
51.1Sagc# Copyright (c) 2003 Alistair G. Crooks.  All rights reserved.
61.1Sagc#
71.1Sagc# Redistribution and use in source and binary forms, with or without
81.1Sagc# modification, are permitted provided that the following conditions
91.1Sagc# are met:
101.1Sagc# 1. Redistributions of source code must retain the above copyright
111.1Sagc#    notice, this list of conditions and the following disclaimer.
121.1Sagc# 2. Redistributions in binary form must reproduce the above copyright
131.1Sagc#    notice, this list of conditions and the following disclaimer in the
141.1Sagc#    documentation and/or other materials provided with the distribution.
151.1Sagc# 3. All advertising materials mentioning features or use of this software
161.1Sagc#    must display the following acknowledgement:
171.1Sagc#	This product includes software developed by Alistair G. Crooks.
181.1Sagc#	for the NetBSD project.
191.1Sagc# 4. The name of the author may not be used to endorse or promote
201.1Sagc#    products derived from this software without specific prior written
211.1Sagc#    permission.
221.1Sagc#
231.1Sagc# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
241.1Sagc# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
251.1Sagc# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
261.1Sagc# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
271.1Sagc# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
281.1Sagc# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
291.1Sagc# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
301.1Sagc# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
311.1Sagc# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
321.1Sagc# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
331.1Sagc# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
341.1Sagc#
351.1Sagc
361.1Sagc# Usage: regpkgset set
371.1Sagc
381.5Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
391.3Serh
401.1Sagcverbose=""
411.2Sdyoungcache=""
421.1Sagc
431.1Sagcwhile [ $# -gt 1 ]; do
441.5Sapb	case "$1" in
451.5Sapb	-v)	verbose="$1" ;;
461.5Sapb	-c)	cache="$1" ;;
471.1Sagc	*)	break ;;
481.1Sagc	esac
491.1Sagc	shift
501.1Sagcdone
511.1Sagc
521.1Sagcif [ $# -lt 1 ]; then
531.1Sagc	echo "Usage: regpkgset pkgset..."
541.1Sagc	exit 1
551.1Sagcfi
561.1Sagc
571.5Sapbcase "$1" in
581.1Sagcall)	list="base comp etc games man misc text" ;;
591.5Sapb*)	list="$*" ;;
601.1Sagcesac
611.1Sagc
621.5Sapbif [ x"${cache}" != x ]; then
631.5Sapb	BUILD_INFO_CACHE="$(${MKTEMP} "/var/tmp/${0##*/}-BUILD_INFO.XXXXXX")"
641.2Sdyoung	export BUILD_INFO_CACHE
651.2Sdyoung	{
661.5Sapb	echo "OPSYS=$(${UNAME} -s)"
671.5Sapb	echo "OS_VERSION=$(${UNAME} -r)"
681.4Sapb	${MAKE} -f- all <<EOF
691.2Sdyoung.include <bsd.own.mk>
701.2Sdyoungall:
711.2Sdyoung	@echo OBJECT_FMT=${OBJECT_FMT}
721.2Sdyoung	@echo MACHINE_ARCH=${MACHINE_ARCH}
731.2Sdyoung	@echo MACHINE_GNU_ARCH=${MACHINE_GNU_ARCH}
741.2SdyoungEOF
751.5Sapb	echo "_PKGTOOLS_VER=$(${PKG_CREATE} -V)"
761.5Sapb	} > "${BUILD_INFO_CACHE}"
771.2Sdyoungfi
781.2Sdyoung
791.5Sapbfor pkgset in ${list}; do
801.5Sapb	for pkg in $("${rundir}/listpkgs" "${pkgset}"); do
811.5Sapb		"${rundir}/regpkg" ${verbose} "${pkgset}" "${pkg}"
821.1Sagc	done
831.1Sagcdone
841.1Sagc
851.5Sapb[ x"${BUILD_INFO_CACHE}" != x ] && rm -f "${BUILD_INFO_CACHE}"
861.2Sdyoung
871.1Sagcexit 0
88