r65421 - in /trunk/libdancer-perl/debian: changelog control prune.pl repack.local repack.sh watch

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Tue Nov 30 20:57:21 UTC 2010


Author: dmn
Date: Tue Nov 30 20:57:09 2010
New Revision: 65421

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=65421
Log:
add repackaging scripts

Added:
    trunk/libdancer-perl/debian/prune.pl
    trunk/libdancer-perl/debian/repack.local
    trunk/libdancer-perl/debian/repack.sh   (with props)
Modified:
    trunk/libdancer-perl/debian/changelog
    trunk/libdancer-perl/debian/control
    trunk/libdancer-perl/debian/watch

Modified: trunk/libdancer-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/changelog?rev=65421&op=diff
==============================================================================
--- trunk/libdancer-perl/debian/changelog (original)
+++ trunk/libdancer-perl/debian/changelog Tue Nov 30 20:57:09 2010
@@ -1,4 +1,4 @@
-libdancer-perl (1.2000-1) UNRELEASED; urgency=low
+libdancer-perl (1.2000+dfsg-1) UNRELEASED; urgency=low
 
     TODO: investigate embedded JavaScript libraries and images
 

Modified: trunk/libdancer-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/control?rev=65421&op=diff
==============================================================================
--- trunk/libdancer-perl/debian/control (original)
+++ trunk/libdancer-perl/debian/control Tue Nov 30 20:57:09 2010
@@ -34,6 +34,7 @@
 Depends: ${perl:Depends}, ${misc:Depends},
  libhttp-body-perl (>= 1.07),
  libhttp-server-simple-psgi-perl,
+ libjs-jquery,
  libmime-types-perl,
  liburi-perl
 Suggests: libclone-perl,

Added: trunk/libdancer-perl/debian/prune.pl
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/prune.pl?rev=65421&op=file
==============================================================================
--- trunk/libdancer-perl/debian/prune.pl (added)
+++ trunk/libdancer-perl/debian/prune.pl Tue Nov 30 20:57:09 2010
@@ -1,0 +1,33 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+s/(?<="jquery.js" => )FILE/\\\&link_jquery/;
+
+print <<'EOT' if /^sub jquery_minified/;
+sub link_jquery {
+    my $path = shift;
+
+    my $target = '/usr/share/javascript/jquery/jquery.js';
+
+    if ( -e $target ) {
+        symlink( $target, $path ) or die "symlink($target, $path): $!\n";
+    }
+    else {
+        # fallback to the embedded copy
+        jquery_minified($path);
+    }
+}
+
+EOT
+
+print $_
+    if not /^sub write_bg/ .. /^\}/
+        and not /^sub write_logo/ .. /\}/
+        and not /^sub write_favicon/ .. /\}/
+        and not /write_bg/
+        and not /write_logo/
+        and not /write_favicon/
+        and not /ajax.googleapis.com/
+        and not /Grab Google/;

Added: trunk/libdancer-perl/debian/repack.local
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/repack.local?rev=65421&op=file
==============================================================================
--- trunk/libdancer-perl/debian/repack.local (added)
+++ trunk/libdancer-perl/debian/repack.local Tue Nov 30 20:57:09 2010
@@ -1,0 +1,3 @@
+perl -wn $MYORIGPWD/debian/prune.pl < script/dancer > script/dancer.pruned
+
+mv script/dancer.pruned script/dancer

