diff options
-rw-r--r-- | mk/bulk/printindex | 35 | ||||
-rw-r--r-- | mk/bulk/printindex.1 | 102 |
2 files changed, 119 insertions, 18 deletions
diff --git a/mk/bulk/printindex b/mk/bulk/printindex index a63236e76c2..ff60d66edcf 100644 --- a/mk/bulk/printindex +++ b/mk/bulk/printindex @@ -1,5 +1,5 @@ #!/bin/sh -# $NetBSD: printindex,v 1.25 2005/11/16 22:11:11 rillig Exp $ +# $NetBSD: printindex,v 1.26 2005/11/19 10:55:45 rillig Exp $ # # Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,23 +37,6 @@ # POSSIBILITY OF SUCH DAMAGE. # -# usage: printindex [brokenfile [bulkfilesdir]] -# -# Generates a mapping from pkgsrc directories to the current package -# version and prints it on stdout. Each line of the output has two -# fields: the package directory (in the form category/package) and the -# package version (in the form package-1.456nb3). -# -# If <brokenfile> is given, package-specific errors are logged to -# <bulkfilesdir>/${pkgdir}/<brokenfile>. Otherwise no additional logging -# takes place. -# -# The default for <bulkfilesdir> is the pkgsrc directory itself. If -# <bulkfilesdir> differs from the pkgsrc directory, all directories -# that are needed for the log files are created automatically. -# -# Note: printindex must be called from a pkgsrc root directory. - set -e # @@ -132,6 +115,22 @@ else fi # +# Sanity checks, part 2 +# + +case $BULK_PREREQ in +*[!-\ +./0-9A-Z_a-z]*) + echo "$0: error: BULK_PREREQ contains invalid characters. (Its value is \"${BULK_PREREQ}\".)" 1>&2 + exit 1 +esac +case $list in +*[!-\ +./0-9A-Z_a-z]*) + echo "$0: error: The package list contains invalid characters. (Its value is \"${list}\".)" 1>&2 + echo "$list" | tr ' ' '\n' > .list + exit 1 +esac + +# # Print the table of PKGPATH and PKGNAME. # # The check for duplicates is necessary to prevents double entries in diff --git a/mk/bulk/printindex.1 b/mk/bulk/printindex.1 new file mode 100644 index 00000000000..3128e18c20a --- /dev/null +++ b/mk/bulk/printindex.1 @@ -0,0 +1,102 @@ +.\" $NetBSD: printindex.1,v 1.1 2005/11/19 10:55:45 rillig Exp $ +.\" +.\" Copyright (c) 2005 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Roland Illig <rillig@NetBSD.org>. +.\" +.\" 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. +.\" +.Dd November 19, 2005 +.Dt printindex 1 +.Os +.Sh NAME +.Nm printindex +.Nd generate a PKGPATH <=> PKGNAME database file +.Sh SYNOPSIS +.Nm +.Op Ar brokenfile Op Ar bulkfilesdir +.Sh DESCRIPTION +Generates a mapping from pkgsrc directories to the current package +version and prints it on stdout. +Each line of the output has two fields: +the package directory (in the form category/package) and the +package version (in the form package-1.456nb3). +.Pp +If +.Ar brokenfile +is given, package-specific errors are logged to +.Ar bulkfilesdir Ns / Ns +.Va ${pkgdir} Ns / Ns +.Ar brokenfile Ns . +Otherwise no additional logging takes place. +.Pp +The default for +.Ar bulkfilesdir +is the pkgsrc directory itself. +If +.Ar bulkfilesdir +differs from the pkgsrc directory, all directories that are needed for +the log files are created automatically. +.Sh LIMITATIONS +.Nm +must be called from a pkgsrc root directory. +.Sh EXIT STATUS +Non-zero if writing to a log file fails, zero otherwise. +.Sh ENVIRONMENT +.Bl -tag -width XXXXXX +.It BMAKE +The +.Xr make 1 +program used to build packages. +.It PKGLIST (optional) +The list of packages to build an index from. +.El +.Sh FILES +.Bl -tag -width XXXXXX +.It Ar bulkfilesdir Ns / Ns .pkglist +A cache for the list of packages when PKGLIST is unset. +.El +.\" .Sh EXAMPLES +.Sh DIAGNOSTICS +All diagnostics start with the string +.Ql [printindex] +and may span multiple lines. +.Sh SEE ALSO +.Xr printdepends 1 +.\" .Sh STANDARDS +.Sh HISTORY +.Nm +appeared in 2001 as part of the bulk build framework. +.Sh AUTHORS +Many (see the CVS ChangeLog). +.\" .Sh CAVEATS +.\" .Sh BUGS +.\" .Sh SECURITY CONSIDERATIONS |