regpkgset revision 1.3
11.1Sagc#! /bin/sh
21.1Sagc#
31.3Serh# $NetBSD: regpkgset,v 1.3 2004/07/23 15:11:26 erh 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.3Serhrundir=${0%/*}
391.3Serh
401.1Sagcverbose=""
411.2Sdyoungcache=""
421.1Sagc
431.1Sagcwhile [ $# -gt 1 ]; do
441.1Sagc	case $1 in
451.1Sagc	-v)	verbose=$1 ;;
461.2Sdyoung	-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.1Sagccase $1 in
581.1Sagcall)	list="base comp etc games man misc text" ;;
591.1Sagc*)	list=$@ ;;
601.1Sagcesac
611.1Sagc
621.2Sdyoungif [ x${cache} != x ]; then
631.2Sdyoung	BUILD_INFO_CACHE=$(mktemp /var/tmp/$(basename $0)-BUILD_INFO.XXXXXX)
641.2Sdyoung	export BUILD_INFO_CACHE
651.2Sdyoung	{
661.2Sdyoung	echo "OPSYS=`uname -s`"
671.2Sdyoung	echo "OS_VERSION=`uname -r`"
681.2Sdyoung	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.2Sdyoung	echo "_PKGTOOLS_VER=`pkg_create -V`"
761.2Sdyoung	} > ${BUILD_INFO_CACHE}
771.2Sdyoungfi
781.2Sdyoung
791.1Sagcfor pkgset in $list; do
801.3Serh	for pkg in `$rundir/listpkgs $pkgset`; do
811.3Serh		$rundir/regpkg $verbose $pkgset $pkg
821.1Sagc	done
831.1Sagcdone
841.1Sagc
851.2Sdyoung[ x${BUILD_INFO_CACHE} != x ] && rm -f ${BUILD_INFO_CACHE}
861.2Sdyoung
871.1Sagcexit 0
88