diff options
Diffstat (limited to 'pkgbuild-check-nonfree')
-rwxr-xr-x | pkgbuild-check-nonfree | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/pkgbuild-check-nonfree b/pkgbuild-check-nonfree deleted file mode 100755 index df0ff36..0000000 --- a/pkgbuild-check-nonfree +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/bash -# pkgbuild-check-nonfree -# Copyright 2010 Joshua Ismael Haase Hernández, Joseph Graham - -# ---------- GNU General Public License 3 ---------- - -# This file is part of Parabola. - -# Parabola is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# Parabola is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with Parabola. If not, see <http://www.gnu.org/licenses/>. - -# function log_end { -# kill "$teepid" -# rm "$logpipe" -# } - -# function log { -# LOG="pkgbuild-check-nonfree-$(date -u +%Y%m%d).log" -# # ensure overridden package variables survive tee with split packages -# logpipe="$(mktemp -u "$startdir/logpipe.XXXXXXXX")" -# mkfifo "$logpipe" -# tee "$LOG" < "$logpipe" & -# teepid=$! -# trap log_end ERR EXIT -# } - - -function unset_pkgbuild { - - unset 'pkgbase' 'pkgname' 'pkgver' 'pkgrel' 'epoch' 'pkgdesc' \ - 'arch' 'url' 'license' 'groups' 'optdepends' 'provides' \ - 'conflicts' 'replaces' 'backup' 'options' 'install' \ - 'changelog' 'source' 'noextract' 'md5sums' 'build' \ - 'check' 'package' 'depends' 'makedepends' 'checkdepends' - -} - -function assert_pkgbuild { - - if [ -e "$1" ]; then - - source "$1" - if [ -n "${pkgname[0]}" ]; then - return 0 # valid PKGBUILD - fi - - fi - - error "$1 is not a valid PKGBUILD" - return 1 -} - -function check_replacement { - - [ $2 ] || return 0 # Free (not found) - local needle=$1; shift - local item - local rep - for line in $@; do - - item="$(echo "$line" | cut -d':' -f1)" - rep="$(echo "$line" | cut -s -d':' -f2)" - - if [ "$item" == "$needle" ]; then - if [ -z "$rep" ]; then - return 15 # Nonfree (found) - else - echo "$rep" - return 0 # Free (has replacement) - fi - fi - - done - return 0 # Free (not found) -} - -function get_blacklist { # Download the blacklist. - - pushd "$XDG_CONFIG_HOME/libretools" >/dev/null - - msg "Downloading the blacklist of proprietary software packages." - - if ! wget -N -q -O blacklist.txt "${BLACKLIST}" 2>/dev/null; then - - if [ -e "$XDG_CONFIG_HOME/libretools/blacklist.txt" ]; then - warning "Using local copy of blacklist" - else - error "Download failed, exiting" - fi - - fi - - popd > /dev/null -} - -function check_deps { # Check wheter a package depends on non-free - - unset_pkgbuild - - if ! assert_pkgbuild "$1"; then - return 1 # not PKGBUILD - fi - - msg2 "${pkgbase:-${pkgname[0]}} $pkgver $pkgrel ${epoch:-""}" # > "$logpipe" - - for pkg in ${pkgname[@]} ${depends[@]} ${makedepends[@]} ${checkdepends[@]}; do - - lines=($(grep "$pkg" "$XDG_CONFIG_HOME/libretools/blacklist.txt" | tr " " "_")) - - rep="$(check_replacement $pkg ${lines[@]})" - freedom=$? - - if [ "$freedom" -eq 15 ]; then - warning "found $pkg" # > "$logpipe" - ev=15 - continue - - elif [ -n "$rep" ]; then - - if [ "$rep" = "$pkg" ]; then - plain "$pkg is repackaged with the same name." # > "$logpipe" - continue - else - plain "$pkg -> $rep" # > "$logpipe" - continue - fi - - fi - - done - -} - -function usage { - # TODO: implement PKGBUILD arguments - echo "" - echo "$(basename $0) [options] [PKGBUILD1 PKGBUILD2 ...]" - echo "" - echo "OPTIONS" - echo "" - echo " -h : this message" - echo "" - echo "If no PKGBUILD is specified, one is searched on current directory" - - exit 1 -} - -while getopts 'h' arg; do - case "$arg" in - h) usage ;; - esac -done - -if [ -w / ]; then - error "Run as normal user" -fi - -source /etc/libretools.conf -if [ -e "$XDG_CONFIG_HOME/libretools/libretools.conf" ]; then - source "$XDG_CONFIG_HOME/libretools/libretools.conf" -fi - -if [ -z "${BLACKLIST}" ]; then - error "BLACKLIST variable is not set your libretools.conf file" - exit 1 -fi - -if [ ! -d "$XDG_CONFIG_HOME/libretools" ]; then - mkdir -p "$XDG_CONFIG_HOME/libretools" -fi - -startdir=`pwd` - -get_blacklist -# log - -shift $(( OPTIND - 1)) - -msg "Looking for unfree dependencies" - -if [ $# -ge 1 ]; then - - for p in $@; do - if [ -n "$p" ]; then - check_deps "$p" - fi - done - -else - - check_deps "`pwd`/PKGBUILD" - -fi - -exit $ev |