summaryrefslogtreecommitdiffstats
path: root/scripts/rawhide-snapshot.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/rawhide-snapshot.sh')
-rwxr-xr-xscripts/rawhide-snapshot.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/scripts/rawhide-snapshot.sh b/scripts/rawhide-snapshot.sh
new file mode 100755
index 000000000..210216b98
--- /dev/null
+++ b/scripts/rawhide-snapshot.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+# A coffeeproof rawhide script. You should be able to run this before the
+# coffee has kicked in and generate a good rawhide commit.
+#
+# - Updates the local Fedora tree to master and verifies that you are working
+# off of the correct master
+# - Updates the upstream tree to the latest master.
+# - Generates a git snapshot via generate-git-snapshot.sh
+# - Clears out old git snapshots from the sources
+# - Uploads the new snapshot
+
+source scripts/kernel-version.sh
+
+klist -s
+if [ ! $? -eq 0 ]; then
+ echo "klist couldn't read the credential cache."
+ echo "Do you need to fix your kerberos tokens?"
+ exit 1
+fi
+
+git fetch origin
+if [ "$(git rev-parse origin/master)" != "$(git rev-parse HEAD)" ]; then
+ echo "I just did a git fetch and this branch does not match master"
+ echo "Re-check out this branch to work off of the latest master"
+ exit 1
+fi
+
+if [ ! -d "$LINUX_GIT" ]; then
+ echo "error: set \$LINUX_GIT to point at an upstream git tree"
+ exit 1
+fi
+
+git -C $LINUX_GIT pull
+if [ ! $? -eq 0 ]; then
+ echo "Git pull failed. Is your tree clean/correct?"
+ exit 1
+fi
+
+git -C $LINUX_GIT describe --tags HEAD | grep -q "\-g"
+if [ ! $? -eq 0 ]; then
+ echo "Trying to snapshot off of a tagged git."
+ echo "I don't think this is what you want"
+ exit 1
+fi
+
+if [ "$(git -C $LINUX_GIT rev-parse origin/master)" == `cat gitrev` ]; then
+ echo "Last snapshot commit matches current master. Nothing to do"
+ echo "\o/"
+ exit 0
+fi
+
+GIT=`grep "%define gitrev" kernel.spec | cut -d ' ' -f 3`
+if [ "$GIT" -eq 0 ]; then
+ make debug
+ ./scripts/fixup-bumpspec.sh
+ fedpkg commit -c
+fi
+
+./scripts/generate-git-snapshot.sh
+
+#Nuke the old patch from the source
+awk '!/git/ { print $0 }' < sources > sources.tmp
+mv sources.tmp sources
+
+GIT=`grep "%define gitrev" kernel.spec | cut -d ' ' -f 3`
+fedpkg upload patch-$VER-git$GIT.xz