Adding upstream version 2.25.15.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
10737b110a
commit
b543f2e88d
485 changed files with 191459 additions and 0 deletions
104
scripts/wnpp-check.sh
Executable file
104
scripts/wnpp-check.sh
Executable file
|
@ -0,0 +1,104 @@
|
|||
#!/bin/bash
|
||||
|
||||
# wnpp-check -- check for software being packaged or requested
|
||||
|
||||
# This script is in the PUBLIC DOMAIN.
|
||||
# Authors:
|
||||
# David Paleino <d.paleino@gmail.com>
|
||||
#
|
||||
# Adapted from wnpp-alert, by Arthur Korn <arthur@korn.ch>
|
||||
|
||||
set -e
|
||||
|
||||
CURLORWGET=""
|
||||
GETCOMMAND=""
|
||||
EXACT=0
|
||||
PROGNAME=${0##*/}
|
||||
|
||||
usage() { echo \
|
||||
"Usage: $PROGNAME <package name> [...]
|
||||
-e,--exact Require an exact package name match,
|
||||
rather than the default substring match.
|
||||
|
||||
-h,--help Show this help message
|
||||
-v,--version Show a version message
|
||||
|
||||
Check whether a package is listed as being packaged (ITPed) or has an
|
||||
outstanding request for packaging (RFP) on the WNPP website
|
||||
https://www.debian.org/devel/wnpp/"
|
||||
}
|
||||
|
||||
version() { echo \
|
||||
"This is $PROGNAME, from the Debian devscripts package, version ###VERSION###
|
||||
This script is in the PUBLIC DOMAIN.
|
||||
Authors: David Paleino <d.paleino@gmail.com>
|
||||
Adapted from wnpp-alert, by Arthur Korn <arthur@korn.ch>,
|
||||
with modifications by Julian Gilbey <jdg@debian.org>"
|
||||
}
|
||||
|
||||
TEMP=$(getopt -n "$PROGNAME" -o 'hve' \
|
||||
-l 'help,version,exact' \
|
||||
-- "$@") || (rc=$?; usage >&2; exit $rc)
|
||||
|
||||
eval set -- "$TEMP"
|
||||
|
||||
while true
|
||||
do
|
||||
case "$1" in
|
||||
-h|--help) usage; exit 0 ;;
|
||||
-v|--version) version; exit 0 ;;
|
||||
-e|--exact) EXACT=1 ;;
|
||||
--) shift; break ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGES="$@"
|
||||
|
||||
if command -v wget > /dev/null; then
|
||||
CURLORWGET="wget"
|
||||
GETCOMMAND="wget -q -O"
|
||||
elif command -v curl >/dev/null; then
|
||||
CURLORWGET="curl"
|
||||
GETCOMMAND="curl -qfsL -o"
|
||||
else
|
||||
echo "$PROGNAME: need either the wget or curl package installed to run this" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WNPP=$(mktemp --tmpdir wnppcheck-wnpp.XXXXXX)
|
||||
WNPPTMP=$(mktemp --tmpdir wnppcheck-wnpp.XXXXXX)
|
||||
WNPP_PACKAGES=$(mktemp --tmpdir wnppcheck-wnpp_packages.XXXXXX)
|
||||
trap 'rm -f "$WNPP" "$WNPPTMP" "$WNPP_PACKAGES"' EXIT
|
||||
|
||||
# Here's a really sly sed script. Rather than first grepping for
|
||||
# matching lines and then processing them, this attempts to sed
|
||||
# every line; those which succeed execute the 'p' command, those
|
||||
# which don't skip over it to the label 'd'
|
||||
|
||||
$GETCOMMAND $WNPPTMP https://www.debian.org/devel/wnpp/being_packaged || \
|
||||
{ echo "$PROGNAME: $CURLORWGET https://www.debian.org/devel/wnpp/being_packaged failed." >&2; exit 1; }
|
||||
sed -ne 's/.*<li><a href="https\?:\/\/bugs.debian.org\/\([0-9]*\)">\([^:<]*\)[: ]*\([^<]*\)<\/a>.*/ITP \1 \2 -- \3/; T d; p; : d' $WNPPTMP > $WNPP
|
||||
|
||||
$GETCOMMAND $WNPPTMP https://www.debian.org/devel/wnpp/requested || \
|
||||
{ echo "$PROGNAME: $CURLORWGET https://www.debian.org/devel/wnpp/requested failed." >&2; exit 1; }
|
||||
sed -ne 's/.*<li><a href="https\?:\/\/bugs.debian.org\/\([0-9]*\)">\([^:<]*\)[: ]*\([^<]*\)<\/a>.*/RFP \1 \2 -- \3/; T d; p; : d' $WNPPTMP >> $WNPP
|
||||
|
||||
awk -F' ' '{print "("$1" - #"$2") https://bugs.debian.org/"$2" "$3}' $WNPP | sort -k 5 > $WNPP_PACKAGES
|
||||
|
||||
FOUND=0
|
||||
for pkg in $PACKAGES
|
||||
do
|
||||
if [ $EXACT != 1 ]; then
|
||||
grep $pkg $WNPP_PACKAGES && FOUND=1
|
||||
else
|
||||
grep " $pkg$" $WNPP_PACKAGES && FOUND=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $FOUND
|
Loading…
Add table
Add a link
Reference in a new issue