summaryrefslogtreecommitdiffstats
path: root/scripts/pki_patch_maker
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-03-24 02:27:47 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-03-26 11:43:54 -0500
commit621d9e5c413e561293d7484b93882d985b3fe15f (patch)
tree638f3d75761c121d9a8fb50b52a12a6686c5ac5c /scripts/pki_patch_maker
parent40d3643b8d91886bf210aa27f711731c81a11e49 (diff)
downloadpki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.gz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.xz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.zip
Removed unnecessary pki folder.
Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131
Diffstat (limited to 'scripts/pki_patch_maker')
-rwxr-xr-xscripts/pki_patch_maker113
1 files changed, 113 insertions, 0 deletions
diff --git a/scripts/pki_patch_maker b/scripts/pki_patch_maker
new file mode 100755
index 000000000..08e8aacd8
--- /dev/null
+++ b/scripts/pki_patch_maker
@@ -0,0 +1,113 @@
+#!/bin/bash
+## BEGIN COPYRIGHT BLOCK
+## (C) 2011 Red Hat, Inc.
+## All rights reserved.
+## END COPYRIGHT BLOCK
+
+## This shell script must always be executed in the base
+## directory located one level above this shell script
+cd `dirname $0`/..
+
+
+##
+## Usage statement
+##
+
+Usage()
+{
+ printf "\n"
+ printf "Usage: $0 <startrev> <endrev> <srpm> <basever>\n\n"
+ printf " where:\n\n"
+ printf " <startrev> is the starting SVN revision\n\n"
+ printf " <endrev> is the ending SVN revision\n\n"
+ printf " <srpm> is one of the following:\n\n"
+ printf " ipa-pki-theme\n"
+ printf " pki-core\n\n"
+ printf " <basever> is the version of the specified <srpm>\n"
+ printf "\n"
+ printf "IMPORTANT: Successful use of this script relies upon separation\n"
+ printf " of 'pki-core' and 'ipa-pki-theme' check-ins. All\n"
+ printf " patch files automatically produced by this script\n"
+ printf " should be applied and tested thoroughly before\n"
+ printf " being accepted as proper patches.\n\n"
+}
+
+
+##
+## Identify source associated with srpm
+##
+IPA_PKI_THEME="dogtag/ca-ui dogtag/common-ui"
+PKI_CORE="base/ca base/common base/java-tools base/native-tools base/selinux base/setup base/silent base/symkey base/util"
+
+
+##
+## Check for command line argument validity
+##
+
+if [ $# -ne 4 ] ; then
+ printf "ERROR: Insufficent parameters!\n"
+ Usage
+ exit 255
+fi
+
+startrev=$1
+endrev=$2
+srpm=$3
+basever=$4
+
+if [ ${srpm} == "pki-core" ]; then
+ source=${PKI_CORE}
+elif [ ${srpm} == "ipa-pki-theme" ]; then
+ source=${IPA_PKI_THEME}
+else
+ printf "ERROR: Invalid <srpm> specified!\n"
+ Usage
+ exit 255
+fi
+
+if [ ${startrev} -ge ${endrev} ]; then
+ printf "ERROR: <startrev> must be less than <endrev>!\n"
+ Usage
+ exit 255
+fi
+
+
+##
+## Always establish a new working directory
+##
+workingdir=/tmp/pki_patch_maker
+if [ ! -e ${workingdir} ]; then
+ mkdir ${workingdir}
+fi
+rm -rf ${workingdir}/${srpm}
+mkdir ${workingdir}/${srpm}
+
+
+##
+## Process specified SVN revision numbers
+##
+for i in ${source}
+do
+ svn log -q -r${startrev}:${endrev} $i |grep "^r"|awk '{print $1}'|sed 's/r//' >> ${workingdir}/${srpm}/revnos
+done
+
+cat ${workingdir}/${srpm}/revnos |sort |uniq > ${workingdir}/${srpm}/revnos2
+
+
+##
+## Generate patches for the specified SRPM based upon SVN revision numbers
+##
+while read rev0
+do
+ svn diff -c $rev0 --diff-cmd /usr/bin/diff -x "-Nurb" > ${workingdir}/${srpm}/${srpm}-${basever}-r${rev0}.patch
+done < ${workingdir}/${srpm}/revnos2
+
+
+##
+## Generate sample changelog messages associated with these patches
+##
+while read rev0
+do
+ echo `svn log -r $rev0 |grep -i "Resolves"`, $rev0 >> ${workingdir}/${srpm}/changelog
+done < ${workingdir}/${srpm}/revnos2
+