Bump version to pkg_chk-1.91: * Look for $MAKECONF in @MAKECONF@, @PREFIX@/etc/mk.conf, and /etc/mk.conf, in that order. * Look for $PKGSRCDIR in the Makefile referred to by $MAKECONF, ".", "..", "../..", and "/usr/pkgsrc", in that order. * Convert the Makefil to use the SUBST framework. Proposed in tech-pkg; OK (in principle) David Brownleediff -r1.60 -r1.61 pkgsrc/pkgtools/pkg_chk/Makefile
(apb)
@@ -1,55 +1,46 @@ | @@ -1,55 +1,46 @@ | |||
1 | # $NetBSD: Makefile,v 1.60 2008/04/23 21:55:29 abs Exp $ | 1 | # $NetBSD: Makefile,v 1.61 2008/05/02 19:10:26 apb Exp $ | |
2 | 2 | |||
3 | DISTNAME= pkg_chk-1.91 | 3 | DISTNAME= pkg_chk-1.91 | |
4 | CATEGORIES= pkgtools | 4 | CATEGORIES= pkgtools | |
5 | MASTER_SITES= # empty | 5 | MASTER_SITES= # empty | |
6 | DISTFILES= # empty | 6 | DISTFILES= # empty | |
7 | 7 | |||
8 | MAINTAINER= abs@NetBSD.org | 8 | MAINTAINER= abs@NetBSD.org | |
9 | HOMEPAGE= ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/doc/pkgsrc.html | 9 | HOMEPAGE= ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/doc/pkgsrc.html | |
10 | COMMENT= Check installed package versions against pkgsrc | 10 | COMMENT= Check installed package versions against pkgsrc | |
11 | 11 | |||
12 | PKG_INSTALLATION_TYPES= overwrite pkgviews | 12 | PKG_INSTALLATION_TYPES= overwrite pkgviews | |
13 | 13 | |||
14 | WRKSRC= ${WRKDIR} | 14 | WRKSRC= ${WRKDIR} | |
15 | EXTRACT_ONLY= # empty | 15 | EXTRACT_ONLY= # empty | |
16 | USE_LANGUAGES= # empty | 16 | USE_LANGUAGES= # empty | |
17 | USE_TOOLS+= mktemp:run | 17 | USE_TOOLS+= mktemp:run | |
18 | USE_TOOLS+= gzip:run | 18 | USE_TOOLS+= gzip:run | |
19 | NO_CHECKSUM= YES | 19 | NO_CHECKSUM= YES | |
20 | NO_BUILD= yes | |||
20 | 21 | |||
21 | CONFLICTS= pkgchk-[0-9]* | 22 | CONFLICTS= pkgchk-[0-9]* | |
22 | 23 | |||
23 | INSTALLATION_DIRS= sbin ${PKGMANDIR}/man8 | 24 | INSTALLATION_DIRS= sbin ${PKGMANDIR}/man8 | |
24 | 25 | |||
25 | .include "../../mk/bsd.prefs.mk" | 26 | .include "../../mk/bsd.prefs.mk" | |
26 | 27 | |||
27 | # Avoid changing any the actual value of MAKECONF | 28 | SUBST_CLASSES+= vars | |
28 | TMP_MAKECONF=${MAKECONF:U/etc/mk.conf} | 29 | SUBST_STAGE.vars= pre-configure | |
29 | 30 | SUBST_MESSAGE.vars= Configuring sources. | ||
30 | do-build: | 31 | SUBST_FILES.vars= pkg_chk.sh pkg_chk.8 | |
31 | ${SED} -e 's#@AWK@#${AWK}#g' \ | 32 | SUBST_VARS.vars= AWK GREP GZIP_CMD ID MAKE MAKECONF MKTEMP \ | |
32 | -e 's#@GREP@#${GREP}#g' \ | 33 | PKG_ADD PKG_ADMIN PKG_DELETE PKG_INFO \ | |
33 | -e 's#@GZIP_CMD@#${GZIP_CMD}#g' \ | 34 | SED SH SORT TSORT PREFIX PKG_DBDIR XARGS | |
34 | -e 's#@ID@#${ID}#g' \ | 35 | ||
35 | -e 's#@MAKE@#${MAKE}#g' \ | 36 | REPLACE_SH+= pkg_chk.sh | |
36 | -e 's#@MAKECONF@#${TMP_MAKECONF}#g' \ | 37 | ||
37 | -e 's#@MKTEMP@#${MKTEMP}#g' \ | 38 | do-extract: | |
38 | -e 's#@PKG_ADD@#${PKG_ADD}#g' \ | 39 | cp ${FILESDIR}/pkg_chk.sh ${WRKSRC} | |
39 | -e 's#@PKG_ADMIN@#${PKG_ADMIN}#g' \ | 40 | cp ${FILESDIR}/pkg_chk.8 ${WRKSRC} | |
40 | -e 's#@PKG_DELETE@#${PKG_DELETE}#g' \ | |||
41 | -e 's#@PKG_INFO@#${PKG_INFO}#g' \ | |||
42 | -e 's#@SED@#${SED}#g' \ | |||
43 | -e 's#@SH@#${SH}#g' \ | |||
44 | -e 's#@SORT@#${SORT}#g' \ | |||
45 | -e 's#@TSORT@#${TSORT}#g' \ | |||
46 | -e 's#@PREFIX@#${PREFIX}#g' \ | |||
47 | -e 's#@PKG_DBDIR@#${PKG_DBDIR}#g' \ | |||
48 | -e 's#@XARGS@#${XARGS}#g' \ | |||
49 | ${FILESDIR}/pkg_chk.sh >${WRKSRC}/pkg_chk.sh | |||
50 | 41 | |||
51 | do-install: | 42 | do-install: | |
52 | ${INSTALL_SCRIPT} ${WRKSRC}/pkg_chk.sh ${PREFIX}/sbin/pkg_chk | 43 | ${INSTALL_SCRIPT} ${WRKSRC}/pkg_chk.sh ${PREFIX}/sbin/pkg_chk | |
53 | ${INSTALL_MAN} ${FILESDIR}/pkg_chk.8 ${PREFIX}/${PKGMANDIR}/man8/pkg_chk.8 | 44 | ${INSTALL_MAN} ${WRKSRC}/pkg_chk.8 ${PREFIX}/${PKGMANDIR}/man8/pkg_chk.8 | |
54 | 45 | |||
55 | .include "../../mk/bsd.pkg.mk" | 46 | .include "../../mk/bsd.pkg.mk" |
@@ -1,19 +1,19 @@ | @@ -1,19 +1,19 @@ | |||
1 | .\" $NetBSD: pkg_chk.8,v 1.25 2007/08/27 15:28:54 abs Exp $ | 1 | .\" $NetBSD: pkg_chk.8,v 1.26 2008/05/02 19:10:26 apb Exp $ | |
2 | .\" | 2 | .\" | |
3 | .\" Copyright (c) 2001 by David Brownlee (abs@NetBSD.org) | 3 | .\" Copyright (c) 2001 by David Brownlee (abs@NetBSD.org) | |
4 | .\" Absolutely no warranty. | 4 | .\" Absolutely no warranty. | |
5 | .\" | 5 | .\" | |
6 | .Dd September 29, 2006 | 6 | .Dd May 2, 2008 | |
7 | .Dt PKG_CHK 8 | 7 | .Dt PKG_CHK 8 | |
8 | .Sh NAME | 8 | .Sh NAME | |
9 | .Nm pkg_chk | 9 | .Nm pkg_chk | |
10 | .Nd check, and optionally update, installed packages | 10 | .Nd check, and optionally update, installed packages | |
11 | .Sh SYNOPSIS | 11 | .Sh SYNOPSIS | |
12 | .Nm | 12 | .Nm | |
13 | .Op Fl aBbcfhiklNnpqrsuv | 13 | .Op Fl aBbcfhiklNnpqrsuv | |
14 | .Op Fl C Ar conf | 14 | .Op Fl C Ar conf | |
15 | .Op Fl D Ar tags | 15 | .Op Fl D Ar tags | |
16 | .Op Fl L Ar file | 16 | .Op Fl L Ar file | |
17 | .Op Fl P Ar path | 17 | .Op Fl P Ar path | |
18 | .Op Fl U Ar tags | 18 | .Op Fl U Ar tags | |
19 | .Sh DESCRIPTION | 19 | .Sh DESCRIPTION | |
@@ -258,40 +258,47 @@ or | @@ -258,40 +258,47 @@ or | |||
258 | is present, | 258 | is present, | |
259 | .Em x11 | 259 | .Em x11 | |
260 | is added to the list of tags. | 260 | is added to the list of tags. | |
261 | Tags should not contain the - or + characters. | 261 | Tags should not contain the - or + characters. | |
262 | To see tags for the current machine, run | 262 | To see tags for the current machine, run | |
263 | .Nm | 263 | .Nm | |
264 | with the | 264 | with the | |
265 | .Fl v | 265 | .Fl v | |
266 | option. | 266 | option. | |
267 | .Sh ENVIRONMENT | 267 | .Sh ENVIRONMENT | |
268 | .Nm | 268 | .Nm | |
269 | uses the following environment variables. | 269 | uses the following environment variables. | |
270 | .Bl -tag -width xxxx | 270 | .Bl -tag -width xxxx | |
271 | .It Ev PKGSRCDIR | 271 | .It Ev MAKECONF | |
272 | Base of pkgsrc tree. | 272 | Path to | |
273 | If not set in environment then read from | 273 | .Pa mk.conf . | |
274 | .Pa ${MAKECONF} | 274 | Defaults to | |
275 | .Pa @MAKECONF@ , @PREFIX@/etc/mk.conf , | |||
275 | or | 276 | or | |
276 | .Pa /etc/mk.conf . | 277 | .Pa /etc/mk.conf . | |
277 | Defaults to | 278 | .It Ev PKGSRCDIR | |
279 | Base of pkgsrc tree. | |||
280 | If not set in the environment, then this variable is read from | |||
281 | .Pa ${MAKECONF} . | |||
282 | If it is still not set, and if the current working directory | |||
283 | appears to be inside a pkgsrc tree, then this variable | |||
284 | is set to the base of that pkgsrc tree. | |||
285 | Finally, if | |||
278 | .Pa /usr/pkgsrc | 286 | .Pa /usr/pkgsrc | |
287 | appears to contain a pkgsrc tree, then that is used as a last resort. | |||
279 | .It Ev PKG_DBDIR | 288 | .It Ev PKG_DBDIR | |
280 | pkgsrc database directory. | 289 | pkgsrc database directory. | |
281 | If not set in environment then read from | 290 | If not set in environment then read from | |
282 | .Pa ${MAKECONF} | 291 | .Pa ${MAKECONF} . | |
283 | or | |||
284 | .Pa /etc/mk.conf . | |||
285 | Defaults to | 292 | Defaults to | |
286 | .Pa /var/db/pkg | 293 | .Pa /var/db/pkg | |
287 | .It Ev PACKAGES | 294 | .It Ev PACKAGES | |
288 | Location of binary packages. | 295 | Location of binary packages. | |
289 | If not set in environment then read from | 296 | If not set in environment then read from | |
290 | .Pa /etc/mk.conf . | 297 | .Pa /etc/mk.conf . | |
291 | Defaults to | 298 | Defaults to | |
292 | .Pa ${PKGSRCDIR}/packages . | 299 | .Pa ${PKGSRCDIR}/packages . | |
293 | .Pp | 300 | .Pp | |
294 | Unless in a completely homogeneous environment (every machine running | 301 | Unless in a completely homogeneous environment (every machine running | |
295 | exactly the same OS version and architecture) setting | 302 | exactly the same OS version and architecture) setting | |
296 | .Ev ${PACKAGES} | 303 | .Ev ${PACKAGES} | |
297 | in | 304 | in |
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | #!@SH@ -e | 1 | #!@SH@ -e | |
2 | # | 2 | # | |
3 | # $Id: pkg_chk.sh,v 1.56 2008/04/23 21:55:29 abs Exp $ | 3 | # $Id: pkg_chk.sh,v 1.57 2008/05/02 19:10:26 apb Exp $ | |
4 | # | 4 | # | |
5 | # TODO: Make -g check dependencies and tsort | 5 | # TODO: Make -g check dependencies and tsort | |
6 | # TODO: Variation of -g which only lists top level packages | 6 | # TODO: Variation of -g which only lists top level packages | |
7 | # TODO: List top level packages installed but not in config | 7 | # TODO: List top level packages installed but not in config | |
8 | 8 | |||
9 | PATH=${PATH}:/usr/sbin:/usr/bin | 9 | PATH=${PATH}:/usr/sbin:/usr/bin | |
10 | 10 | |||
11 | SUMMARY_FILE=pkg_summary.gz | 11 | SUMMARY_FILE=pkg_summary.gz | |
12 | OLD_SUMMARY_FILE=pkg_chk-summary | 12 | OLD_SUMMARY_FILE=pkg_chk-summary | |
13 | 13 | |||
14 | is_binary_available() | 14 | is_binary_available() | |
15 | { | 15 | { | |
16 | if [ -n "$PKGDB" ]; then | 16 | if [ -n "$PKGDB" ]; then | |
@@ -148,29 +148,40 @@ extract_pkg_vars() | @@ -148,29 +148,40 @@ extract_pkg_vars() | |||
148 | if [ ! -f $PKGSRCDIR/$pkgdir/Makefile ];then | 148 | if [ ! -f $PKGSRCDIR/$pkgdir/Makefile ];then | |
149 | msg "WARNING: No $pkgdir/Makefile - package moved or obsolete?" | 149 | msg "WARNING: No $pkgdir/Makefile - package moved or obsolete?" | |
150 | return | 150 | return | |
151 | fi | 151 | fi | |
152 | cd $PKGSRCDIR/$PKGDIR | 152 | cd $PKGSRCDIR/$PKGDIR | |
153 | extract_make_vars Makefile "$@" | 153 | extract_make_vars Makefile "$@" | |
154 | if [ -z "$PKGNAME" ]; then | 154 | if [ -z "$PKGNAME" ]; then | |
155 | fatal "Unable to extract PKGNAME for $pkgdir" | 155 | fatal "Unable to extract PKGNAME for $pkgdir" | |
156 | fi | 156 | fi | |
157 | } | 157 | } | |
158 | 158 | |||
159 | extract_variables() | 159 | extract_variables() | |
160 | { | 160 | { | |
161 | extract_mk_var PKGSRCDIR /usr/pkgsrc | 161 | extract_mk_var PKGSRCDIR '' | |
162 | if [ ! -d $PKGSRCDIR -a -z "$opt_b" ] ; then | 162 | if [ -z "$PKGSRCDIR" ] ; then | |
163 | fatal "Unable to locate PKGSRCDIR ($PKGSRCDIR)" | 163 | for dir in . .. ../.. /usr/pkgsrc ; do | |
164 | if [ -f "${dir}/mk/bsd.pkg.mk" ]; then | |||
165 | case "${dir}" in | |||
166 | /*) PKGSRCDIR="${dir}" ;; | |||
167 | *) PKGSRCDIR="$( cd "${dir}" >/dev/null 2>&1 && pwd )" ;; | |||
168 | esac | |||
169 | break | |||
170 | fi | |||
171 | done | |||
172 | fi | |||
173 | if [ ! -d $PKGSRCDIR -a \( -z "$opt_b" -o -n "$opt_s" \) ] ; then | |||
174 | fatal "Unable to locate PKGSRCDIR (${PKGSRCDIR:-not set})" | |||
164 | fi | 175 | fi | |
165 | 176 | |||
166 | # Now we have PKGSRCDIR, use it to determine PACKAGES, and PKGCHK_CONF | 177 | # Now we have PKGSRCDIR, use it to determine PACKAGES, and PKGCHK_CONF | |
167 | # as well as AWK, GREP, SED, PKGCHK_TAGS and PKGCHK_NOTAGS | 178 | # as well as AWK, GREP, SED, PKGCHK_TAGS and PKGCHK_NOTAGS | |
168 | # | 179 | # | |
169 | 180 | |||
170 | if [ -n "$opt_g" ]; then | 181 | if [ -n "$opt_g" ]; then | |
171 | : | 182 | : | |
172 | elif [ -z "$opt_b" -o -n "$opt_s" -o -d $PKGSRCDIR/pkgtools/pkg_chk ] ; then | 183 | elif [ -z "$opt_b" -o -n "$opt_s" -o -d $PKGSRCDIR/pkgtools/pkg_chk ] ; then | |
173 | cd $PKGSRCDIR/pkgtools/pkg_chk | 184 | cd $PKGSRCDIR/pkgtools/pkg_chk | |
174 | extract_make_vars Makefile \ | 185 | extract_make_vars Makefile \ | |
175 | AWK GREP GZIP_CMD ID PACKAGES PKGCHK_CONF PKGCHK_NOTAGS \ | 186 | AWK GREP GZIP_CMD ID PACKAGES PKGCHK_CONF PKGCHK_NOTAGS \ | |
176 | PKGCHK_TAGS PKGCHK_UPDATE_CONF PKG_ADD PKG_DBDIR PKG_DELETE \ | 187 | PKGCHK_TAGS PKGCHK_UPDATE_CONF PKG_ADD PKG_DBDIR PKG_DELETE \ | |
@@ -740,34 +751,36 @@ test -n "$PKG_ADD" || PKG_ADD="@PKG_A | @@ -740,34 +751,36 @@ test -n "$PKG_ADD" || PKG_ADD="@PKG_A | |||
740 | test -n "$PKG_ADMIN" || PKG_ADMIN="@PKG_ADMIN@" | 751 | test -n "$PKG_ADMIN" || PKG_ADMIN="@PKG_ADMIN@" | |
741 | test -n "$PKG_DBDIR" || PKG_DBDIR="@PKG_DBDIR@" | 752 | test -n "$PKG_DBDIR" || PKG_DBDIR="@PKG_DBDIR@" | |
742 | test -n "$PKG_DELETE" || PKG_DELETE="@PKG_DELETE@" | 753 | test -n "$PKG_DELETE" || PKG_DELETE="@PKG_DELETE@" | |
743 | test -n "$PKG_INFO" || PKG_INFO="@PKG_INFO@" | 754 | test -n "$PKG_INFO" || PKG_INFO="@PKG_INFO@" | |
744 | test -n "$SED" || SED="@SED@" | 755 | test -n "$SED" || SED="@SED@" | |
745 | test -n "$SORT" || SORT="@SORT@" | 756 | test -n "$SORT" || SORT="@SORT@" | |
746 | test -n "$TSORT" || TSORT="@TSORT@" | 757 | test -n "$TSORT" || TSORT="@TSORT@" | |
747 | test -n "$XARGS" || XARGS="@XARGS@" | 758 | test -n "$XARGS" || XARGS="@XARGS@" | |
748 | 759 | |||
749 | MY_TMPDIR=`${MKTEMP} -d ${TMPDIR-/tmp}/${0##*/}.XXXXXX` | 760 | MY_TMPDIR=`${MKTEMP} -d ${TMPDIR-/tmp}/${0##*/}.XXXXXX` | |
750 | test -n "$MY_TMPDIR" || fatal "Couldn't create temporary directory." | 761 | test -n "$MY_TMPDIR" || fatal "Couldn't create temporary directory." | |
751 | MY_TMPFILE=$MY_TMPDIR/tmp | 762 | MY_TMPFILE=$MY_TMPDIR/tmp | |
752 | 763 | |||
764 | if [ -z "$MAKECONF" ] ; then | |||
765 | for mkconf in "@MAKECONF@" "@PREFIX@/etc/mk.conf" /etc/mk.conf ; do | |||
766 | if [ -f "$mkconf" ] ; then | |||
767 | MAKECONF="$mkconf" | |||
768 | break | |||
769 | fi | |||
770 | done | |||
771 | fi | |||
753 | if [ -z "$MAKECONF" -o ! -f "$MAKECONF" ] ; then | 772 | if [ -z "$MAKECONF" -o ! -f "$MAKECONF" ] ; then | |
754 | if [ -f @PREFIX@/etc/mk.conf ] ; then | 773 | MAKECONF=/dev/null | |
755 | MAKECONF=@PREFIX@/etc/mk.conf | |||
756 | elif [ -f /etc/mk.conf ] ; then | |||
757 | MAKECONF=/etc/mk.conf | |||
758 | else | |||
759 | MAKECONF=/dev/null | |||
760 | fi | |||
761 | fi | 774 | fi | |
762 | verbose_var MAKECONF | 775 | verbose_var MAKECONF | |
763 | 776 | |||
764 | # grabbed from GNU configure | 777 | # grabbed from GNU configure | |
765 | if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then | 778 | if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then | |
766 | # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. | 779 | # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. | |
767 | if (echo -n testing; echo 1,2,3) | ${SED} s/-n/xn/ | grep xn >/dev/null; then | 780 | if (echo -n testing; echo 1,2,3) | ${SED} s/-n/xn/ | grep xn >/dev/null; then | |
768 | ac_n= ac_c=' | 781 | ac_n= ac_c=' | |
769 | ' ac_t=' ' | 782 | ' ac_t=' ' | |
770 | else | 783 | else | |
771 | ac_n=-n ac_c= ac_t= | 784 | ac_n=-n ac_c= ac_t= | |
772 | fi | 785 | fi | |
773 | else | 786 | else |