summaryrefslogtreecommitdiff
path: root/src/lib/blacklist.sh
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2013-05-26 22:11:51 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2013-05-26 22:11:51 -0400
commitca6db7290cacee0d3b5ba836e6acea76ea314e50 (patch)
tree7cf3e4eda33335fdcc245d41e75a3b1602485266 /src/lib/blacklist.sh
parentb159a370e2b1458c8c3817bdf3cabe2a630732e3 (diff)
redo the library system; avoid hard-coded paths
* install all library files to $(libexecdir)/libretools, instead of - $(bindir) - $(datadir)/libretools - $(datadir)/devtools * symlink the executable library files into $(bindir) * add the tool `librelib` * instead of ". /path/to/lib.sh", use ". $(librelib lib.sh)" * mark all libraries with shebangs of what options they support * move blacklist.sh to libreblacklist
Diffstat (limited to 'src/lib/blacklist.sh')
-rwxr-xr-xsrc/lib/blacklist.sh100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/lib/blacklist.sh b/src/lib/blacklist.sh
deleted file mode 100755
index 664b5f3..0000000
--- a/src/lib/blacklist.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash -euE
-# Copyright (c) 2013 by Luke Shumaker <lukeshu@sbcglobal.net>
-#
-# 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 <http://www.gnu.org/licenses/>.
-
-# make sure XDG_CACHE_HOME is set
-. /usr/share/libretools/conf.sh
-
-# Usage: blacklist-normalize <$file
-# Normalizes the syntax of the blacklist on stdin.
-blacklist-normalize() {
- sed -e 's/^[^:]*$/&::/' -e 's/^[^:]*:[^:]*$/&:/'
-}
-
-# Usage: blacklist-cat
-# Prints the blacklist
-# Uses the chache, but downloads it if it doesn't exist. Also normalizes the
-# blacklist for easier parsing.
-blacklist-cat() {
- local file="$XDG_CACHE_HOME/libretools/blacklist.txt"
- if ! [[ -e $file ]]; then
- # exit on failure, whether set -e or not
- blacklist-update || return $?
- fi
- blacklist-normalize < "$file"
-}
-
-# Usage: blacklist-update
-# Updates (or creates) the cached copy of the blacklist
-blacklist-update() (
- set -euE # allow it to not be set globally
- . 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
-)
-
-# Usage: blacklist-cat | blacklist-lookup $pkgname
-# Filters to obtain the line for $pkgname from the blacklist on stdin.
-# Exits successfully whether a line is found or not.
-blacklist-lookup() {
- local pkg=$1
- # we accept that $pkg contains no regex-nes
- blacklist-cat | grep "^$pkg:" || true
-}
-
-# Usage: blacklist-{cat|lookup} | blacklist-get-pkg
-# Outputs only the package name field of the blacklist line(s) on stdin.
-blacklist-get-pkg() {
- cut -d: -f1
-}
-
-# Usage: blacklist-{cat|lookup} | blacklist-get-rep
-# Outputs only the replacement package field of the blacklist line(s) on stdin.
-blacklist-get-rep() {
- cut -d: -f2
-}
-
-# Usage: blacklist-{cat|lookup} | blacklist-get-reason
-# Outputs only the reason field of the blacklist line(s) on stdin.
-blacklist-get-reason() {
- cut -d: -f3-
-}
-
-if [[ "${0##*/}" == libreblacklist ]]; then
- _blacklist_cmd=$1
- shift
- "blacklist-$_blacklist_cmd" "$@"
-fi