From f33f1f0ed91fb33e7681291f7f6b260447fcfb86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joshua=20Ismael=20Haase=20Hern=C3=A1ndez?= Date: Sat, 30 Apr 2011 03:29:17 -0500 Subject: pkgbuild-check-nonfree can check if a nonfree has a -libre replacement --- libremakepkg | 2 +- pkgbuild-check-nonfree | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libremakepkg b/libremakepkg index 8cce89d..988b6f2 100755 --- a/libremakepkg +++ b/libremakepkg @@ -27,7 +27,7 @@ fi msg "Checking PKGBUILD for non-free issues" pkgbuild-check-nonfree ||{ - if [[$?=15]]; then + if [[ $? -eq 15 ]]; then error "PKGBUILD contains non-free issues" exit 15 else diff --git a/pkgbuild-check-nonfree b/pkgbuild-check-nonfree index c55e7f6..67c562d 100755 --- a/pkgbuild-check-nonfree +++ b/pkgbuild-check-nonfree @@ -23,7 +23,7 @@ source /etc/libretools.conf [[ -f $XDG_CONFIG_HOME/libretools/libretools.conf ]] && \ source $XDG_CONFIG_HOME/libretools/libretools.conf -pushd /tmp >/dev/null +pushd $(mktemp -d) >/dev/null # This is the exit status. ev=0 @@ -44,6 +44,7 @@ wget -N -q -O blacklist.txt "${BLACKLIST}" 2>/dev/null || { # Get everything before the `:' in the blacklist (that's the names of the # packages). unfree=($(cut -d: -f1 blacklist.txt)) +freerep=($(cut -d: -f2 blacklist.txt)) popd >/dev/null @@ -59,10 +60,15 @@ msg "Looking for unfree dependencies" for item in ${pkgname[@]} ${depends[@]} ${makedepends[@]} ; do # We cycle through all of the programs in the array (if any), and check if # they are in the `unfree' array. - if in_array $item ${unfree[@]} - then - ev=15 + if in_array $item ${unfree[@]} ; then + # if item has a free replacement, use error 16. + if in_array $item-libre ${freerep[@]} and [[ $ev -ne 15 ]] ; then + ev=16 + warning "$item -> $item-libre" + else + ev=15 msg2 "found $item" + fi fi done -- cgit v1.1-4-g5e80