diff options
author | Xavier Chantry <shiningxc@gmail.com> | 2009-08-30 22:05:46 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2009-09-06 23:52:47 +0200 |
commit | 0845b2f13cef6db23a4a281976ec1374e93b7c4e (patch) | |
tree | 3f230e9d3771463ad7fa49647ffba918cdee4ac5 | |
parent | 5dbd00faf7a27866ffc2a7197c5cc704425a7af8 (diff) | |
download | pacman-0845b2f13cef6db23a4a281976ec1374e93b7c4e.tar.gz pacman-0845b2f13cef6db23a4a281976ec1374e93b7c4e.tar.xz |
sanity check for optdepends syntax
only allow optdepends like:
pkgname: description
some (real) examples of invalid optdepends:
'tcl, python and/or ruby: to use corresponding binding'
'xorg-fonts-75dpi : X bitmap fonts needed for the interface'
'ruby-htmlentities (AUR): for one provider named Deastore'
'xpdf - for pdf'
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
[Allan: rebase off de39a1f6 and adjust man page]
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | doc/PKGBUILD.5.txt | 2 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index ef6bace0..c832e236 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -144,7 +144,7 @@ name. The syntax is: `source=('filename::url')`. base functionality, but may be necessary to make full use of the contents of this package. optdepends are currently for informational purposes only and are not utilized by pacman during dependency resolution. The format - should be similar to the following: + for specifying optdepends is: optdepends=('fakeroot: for makepkg usage as normal user') diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 558f0938..3e918e69 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1180,6 +1180,14 @@ check_sanity() { fi done + local optdepend + for optdepend in "${optdepends[@]}"; do + pkg=${optdepend%%:*} + if [[ ! $pkg =~ ^[[:alnum:]\>\<\=\.\+\_\-]*$ ]]; then + error "$(gettext "Invalid syntax for optdepend : '%s'")" "$optdepend" + fi + done + if [ "$install" -a ! -f "$install" ]; then error "$(gettext "Install scriptlet (%s) does not exist.")" "$install" return 1 |