Merge branch 'master' of git://github.com/xtraeme/xbps-packages

* 'master' of git://github.com/xtraeme/xbps-packages:
  xbps-src: follow target names from xbps utils.
This commit is contained in:
davehome 2011-11-02 11:27:35 -06:00
commit 46d929eef5
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] fetch [pkgname]
Download package source distribution file(s). Download package source distribution file(s).
info [pkgname]
Show information for the specified package.
install [pkgname] install [pkgname]
Installs a package into destination directory and \`stows' its files into Installs a package into destination directory and \`stows' its files into
<masterdir>. If a package is not from bootstrap group, its files will be <masterdir>. If a package is not from bootstrap group, its files will be
@ -106,10 +103,6 @@ Targets:
list list
List installed packages in <masterdir>. 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 make-repoidx
Build a package index for the local repository associated with the Build a package index for the local repository associated with the
master directory <masterdir>. By default set to <masterdir/host/binpkgs. master directory <masterdir>. By default set to <masterdir/host/binpkgs.
@ -118,9 +111,20 @@ Targets:
remove [pkgname] remove [pkgname]
Remove package completely from <destdir> and <masterdir>. 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]
Stow <pkgname> files from <destdir> into <masterdir> and register package 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. <masterdir>, and other packages will be able to found it.
unstow [pkgname] unstow [pkgname]
@ -429,7 +433,7 @@ clean)
setup_tmpl ${_pkgname} setup_tmpl ${_pkgname}
remove_tmpl_wrksrc $wrksrc remove_tmpl_wrksrc $wrksrc
;; ;;
extract|fetch|info) extract|fetch)
if [ -z "${_pkgname}" ]; then if [ -z "${_pkgname}" ]; then
[ ! -r ./template ] && msg_error "missing build template in $(pwd).\n" [ ! -r ./template ] && msg_error "missing build template in $(pwd).\n"
_pkgname=$(basename_cwd) _pkgname=$(basename_cwd)
@ -458,9 +462,6 @@ install)
list) list)
$XBPS_BIN_CMD list $XBPS_BIN_CMD list
;; ;;
list-files)
list_pkg_files ${_pkgname}
;;
make-repoidx) make-repoidx)
if [ -n "${_PACKAGEDIR}" ]; then if [ -n "${_PACKAGEDIR}" ]; then
export XBPS_PACKAGESDIR=${_PACKAGEDIR} export XBPS_PACKAGESDIR=${_PACKAGEDIR}
@ -481,6 +482,20 @@ remove)
remove_pkg remove_pkg
fi 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)
stow_flag=yes stow_flag=yes
if [ -z "${_pkgname}" ]; then if [ -z "${_pkgname}" ]; then