pkg-kde: commit - rev 193 - people/dato/kde-common
Author: dato-guest
Date: 2004-11-05 19:06:42 -0700 (Fri, 05 Nov 2004)
New Revision: 193
Modified:
people/dato/kde-common/patches.sh
Log:
Add per-patch stamp-file. Otherwise, it sucks when you make a mistake.
Modified: people/dato/kde-common/patches.sh
===================================================================
--- people/dato/kde-common/patches.sh 2004-11-05 23:53:16 UTC (rev 192)
+++ people/dato/kde-common/patches.sh 2004-11-06 02:06:42 UTC (rev 193)
@@ -1,5 +1,6 @@
#! /bin/sh
# Very simple patching system with uu-encoded patches support
+# Added per-patch stamp on 2004-11-06.
# $Id$
set -e
@@ -19,37 +20,37 @@
# List of patches
patches=$(find $patchesdirs -name '*.diff' | sort)
- # Apply
- if test ! -f patch-stamp; then
- for patch in $patches; do
+ # Apply if stamp does not exist
+ for patch in $patches; do
+ if test ! -f $patch-stamp; then
echo "APPLYING PATCH: ${patch##*/}"
patch -p1 < "$patch"
- done
+ touch $patch-stamp
+ else
+ echo "ALREADY APPLIED: ${patch##*/}"
+ fi
+ done
- touch patch-stamp
- fi
-
;;
unapply)
- # List of patches
- patches=$(find $patchesdirs -name '*.diff' | sort -r)
+ # List of applied patches == list of stamps
+ stamps=$(find $patchesdirs -name '*.diff-stamp' | sort -r)
# Unapply
- if test -f patch-stamp; then
- for patch in $patches; do
- echo "REMOVING PATCH: ${patch##*/}"
- patch -p1 -R < "$patch"
- done
+ for stamp in $stamps; do
+ echo "REMOVING PATCH: ${patch##*/}"
+ patch=`dirname $stamp`/`basename $stamp -stamp`
+ patch -p1 -R < "$patch"
+ rm -f $stamp
+ done
# Remove decoded patches
for uu in $(find $patchesdirs -name '*.uu'); do
rm -f "${uu%%.uu}"
done
-
- # Remove stamp
- rm -f patch-stamp
- fi
;;
esac
+
+# vim: sw=4
Reply to: