regpkgset revision 1.2
11.1Sagc#! /bin/sh
21.1Sagc#
31.2Sdyoung# $NetBSD: regpkgset,v 1.2 2004/01/16 10:05:10 dyoung 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.1Sagcverbose=""
391.2Sdyoungcache=""
401.1Sagc
411.1Sagcwhile [ $# -gt 1 ]; do
421.1Sagc	case $1 in
431.1Sagc	-v)	verbose=$1 ;;
441.2Sdyoung	-c)	cache=$1 ;;
451.1Sagc	*)	break ;;
461.1Sagc	esac
471.1Sagc	shift
481.1Sagcdone
491.1Sagc
501.1Sagcif [ $# -lt 1 ]; then
511.1Sagc	echo "Usage: regpkgset pkgset..."
521.1Sagc	exit 1
531.1Sagcfi
541.1Sagc
551.1Sagccase $1 in
561.1Sagcall)	list="base comp etc games man misc text" ;;
571.1Sagc*)	list=$@ ;;
581.1Sagcesac
591.1Sagc
601.2Sdyoungif [ x${cache} != x ]; then
611.2Sdyoung	BUILD_INFO_CACHE=$(mktemp /var/tmp/$(basename $0)-BUILD_INFO.XXXXXX)
621.2Sdyoung	export BUILD_INFO_CACHE
631.2Sdyoung	{
641.2Sdyoung	echo "OPSYS=`uname -s`"
651.2Sdyoung	echo "OS_VERSION=`uname -r`"
661.2Sdyoung	make -f- all <<EOF
671.2Sdyoung.include <bsd.own.mk>
681.2Sdyoungall:
691.2Sdyoung	@echo OBJECT_FMT=${OBJECT_FMT}
701.2Sdyoung	@echo MACHINE_ARCH=${MACHINE_ARCH}
711.2Sdyoung	@echo MACHINE_GNU_ARCH=${MACHINE_GNU_ARCH}
721.2SdyoungEOF
731.2Sdyoung	echo "_PKGTOOLS_VER=`pkg_create -V`"
741.2Sdyoung	} > ${BUILD_INFO_CACHE}
751.2Sdyoungfi
761.2Sdyoung
771.1Sagcfor pkgset in $list; do
781.1Sagc	for pkg in `./listpkgs $pkgset`; do
791.1Sagc		./regpkg $verbose $pkgset $pkg
801.1Sagc	done
811.1Sagcdone
821.1Sagc
831.2Sdyoung[ x${BUILD_INFO_CACHE} != x ] && rm -f ${BUILD_INFO_CACHE}
841.2Sdyoung
851.1Sagcexit 0
86