r7892 - /scripts/qa/homepagecheck
gregoa-guest at users.alioth.debian.org
gregoa-guest at users.alioth.debian.org
Sat Sep 22 23:36:42 UTC 2007
Author: gregoa-guest
Date: Sat Sep 22 23:36:42 2007
New Revision: 7892
URL: http://svn.debian.org/wsvn/?sc=1&rev=7892
Log:
new script: homepagecheck. removes pssudo-field Homepage from Description and adds new Homepage field to source stanza (constructed from http://search.cpan.org/dist/ + module name from Makefile.PL)
Added:
scripts/qa/homepagecheck (with props)
Added: scripts/qa/homepagecheck
URL: http://svn.debian.org/wsvn/scripts/qa/homepagecheck?rev=7892&op=file
==============================================================================
--- scripts/qa/homepagecheck (added)
+++ scripts/qa/homepagecheck Sat Sep 22 23:36:42 2007
@@ -1,0 +1,75 @@
+#!/bin/sh
+
+# Copyright 2007 gregor herrmann <gregor+debian at comodo.priv.at>
+# Released under the terms of the GNU GPL version 2
+#
+# Checks for Homepage: field in all
+# debian/control files in trunk/
+# To be run one directory above trunk/
+
+CHANGED=0
+
+echo "Running svn up trunk/ ..."
+svn up trunk/
+
+echo "Grepping through packages ..."
+for p in $(ls trunk -1); do
+ [ "$p" = "build-area" ] && continue
+ [ "$p" = "tarballs" ] && continue
+
+ # check for and remove old Homepage from long description
+ OLDHP=$(egrep "^ Homepage: " trunk/$p/debian/control | egrep -o "http.+")
+ if [ -n "$OLDHP" ] ; then
+ echo "$p: remove Homepage: pseudo-field from Description"
+ perl -e "undef \$/; my \$buf=<STDIN>; \$buf =~ s/\n \.\n Homepage: .*//; print \$buf" < trunk/$p/debian/control > trunk/$p/debian/control.new
+ mv trunk/$p/debian/control.new trunk/$p/debian/control
+ CHANGED=1
+ NEWHP=$OLDHP
+ fi
+
+ # add missing new Homepage to source stanza
+ if ! egrep "^Homepage: " trunk/$p/debian/control > /dev/null; then
+ echo "$p: add missing Homepage field to source stanza"
+
+ # try to construct canonical URL
+ if [ -e trunk/$p/Makefile.PL ]; then
+ PERLNAME=$(perl -n -e "print if s;^.*NAME.*=>.*'([a-zA-Z:]+)'.*\$;\$1;" trunk/$p/Makefile.PL | sed -e 's/::/-/g' | head -n 1)
+ if [ -n "$PERLNAME" ]; then
+ NEWHP="http://search.cpan.org/dist/$PERLNAME"
+ fi
+ fi
+
+ # get NEWHP from somewhere else? debian/watch? debian/copyright?
+
+ if [ -n "$NEWHP" ]; then
+ perl -pi -e "s;(Standards-Version:.+);\$1\nHomepage: $NEWHP;" trunk/$p/debian/control
+ fi
+ fi
+done
+
+
+if [ "$CHANGED" = "1" ]; then
+
+ read -p "Show svn diff trunk/ (y|N)? " DIFF
+ case $DIFF in
+ y|Y)
+ svn diff trunk/ | less
+ ;;
+ *)
+ ;;
+ esac
+
+ read -p "Commit (y|N)? " COMMIT
+ case $COMMIT in
+ y|Y)
+ svn ci -m "Add Homepage field to debian/control's source stanza." trunk/
+ ;;
+ *)
+ ;;
+ esac
+
+else
+ echo "Nothing changed."
+fi
+
+exit 0
Propchange: scripts/qa/homepagecheck
------------------------------------------------------------------------------
svn:executable = *
More information about the Pkg-perl-cvs-commits
mailing list