#!/bin/bash # Copyright (c) 2013 by Luke Shumaker # # This program 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. # # This program 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 this program. If not, see . # make sure XDG_CACHE_HOME is set . /usr/share/libretools/conf.sh blacklist-normalize() { sed -e 's/^[^:]*$/&::/' -e 's/^[^:]*:[^:]*$/&:/' } blacklist-cat() { local file="$XDG_CACHE_HOME/libretools/blacklist.txt" if ! [[ -e $file ]]; then blacklist-update fi blacklist-normalize < "$file" } blacklist-update() ( set -euE . 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- }