#!/bin/bash source /etc/libretools.conf source /etc/abs.conf function usage { echo "Usage: $0 pkgname-from-aur1 [pkgname-from-aur2 ...]" echo echo "This script will download packages from aur to the current dir" echo "and check their license for nonfree issues." } while getopts 'h' arg; do case $arg in h) usage; exit 0 ;; *) usage; exit 1 ;; esac done missing_deps=() for _pkg in ${@}; do msg "Downloading $_pkg..." wget -O - -q http://aur.archlinux.org/packages/$_pkg/$_pkg.tar.gz | \ tar xzf - >/dev/null 2>&1 [[ $? -ne 0 ]] && { error "Couldn't get $_pkg" continue } stdnull "pushd $_pkg" source PKGBUILD pkgbuild-check-nonfree || { if [ $? -eq 15 ]; then warning "This PKGBUILD links to known unfree packages" fi } msg2 "Checking license..." free=0 for _license in ${license[@]}; do if [ ! -d /usr/share/licenses/common/$_license ]; then warning "License $_license is not a common license" free=1 fi done if [ $free -eq 1 ]; then plain "Please check that the license is included in the package and *specially* that it respects your freedom." fi for _dep in ${depends[@]} ${makedepends[@]}; do if ! is_built $_dep; then if ! find ${ABSROOT} -maxdepth 2 -type d -name "$_dep" | egrep "*" >/dev/null ; then missing_deps=(${missing_deps} $_dep) fi fi done stdnull popd done [[ ${#missing_deps[*]} -gt 0 ]] && { msg2 "Retrieving missing deps: ${missing_deps[@]}" $0 ${missing_deps[@]} } exit 0