1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-28 01:06:17 +00:00

explicit_lib_depends.sh shows you the current explicit dependency list of

libs for a given installed port, e.g.:
	# ./explicit_lib_depends.sh gnome-vfs-2.18.1_2
	USE_GETTEXT=yes
	USE_GNOME+=gconf2
	USE_GNOME+=glib20
	USE_GNOME+=gnomevfs2
	USE_GNOME+=libxml2
	USE_GNOME+=orbit2
	USE_ICONV=yes
	avahi-client:net/avahi
	avahi-common:net/avahi
	avahi-glib:net/avahi
	dbus-1:devel/dbus
	dbus-glib-1:devel/dbus-glib
This commit is contained in:
Alexander Leidinger 2007-08-24 14:29:42 +00:00
parent 011560cf37
commit 2733307251
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=198252

View File

@ -0,0 +1,115 @@
#!/bin/sh
#
# Copyright (C) 2007 Alexander Leidinger <netchild@FreeBSD.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 AUTHOR 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 AUTHOR 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.
#
# $FreeBSD$
#
# The purpose of this script is to give the real dependency list of a
# currently installed port.
#
print_usage() {
echo "Usage: $0 [-b base ...] port_name ..."
echo "Example: $0 -b /usr/local -b /space/porttest gnome-vfs-2.18.1_2"
}
args=$(getopt b:h $@)
if [ $? -ne 0 ]; then
print_usage
exit 2
fi
set -- ${args}
for arg; do
case "${arg}" in
-b)
bases="${bases} -b $2"
shift; shift
;;
-h)
print_usage
exit 0
;;
--)
shift
break
;;
esac
done
if [ -z "$1" ]; then
print_usage
exit 2
fi
if [ -z "${PORTSDIR}" ]; then
PORTSDIR=$(make -f /etc/make.conf -V PORTSDIR)
fi
if [ -z "${PORTSDIR}" -o ! -d "${PORTSDIR}" ]; then
PORTSDIR=/usr/ports
fi
if [ -z "${PKG_DBDIR} ]; then
PKG_DBDIR=$(make -f /etc/make.conf -V PKG_DBDIR)
fi
if [ -z "${PKG_DBDIR} -o ! -d "${PKG_DBDIR}" ]; then
PKG_DBDIR=/var/db/pkg
fi
for i in $@; do
if [ -d "${i}" ]; then
current_port="${i}"
else
if [ -d "${PKG_DBDIR}/${i}" ]; then
current_port="${PKG_DBDIR}/${i}"
fi
fi
awk '
/^@cwd / {
CWD=$2;
if (CWD == ".") {
exit 0;
}
}
/^bin\// {
printf "%s/%s\n", CWD, $1;
}
/^lib\// {
printf "%s/%s\n", CWD, $1;
}
' < ${current_port}/+CONTENTS | \
xargs ${PORTSDIR}/Tools/scripts/neededlibs.sh | \
xargs ${PORTSDIR}/Tools/scripts/resolveportsfromlibs.sh ${bases}
done | sort -u