9a4f22c0ba
environment variable, which contains the name of the make(1) program to invoke - suggestion by Julien Letessier some time ago, the confusion mine, since I thought he was referring to something else completely. Don't rely on there being a POSIX tr(1) in the path by default - test explicitly for both "yes" and "YES". Set the default for PRUNEDISTFILES to "no", since we can't assume that the user wants us to delete something which he may have been keeping around, and there are other ways of accomplishing this aim (lintpkgsrc -o, for example). Clean up some superfluous white space at the end of lines.
112 lines
3.8 KiB
Bash
112 lines
3.8 KiB
Bash
#!/bin/sh
|
|
# $NetBSD: printindex,v 1.9 2002/08/07 10:56:12 agc Exp $
|
|
#
|
|
#
|
|
# Copyright (c) 2001 The NetBSD Foundation, Inc.
|
|
# All rights reserved.
|
|
#
|
|
# This code is derived from software contributed to The NetBSD Foundation
|
|
# by
|
|
#
|
|
# 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 the NetBSD
|
|
# Foundation, Inc. and its contributors.
|
|
# 4. Neither the name of The NetBSD Foundation nor the names of its
|
|
# contributors may be used to endorse or promote products derived
|
|
# from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
# ``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 FOUNDATION OR CONTRIBUTORS
|
|
# 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.
|
|
#
|
|
|
|
|
|
# Generate package index. If an argument is given, use it as a file name
|
|
# to contain any failure messages in each package directory.
|
|
#
|
|
# generates a pkgsrc directory <-> package name database. eg.
|
|
# foo/bar bar-2.0
|
|
# foo/baz baz-1.0.1
|
|
#
|
|
# Start in /usr/pkgsrc.
|
|
#
|
|
|
|
if [ ! -z "$1" ]; then
|
|
brokenfile=$1
|
|
else
|
|
brokenfile=/dev/null
|
|
fi
|
|
|
|
# /usr/pkgsrc
|
|
cwd=$PWD
|
|
|
|
# List of all pkgs, from pkgsrc/*/Makefile
|
|
list=`grep '^[[:space:]]*'SUBDIR */Makefile | sed 's,/Makefile.*=[[:space:]]*,/,'`
|
|
|
|
|
|
for pkgdir in $list
|
|
do
|
|
if [ ! -d $pkgdir ]; then
|
|
echo "WARNING: the package directory $pkgdir is listed in" > /dev/stderr
|
|
echo $pkgdir | sed 's;/.*;/Makefile;g' > /dev/stderr
|
|
echo "but the directory does not exist. Please fix this!" > /dev/stderr
|
|
else
|
|
cd $pkgdir
|
|
pkgname=`${BMAKE} show-var VARNAME=PKGNAME`
|
|
if [ $? != 0 ]; then
|
|
echo "ERROR: printindex could not extract PKGNAME for $pkgdir" > /dev/stderr
|
|
echo "${BMAKE} show-var VARNAME=PKGNAME failed" > $brokenfile
|
|
${BMAKE} show-var VARNAME=PKGNAME >> $brokenfile 2>&1
|
|
#exit 1
|
|
fi
|
|
echo "$pkgdir $pkgname "
|
|
fi
|
|
cd $cwd
|
|
done
|
|
|
|
# get the list of packages which should always be installed during the build
|
|
# Make sure these ended up in the index file. For example, xpkgwedge, might
|
|
# not be enabled for builds in pkgtools/xpkgwedge, but we may want to have
|
|
# it listed in the index file.
|
|
|
|
cd $cwd/pkgtools/pkglint && BULK_PREREQ=`${BMAKE} show-var VARNAME=BULK_PREREQ`
|
|
cd $cwd
|
|
|
|
for pkgdir in $BULK_PREREQ
|
|
do
|
|
case $list in
|
|
*$pkgdir*)
|
|
# its already listed, do nothing
|
|
;;
|
|
*)
|
|
cd $cwd/$pkgdir
|
|
pkgname=`${BMAKE} show-var VARNAME=PKGNAME`
|
|
if [ $? != 0 ]; then
|
|
echo "ERROR: printindex could not extract PKNAME for $pkgdir" > /dev/stderr
|
|
echo "${BMAKE} show-var VARNAME=PKGNAME failed" > $brokenfile
|
|
${BMAKE} show-var VARNAME=PKGNAME >> $brokenfile 2>&1
|
|
#exit 1
|
|
fi
|
|
echo "$pkgdir $pkgname "
|
|
cd $cwd
|
|
;;
|
|
esac
|
|
done
|
|
|