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