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