xbps-src: follow target names from xbps utils.

Some targets have been renamed:
	info		-> show
	list-files	-> show-files
Added a new target to print reverse dependencies for a package:
	show-revdeps
This commit is contained in:
Juan RP 2011-11-02 16:02:31 +01:00
parent cc4a48363f
commit 6f12d878c1
2 changed files with 71 additions and 12 deletions

View file

@ -0,0 +1,44 @@
#-
# Copyright (c) 2011 Juan Romero Pardines.
# 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 AUTHOR ``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 AUTHOR 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.
#-
show_pkg_revdeps()
{
local f revdepname tmplf
[ -z "$1" ] && return 1
for f in $(find ${XBPS_SRCPKGDIR} -type f -name \*template); do
if ! egrep -q "^Add_dependency[[:blank:]]+(run|full|build)[[:blank:]]+${1}$" $f; then
continue
fi
tmplf=$(basename $f)
if [ "$tmplf" != template ]; then
revdepname=${tmplf%.template}
else
revdepname=$(basename $(dirname $f))
fi
echo $revdepname
done
}

View file

@ -95,9 +95,6 @@ Targets:
fetch [pkgname]
Download package source distribution file(s).
info [pkgname]
Show information for the specified package.
install [pkgname]
Installs a package into destination directory and \`stows' its files into
<masterdir>. If a package is not from bootstrap group, its files will be
@ -106,10 +103,6 @@ Targets:
list
List installed packages in <masterdir>.
list-files <pkgname>
List package files from <pkgname>. Package must be fully installed
into <masterdir> for this to work.
make-repoidx
Build a package index for the local repository associated with the
master directory <masterdir>. By default set to <masterdir/host/binpkgs.
@ -118,9 +111,20 @@ Targets:
remove [pkgname]
Remove package completely from <destdir> and <masterdir>.
show [pkgname]
Show information for the specified package.
show-files <pkgname>
Show package files from <pkgname>. Package must be fully installed
into <masterdir> for this to work (stowed).
show-revdeps <pkgname>
Show reverse dependencies for <pkgname>, i.e packages that are currently
depending on <pkgname>.
stow [pkgname]
Stow <pkgname> files from <destdir> into <masterdir> and register package
in database. When a package is \`stown', its files will be available in
in database. When a package is \`stowed', its files will be available in
<masterdir>, and other packages will be able to found it.
unstow [pkgname]
@ -429,7 +433,7 @@ clean)
setup_tmpl ${_pkgname}
remove_tmpl_wrksrc $wrksrc
;;
extract|fetch|info)
extract|fetch)
if [ -z "${_pkgname}" ]; then
[ ! -r ./template ] && msg_error "missing build template in $(pwd).\n"
_pkgname=$(basename_cwd)
@ -458,9 +462,6 @@ install)
list)
$XBPS_BIN_CMD list
;;
list-files)
list_pkg_files ${_pkgname}
;;
make-repoidx)
if [ -n "${_PACKAGEDIR}" ]; then
export XBPS_PACKAGESDIR=${_PACKAGEDIR}
@ -481,6 +482,20 @@ remove)
remove_pkg
fi
;;
show)
if [ -z "${_pkgname}" ]; then
[ ! -r ./template ] && msg_error "missing build template in $(pwd).\n"
_pkgname=$(basename_cwd)
fi
setup_tmpl ${_pkgname}
info_tmpl
;;
show-files)
list_pkg_files ${_pkgname}
;;
show-revdeps)
show_pkg_revdeps ${_pkgname}
;;
stow)
stow_flag=yes
if [ -z "${_pkgname}" ]; then