Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-24 22:27:57 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-24 22:27:57 (GMT)
commit30a0063c63e8fd415d1c0845723869719d039cf6 (patch)
tree8660aa146bcbfb530fc927ef0d90573c6f35238d
parent5d7f4c4995f1665e52559ef2deed1b2191456c6a (diff)
Split and improve snapshot generation
-rw-r--r--Makefile.buildbot18
-rwxr-xr-xcommands/helpers/build-snapshot68
2 files changed, 74 insertions, 12 deletions
diff --git a/Makefile.buildbot b/Makefile.buildbot
index 90354cd..3f1cde9 100644
--- a/Makefile.buildbot
+++ b/Makefile.buildbot
@@ -11,16 +11,10 @@ upload-docs:
upload-snapshot:
@TMP_DIR=`mktemp -td sugar-build-snapshot-XXXX` && \
- SNAPSHOT_FILENAME=sugar-build-`date +%Y%m%d-%H%M%S.tar.xz` && \
- echo "Creating $$SNAPSHOT_FILENAME" && \
- ln -s `pwd` $$TMP_DIR/sugar-build && \
- cd $$TMP_DIR && \
- tar chJ --exclude=source \
- --exclude=build \
- --exclude=logs \
- --exclude=.git* \
- -f $$TMP_DIR/$$SNAPSHOT_FILENAME sugar-build && \
- echo "Uploading" && \
- scp $$SNAPSHOT_FILENAME $(SNAPSHOT_DEST) && \
- rm -f $$SNAPSHOT_FILENAME && \
+ echo "Creating snapshot" && \
+ SNAPSHOT_PATH=`commands/helpers/build-snapshot $$TMP_DIR` && \
+ echo "Uploading snapshot" && \
+ scp $$SNAPSHOT_PATH $(SNAPSHOT_DEST) && \
+ rm -rf $$TMP_DIR && \
+ echo "Notifying about upload completion" && \
ssh $(SNAPSHOT_DEST_HOST) $(SNAPSHOT_DEST_DIR)/upload-completed
diff --git a/commands/helpers/build-snapshot b/commands/helpers/build-snapshot
new file mode 100755
index 0000000..339cebf
--- /dev/null
+++ b/commands/helpers/build-snapshot
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+commandsdir=`dirname "$0"`
+basedir=`dirname "$commandsdir"`
+
+if [ "$#" -eq 0 ]; then
+ echo "build-snapshot [destination directory]"
+ exit 1
+fi
+
+destdir=$1
+filename=sugar-build-`date +%Y%m%d-%H%M%S.tar`
+
+ln -s `pwd` $destdir/sugar-build
+
+cd $destdir
+
+tar chf $filename \
+ sugar-build/config \
+ sugar-build/devbot \
+ sugar-build/install \
+ sugar-build/commands/helpers/bashrc \
+ sugar-build/commands/helpers/find-free-display \
+ sugar-build/commands/helpers/list-outputs \
+ sugar-build/commands/helpers/ubuntu-tweaks \
+ sugar-build/commands/helpers/xinitrc \
+ sugar-build/commands/helpers/xephyr-window \
+ sugar-build/commands/helpers/get-screen-dpi \
+ sugar-build/commands/helpers/run-with-keyring \
+ sugar-build/commands/check-system \
+ sugar-build/commands/run-command \
+ sugar-build/commands/common.py \
+ sugar-build/commands/run \
+ sugar-build/commands/shell
+
+rm sugar-build
+
+mkdir sugar-build
+
+runsugarscript=sugar-build/run-sugar.sh
+
+cat > $runsugarscript << "EOF"
+#!/bin/sh
+
+commands/check-system
+commands/run
+EOF
+
+chmod +x $runsugarscript
+
+runshellscript=sugar-build/run-shell.sh
+
+cat > $runshellscript << "EOF"
+#!/bin/sh
+
+commands/check-system
+commands/shell
+EOF
+
+chmod +x $runshellscript
+
+tar rh -f $filename $runshellscript $runsugarscript
+
+rm -rf sugar-build
+
+xz $filename
+
+echo $filename.xz