From 62c6567f5a01ee700d1fae99855898d8f85d76f4 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 22 May 2013 18:49:59 -0400 Subject: add a lib/blacklist.sh, use it for pkgbuild-check-nonfree --- src/lib/blacklist.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/lib/blacklist.sh (limited to 'src/lib') diff --git a/src/lib/blacklist.sh b/src/lib/blacklist.sh new file mode 100644 index 0000000..925a5cc --- /dev/null +++ b/src/lib/blacklist.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +blacklist-normalize() { + sed -e 's/^[^:]*$/&::/' -e 's/^[^:]*:[^:]*$/&:/' +} + +blacklist-cat() { + blacklist-normalize < "$XDG_CACHE_HOME/libretools/blacklist.txt" +} + +blacklist-update() ( + set -euE + . /usr/share/libretools/conf.sh + . libremessages + load_files libretools + check_vars BLACKLIST + + local remote_blacklist="$BLACKLIST" + local local_blacklist="$XDG_CACHE_HOME/libretools/blacklist.txt" + + stat_busy "Downloading blacklist of proprietary software packages" + + mkdir -p "${local_blacklist%/*}" + if wget -N -q -O "${local_blacklist}.part" "$remote_blacklist" 2>/dev/null; then + stat_done + mv "${local_blacklist}.part" "$local_blacklist" + else + stat_done + rm "${local_blacklist}.part" + if [[ -e "$local_blacklist" ]]; then + warning "Using local copy of blacklist" + else + error "Download failed, exiting" + return 1 + fi + + fi +) + +blacklist-lookup() { + local pkg=$1 + blacklist-cat | sed 's/^/^/' | grep -F "^$pkg:" | sed 's/^^//' +} + +blacklist-get-pkg() { + cut -d: -f1 +} + +blacklist-get-rep() { + cut -d: -f2 +} + +blacklist-get-reason() { + cut -d: -f3- +} -- cgit v1.2.3-54-g00ecf