summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2008-05-15 17:44:42 +0000
committerjoerg <joerg@pkgsrc.org>2008-05-15 17:44:42 +0000
commitb5cc0456f36b54c48e9b283aaf7b480b985169b7 (patch)
treef8c09bf5b1d452e8e75ea29e63ef9a159acd0a9c
parent1b76725d426d2c778337207dc0370d9301079345 (diff)
downloadpkgsrc-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.
-rw-r--r--pkgtools/pkg_leaves/DESCR2
-rw-r--r--pkgtools/pkg_leaves/Makefile32
-rw-r--r--pkgtools/pkg_leaves/PLIST2
-rw-r--r--pkgtools/pkg_leaves/files/pkg_leaves62
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