Author: jfs
Date: Wed Nov  6 20:16:18 2013
New Revision: 10324

URL: http://svn.debian.org/wsvn/?sc=1&rev=10324
Log:
Add new script to check if all the manpages in the archive, for a given 
release, have been extracted properly

Added:
    man-cgi/extractor/check-manpages-dist.sh   (with props)

Added: man-cgi/extractor/check-manpages-dist.sh
URL: 
http://svn.debian.org/wsvn/man-cgi/extractor/check-manpages-dist.sh?rev=10324&op=file
==============================================================================
--- man-cgi/extractor/check-manpages-dist.sh    (added)
+++ man-cgi/extractor/check-manpages-dist.sh    Wed Nov  6 20:16:18 2013
@@ -0,0 +1,85 @@
+#!/bin/sh -e
+#
+# Compare the manual pages available for a given distribution (as described
+# in Contents.gz) with the manpages extracted using the extractor scripts
+
+
+# Source the configuration file
+ME=$0
+MYDIR="`dirname $ME`"
+
+. ${MYDIR}/config
+
+usage () {
+       echo "Usage: $0 <distribution>"
+}
+
+# Setup directory for scripts
+[ -z "$EXTRACTORDIR" ] && EXTRACTORDIR=$MYDIR
+
+if [ ! -d "$EXTRACTORDIR" ] ; then
+        echo "ERROR: Cannot find the directory $EXTRACTORDIR with the 
scripts!" >&2
+        exit 1
+fi
+# We store our results here
+DATADIR="$EXTRACTORDIR/data"
+if [ ! -d "$DATADIR" ] ; then
+        echo "ERROR: $DATADIR does not exist, plase run the 
list-manpages-dist.sh script first" >&2
+       exit 1
+fi
+
+# Parameter parsing
+dist=$1
+if [ -z "$dist" ] ; then
+       echo "WARN: No distribution given, using 'sid'">&2
+       dist=sid
+fi
+[ -n "$2" ] && ARCH=$2
+[ -n "$ARCH" ] && ARCH="i386"
+[ -n "$REPOS" ] && REPOS="main"
+
+# Last sanity checks
+
+MANPAGES_FILES="${DATADIR}/files_manpages_packages.${dist}.${ARCH}"
+if [ ! -e "$MANPAGES_FILES" ] ; then
+        echo "ERROR: $MANPAGES_FILES does not exist, plase run the 
list-manpages-dist.sh script first" >&2
+       exit 1
+fi
+EXTRACTED_DIR="${MANDIR}/${dist}/"
+if [ ! -d "$EXTRACTED_DIR" ] ; then
+        echo "ERROR: $EXTRACTED_DIR is not a directory, please run the 
extractor scripts first" >&2
+       exit 1
+fi
+
+RESULT="$DATADIR/check_manpages.${dist}.${ARCH}"
+>$RESULT
+
+cat $MANPAGES_FILES |
+while read file package; do
+       if [ ! -e "${EXTRACTED_DIR}/${file}" ] ; then
+               if [ -L "${EXTRACTED_DIR}/${file}" ] ; then
+                       echo "WARN: manpage ${file} symbolic link exists in 
${EXTRACTED_DIR} but points nowhere" >&2
+               else
+                       if echo ${file} | grep -q  /man/ ; then
+                               echo "ERROR: manpage ${file} has not been 
extracted" >&2
+                       else
+                               echo "WARN: (possible) manpage ${file} has not 
been extracted (false positive?)" >&2
+                       fi
+               fi
+               echo $file $package >>$RESULT
+       fi
+done
+
+if [ -s "$RESULT" ]; then
+       manpages_not_found=`cat $RESULT | wc -l`
+       echo "$manpages_not_found possible manpages where not found. Manpages 
not found belong to the following packages:"
+       echo
+       cat $RESULT | awk '{print $2}' | sort | uniq -c | sort -nr
+       echo 
+       echo "Full details available at $RESULT. Please review for false 
positives"
+else
+       echo "INFO: All (possible) manpages accounted for. Great!"
+fi
+
+
+exit 0

Propchange: man-cgi/extractor/check-manpages-dist.sh
------------------------------------------------------------------------------
    svn:executable = *


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to