diff options
author | joerg <joerg@pkgsrc.org> | 2008-05-15 17:44:42 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2008-05-15 17:44:42 +0000 |
commit | b5cc0456f36b54c48e9b283aaf7b480b985169b7 (patch) | |
tree | f8c09bf5b1d452e8e75ea29e63ef9a159acd0a9c /pkgtools/pkg_leaves | |
parent | 1b76725d426d2c778337207dc0370d9301079345 (diff) | |
download | pkgsrc-b5cc0456f36b54c48e9b283aaf7b480b985169b7.tar.gz |
As requested on IRC, add pkg_leaves-1.0:
pkg_leaves is a small script to print a list of leaf packages aka
packages not depended on.
Diffstat (limited to 'pkgtools/pkg_leaves')
-rw-r--r-- | pkgtools/pkg_leaves/DESCR | 2 | ||||
-rw-r--r-- | pkgtools/pkg_leaves/Makefile | 32 | ||||
-rw-r--r-- | pkgtools/pkg_leaves/PLIST | 2 | ||||
-rw-r--r-- | pkgtools/pkg_leaves/files/pkg_leaves | 62 |
4 files changed, 98 insertions, 0 deletions
diff --git a/pkgtools/pkg_leaves/DESCR b/pkgtools/pkg_leaves/DESCR new file mode 100644 index 00000000000..c9322e692a7 --- /dev/null +++ b/pkgtools/pkg_leaves/DESCR @@ -0,0 +1,2 @@ +pkg_leaves is a small script to print a list of leaf packages aka +packages not depended on. diff --git a/pkgtools/pkg_leaves/Makefile b/pkgtools/pkg_leaves/Makefile new file mode 100644 index 00000000000..9dacaddab85 --- /dev/null +++ b/pkgtools/pkg_leaves/Makefile @@ -0,0 +1,32 @@ +# $NetBSD: Makefile,v 1.1.1.1 2008/05/15 17:44:42 joerg Exp $ + +DISTNAME= pkg_leaves-1.0 +CATEGORIES= pkgtools +MASTER_SITES= # empty +DISTFILES= # empty + +MAINTAINER= joerg@NetBSD.org +COMMENT= Print leaf packages + +PKG_DESTDIR_SUPPORT= user-destdir + +WRKSRC= ${WRKDIR} +NO_CHECKSUM= yes +NO_BUILD= yes +USE_LANGUAGES= # none + +# Set SCRIPT_SUBST to substitute "@VARIABLE@" with "value" +SUBST_CLASSES+= vars +SUBST_STAGE.vars= do-configure +SUBST_FILES.vars= pkg_leaves +SUBST_VARS.vars= PKG_INFO_CMD PKG_DBDIR SH + +INSTALLATION_DIRS= bin + +do-extract: + cd ${FILESDIR} && cp pkg_leaves ${WRKSRC}/ + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/pkg_leaves ${DESTDIR}${PREFIX}/bin + +.include "../../mk/bsd.pkg.mk" diff --git a/pkgtools/pkg_leaves/PLIST b/pkgtools/pkg_leaves/PLIST new file mode 100644 index 00000000000..61f6c68bd4f --- /dev/null +++ b/pkgtools/pkg_leaves/PLIST @@ -0,0 +1,2 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2008/05/15 17:44:42 joerg Exp $ +bin/pkg_leaves diff --git a/pkgtools/pkg_leaves/files/pkg_leaves b/pkgtools/pkg_leaves/files/pkg_leaves new file mode 100644 index 00000000000..e3a97360b44 --- /dev/null +++ b/pkgtools/pkg_leaves/files/pkg_leaves @@ -0,0 +1,62 @@ +#!@SH@ +# +# Copyright (c) 2008 Joerg Sonnenberger <joerg@NetBSD.org>. +# All rights reserved. +# +# 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. +# +# 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. +# + +PKG_INFO="@PKG_INFO_CMD@" +PKG_DBDIR="@PKG_DBDIR@" + +skip_manual=yes + +usage() +{ + echo "$0 [-a] [-K pkg_dbdir]" + echo "Print all automatically installed leaf packages." + echo "If -a is specified, print all leaf packages." + exit 1 +} + +while [ $# -gt 0 ] ; do + case "$1" in + -a) + skip_manual=no + shift + ;; + -K) + PKG_DBDIR="$2" + ;; + esac +done + +${PKG_INFO} -K "${PKG_DBDIR}" -e '*' | while read pkg; do + if [ -z "`${PKG_INFO} -K "${PKG_DBDIR}" -q -R ${pkg}`" ]; then + if [ ${skip_manual} = "yes" ]; then + if [ "`${PKG_INFO} -K "${PKG_DBDIR}" -Q automatic ${pkg}`" != yes ]; then + continue + fi + fi + echo ${pkg} + fi +done |