rev 7543 - scripts
Fathi Boudra
fboudra-guest at alioth.debian.org
Thu Oct 18 22:24:36 UTC 2007
Author: fboudra-guest
Date: 2007-10-18 22:24:34 +0000 (Thu, 18 Oct 2007)
New Revision: 7543
Added:
scripts/pull-kde4-branch
Log:
* Add pull-kde4-branch. quick and dirty done for KDE4 beta.
LATEST_PULL does not work.
Added: scripts/pull-kde4-branch
===================================================================
--- scripts/pull-kde4-branch (rev 0)
+++ scripts/pull-kde4-branch 2007-10-18 22:24:34 UTC (rev 7543)
@@ -0,0 +1,100 @@
+#!/bin/bash
+
+# $Id: pull-kde-branch 7542 2007-10-19 20:22:59Z fboudra-guest $
+# Magic script to make branch pulls from KDE SVN. Invoke it from a
+# toplevel dir (i.e., debian/ exists) and let it figure out what to do.
+# (C) 2005, Adeodato Simó <asp16 at alu.ua.es>
+# GPL'ed code follows.
+
+# TODO
+# <MadCoder> 1/ it does not work for arts
+# <MadCoder> (since it thinks kde is kde 1.4.0 instead of 3.4.0 ...)
+# <fabo> LATEST_PULL does not work.
+
+set -e
+
+# ensure same behavior independently of language used
+export LANG=C
+
+KDE_SVN=svn://anonsvn.kde.org/home/kde
+
+dh_testdir
+
+# Find out module and version
+dpkg-parsechangelog | awk '
+
+ /^Source/ { printf("%s ", $2) }
+ /^Version/ {
+ sub(/^[0-9]+:/, "", $2)
+ sub(/-[^-]+$/, "", $2)
+ printf("%s ", $2)
+ sub(/\.[0-9]+$/, "", $2)
+ print $2
+ }
+
+ ' | { read MODULE VERSION MAJOR_VERSION
+
+# workaround for kdelibs package name
+if [ "$MODULE" = "kde4libs" ]; then
+ MODULE=kdelibs
+fi
+
+# Determine the revision of the latest pull
+# (empty string if there has been none)
+shopt -s nullglob
+LATEST_PULL=$(
+ echo debian/patches/*_${MODULE}_branch_r*.diff |
+ tail -1 |
+ sed -re 's/.*_branch_r([0-9]+).*/\1/'
+ )
+
+TOPLEVEL=KDE
+
+if [ "$MODULE" = "koffice" ]; then
+ TOPLEVEL=koffice
+fi
+
+if [ -z "$LATEST_PULL" ]; then
+ echo "This is the first pull for $MODULE $VERSION."
+ if [ "$MODULE" = "kdebase-workspace" ]; then
+ ARG1="$KDE_SVN/tags/$TOPLEVEL/$MAJOR_VERSION/kdebase/workspace"
+ ARG2="$KDE_SVN/trunk/$TOPLEVEL/kdebase/workspace"
+ else
+ ARG1="$KDE_SVN/tags/$TOPLEVEL/$MAJOR_VERSION/$MODULE"
+ ARG2="$KDE_SVN/trunk/$TOPLEVEL/$MODULE"
+ fi
+else
+ echo "Patch until revision $LATEST_PULL exists."
+ ARG1="-r$LATEST_PULL:HEAD"
+ ARG2="$KDE_SVN/trunk/$TOPLEVEL/$MODULE"
+fi
+
+# Get branch from the repo
+mkdir debian/patches
+TMP_PATCH=$(mktemp debian/patches/branch.XXXXXX)
+trap "rm -f $TMP_PATCH" EXIT
+
+echo "Getting diff file from server..."
+if [ "$MODULE" = "kdebase" ]; then
+ svn diff "$ARG1" "$ARG2" | filterdiff -x 'debian/*' | filterdiff -x 'workspace/*'| filterdiff >${TMP_PATCH}
+else
+ svn diff "$ARG1" "$ARG2" | filterdiff -x 'debian/*' | filterdiff >${TMP_PATCH}
+fi
+
+# Find out the revision of this new pull, unless empty
+# Gross hack coming...
+if [ ! -s ${TMP_PATCH} ]; then
+ echo "Diff file was empty, no patch created."
+ exit
+else
+ NEW_REVISION=$(sed -rne '2s/.*revision ([0-9]+).*/\1/p' ${TMP_PATCH})
+fi
+
+# Move patch to its final destination
+DEST="debian/patches/01_${MODULE}_branch_r$NEW_REVISION.diff"
+{ cat ${TMP_PATCH}; } > ${DEST}
+
+echo "Created patch ${DEST}."
+exit # ensure traps get executed
+
+}
Property changes on: scripts/pull-kde4-branch
___________________________________________________________________
Name: svn:executable
+ *
More information about the pkg-kde-commits
mailing list