[Pkg-cyrus-sasl2-commits] [cyrus-sasl2] 10/44: Switch repack.sh to repack.stub

Ondřej Surý ondrej at debian.org
Sat Dec 31 13:07:10 UTC 2016


This is an automated email from the git hooks/post-receive script.

ondrej pushed a commit to branch master
in repository cyrus-sasl2.

commit e3f5f16e026676854d406a2d0540a4a213f20eb9
Author: Ondřej Surý <ondrej at sury.org>
Date:   Fri Jul 1 09:57:21 2016 +0200

    Switch repack.sh to repack.stub
---
 debian/repack.local |   4 ++
 debian/repack.sh    | 109 +++++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 87 insertions(+), 26 deletions(-)

diff --git a/debian/repack.local b/debian/repack.local
new file mode 100755
index 0000000..e8cd0a1
--- /dev/null
+++ b/debian/repack.local
@@ -0,0 +1,4 @@
+rm dlcompat-20010505/*
+rm dlcompat-20010505
+rm doc/rfc*
+rm doc/draft*
diff --git a/debian/repack.sh b/debian/repack.sh
index 0b956ca..7e36f5f 100755
--- a/debian/repack.sh
+++ b/debian/repack.sh
@@ -1,34 +1,91 @@
 #!/bin/sh
-#
-# Repackage upstream source to exclude non-distributable files.
-# Should be called as "repack sh --upstream-source <version> <file>
-# (for example, via uscan).
 
-set -e
-set -u
+: <<=cut
+=pod
 
-if [ $# -ne 3 ]; then
-        echo "Usage: $0 --upstream-source <version> <file>"
-        exit 1
-fi
+=head1 NAME
+
+repack.stub - script to repack upstream tarballs from uscan
+
+=head1 INSTRUCTIONS
+
+put this in debian/repack.stub and add "debian sh debian/repack.stub" to
+the end of the line in debian/watch. you will also need to add a version
+mangle to debian/watch.
+
+then create a debian/repack.local. this is a shell script that is
+sourced under "set -e", so be careful to check returns codes.
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item rm
+
+rm is replaced by a function that does some magic ("rm -rv" by default), but also changes MANIFEST if $MANIFEST is 1
+
+=item mv
+
+mv is replaced by a function that just does mv (by default), but also changes MANIFEST if $MANIFEST is 1
+
+=item requires_version
+
+requires_version is there for future usage for requiring certain versions of the script
+
+=back
+
+=head1 VARIABLES
+
+=over 4
 
-OPT_VERSION=$2
-OPT_FILE=$3
-TMPDIR=`mktemp -d`
-trap "rm -rf $TMPDIR" QUIT INT EXIT
+=item SUFFIX
 
-echo "Repackaging $OPT_FILE"
+defaults to +dfsg
 
-orig_file_path=$(readlink --canonicalize $OPT_FILE)
-package_name=$(dpkg-parsechangelog | sed -n 's/^Source: //p')
-dfsg_directory=${package_name}_${OPT_VERSION}.dfsg1
-dfsg_file_path=$(dirname ${orig_file_path})/${dfsg_directory}.orig.tar.gz
+what to append to the upstream version
 
-zcat "${orig_file_path}" | \
-tar --wildcards \
-    --delete '*/dlcompat-20010505/*' \
-    --delete '*rfc*.txt' \
-    --delete '*draft-*.txt' | \
-gzip -c > $dfsg_file_path
+=item RM_OPTS
+
+defaults to -vrf
+
+options to pass to rm
+
+=item MANIFEST
+
+defaults to 0, set to 1 to turn on.
+
+this will manipulate MANIFEST files in CPAN tarballs.
+
+=item UP_BASE
+
+this is the directory where the upstream source is.
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2009, Ryan Niebur <ryan at debian.org>
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=cut
+
+if [ -z "$REPACK_SH" ]; then
+    if [ -x /usr/share/pkg-perl-tools/repack.sh ]; then
+        REPACK_SH='/usr/share/pkg-perl-tools/repack.sh'
+    elif [ -f ../../scripts/repack.sh ]; then
+        REPACK_SH=../../scripts/repack.sh
+    fi
+    if [ -z "$REPACK_SH" ] && which repack.sh > /dev/null; then
+        REPACK_SH=$(which repack.sh)
+    fi
+fi
+
+if [ ! -f "$REPACK_SH" ]; then
+    echo "Couldn't find a repack.sh. please put it in your PATH, put it at ../../scripts/repack.sh, or put it somewhere else and set the REPACK_SH variable"
+    echo "You can get it from http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/pkg-perl-tools.git;a=blob_plain;f=scripts/repack.sh;hb=HEAD"
+    exit 1
+fi
 
-echo "File $OPT_FILE repackaged successfully to $dfsg_file_path"
+exec "$REPACK_SH" "$@"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cyrus-sasl2/cyrus-sasl2.git



More information about the Pkg-cyrus-sasl2-commits mailing list