Added: trunk/libdancer-perl/debian/repack.sh
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/repack.sh?rev=65421&op=file
==============================================================================
--- trunk/libdancer-perl/debian/repack.sh (added)
+++ trunk/libdancer-perl/debian/repack.sh Tue Nov 30 20:57:09 2010
@@ -1,0 +1,162 @@
+#!/bin/sh
+
+# see the repack.stub for how to use
+
+# TODO: provide example watch files and repack.locals
+# TODO: test suite. problems fixed that need to be tested:
+# * globbing
+# * whitespace and then comments in the MANIFEST
+# TODO: does / in weird places work? test suite too.
+# TODO: I actually broke stuff with the MANIFEST change not thinking..
+# TODO: allow for a sepearate (and multiple) MANIFEST files, then
+# de-uglify libsyntax-highlight-engine-kate-perl.
+# TODO: have each mv and rm check that something actually changed, and
+# if not, die
+# TODO: add support for .zip?
+
+set -e
+set -u
+
+usage() {
+    echo "Usage: repack.sh --upstream-version <ver> <downloaded file>"
+    exit 1
+}
+
+if [ "$#" != "3" ]; then
+    usage
+fi
+if [ "$1" != "--upstream-version" ]; then
+    usage
+fi
+if [ ! -f "$3" ]; then
+    if [ -n "$3" ]; then
+        echo "$3 doesn't exist"
+    fi
+    usage
+fi
+VER="$2"
+FILE="$3"
+PKG=`dpkg-parsechangelog|grep ^Source:|sed 's/^Source: //'`
+
+SUFFIX="+dfsg"
+
+echo
+echo "Repackaging $FILE"
+echo
+
+DIR=`mktemp -d ./tmpRepackXXXXXX`
+DIR=$(readlink -f "$DIR")
+trap "/bin/rm -rf \"$DIR\"" QUIT INT EXIT
+
+# Create an extra directory to cope with rootless tarballs
+UP_BASE="$DIR/unpack"
+mkdir "$UP_BASE"
+tar xf "$FILE" -C "$UP_BASE"
+
+if [ `ls -1 "$UP_BASE" | wc -l` -eq 1 ]; then
+	# Tarball does contain a root directory
+	UP_BASE="$UP_BASE/`ls -1 "$UP_BASE"`"
+fi
+
+RM_OPTS="-vrf"
+
+real_rm(){
+    /bin/rm "$@"
+}
+
+real_mv(){
+    /bin/mv "$@"
+}
+
+rm(){
+    set +f
+    MYOLDPWD=$(pwd)
+    cd "$UP_BASE"
+    if [ "$MANIFEST" = "1" ]; then
+        PERM=$(stat --format=%a "MANIFEST")
+        chmod u+w "MANIFEST"
+    fi
+    for i in $@; do
+        if [ "$MANIFEST" = "1" ]; then
+            PATTERN="^$i"
+            if [ -d "$i" ]; then
+                if ! { echo "$PATTERN" | grep -q "/$" ; }; then
+                    PATTERN="${PATTERN}/"
+                fi
+            else
+                PATTERN="${PATTERN}\s?"
+            fi
+            grep -Ev "$PATTERN" "MANIFEST" > "$DIR/MANIFEST"
+            real_mv "$DIR/MANIFEST" "MANIFEST"
+        fi
+        real_rm "$RM_OPTS" "$i"
+    done
+    if [ "$MANIFEST" = "1" ]; then
+        chmod $PERM "MANIFEST"
+    fi
+    cd $MYOLDPWD
+    set -f
+}
+
+mv(){
+    set +f
+    OLD=$(pwd)
+    cd $UP_BASE
+    real_mv "$@"
+    cd $OLD
+    if [ "$MANIFEST" = "1" ]; then
+        echo "MANIFEST cannot be manipulated with mv yet, patches welcome"
+        exit 1
+    fi
+    set -f
+}
+
+# bump with incompatible changes
+REPACK_VERSION=2
+
+requires_version(){
+    if [ $REPACK_VERSION -lt $1 ]; then
+        echo "repack.sh is not up to date enough for this package. you need at least version $1, while this script is only version $REPACK_VERSION"
+        exit 1
+    fi
+}
+
+MANIFEST=0
+## Remove stuff
+set -f
+MYORIGPWD=$(pwd)
+cd "$UP_BASE"
+. "$MYORIGPWD/debian/repack.local"
+cd $MYORIGPWD
+set +f
+## End
+
+REPACK_DIR="$PKG-${VER}${SUFFIX}.orig" # DevRef § 6.7.8.2
+DFSG_TAR="$(dirname $FILE)/${PKG}_${VER}${SUFFIX}.orig.tar"
+
+real_mv "$UP_BASE" "$DIR/$REPACK_DIR"
+
+# .gz or .bz2?
+FILETYPE=$(file --brief --mime-type --dereference "$FILE")
+case "$FILETYPE" in
+    application/x-gzip)
+        C_PROGRAM="gzip"
+        C_SUFFIX="gz"
+        ;;
+    application/x-bzip2)
+        C_PROGRAM="bzip2"
+        C_SUFFIX="bz2"
+        ;;
+    *)
+        echo "E: Unknown filetye $FILETYPE"
+        exit 1
+        ;;
+esac
+    
+# Using a pipe hides tar errors!
+tar cfC "$DIR/repacked.tar" "$DIR" "$REPACK_DIR"
+$C_PROGRAM -9 < "$DIR/repacked.tar" > "$DIR/repacked.tar.$C_SUFFIX"
+
+real_mv "$DIR/repacked.tar.$C_SUFFIX" "$DFSG_TAR.$C_SUFFIX"
+
+echo "*** $DFSG_TAR.$C_SUFFIX ready"

Propchange: trunk/libdancer-perl/debian/repack.sh
------------------------------------------------------------------------------
    svn:executable = *

Modified: trunk/libdancer-perl/debian/watch
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdancer-perl/debian/watch?rev=65421&op=diff
==============================================================================
--- trunk/libdancer-perl/debian/watch (original)
+++ trunk/libdancer-perl/debian/watch Tue Nov 30 20:57:09 2010
@@ -1,3 +1,3 @@
 version=3
-opts=uversionmangle=s/_/~/g \
-http://search.cpan.org/dist/Dancer/   .*/Dancer-v?(\d[\d._-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$
+opts=uversionmangle=s/_/~/g,dversionmangle=s/\+dfsg.*// \
+http://search.cpan.org/dist/Dancer/   .*/Dancer-v?(\d[\d._-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$  debian  sh debian/repack.sh




More information about the Pkg-perl-cvs-commits mailing list