summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkevin <kevin@tummy.com>2010-04-06 09:36:51 -0600
committerkevin <kevin@tummy.com>2010-04-06 09:36:51 -0600
commit3d5a72c3a9d3e7df24a4b33f4715131d09422eb9 (patch)
tree047f5449c6fe0bcd1e9270c3c96cf965b19f0077
parent7a8f13033ad464d13cbe013b960eac5fe7314d42 (diff)
downloadspin-kickstarts-3d5a72c3a9d3e7df24a4b33f4715131d09422eb9.tar.gz
spin-kickstarts-3d5a72c3a9d3e7df24a4b33f4715131d09422eb9.tar.xz
spin-kickstarts-3d5a72c3a9d3e7df24a4b33f4715131d09422eb9.zip
Add nightly compose script used for making all the spins.
-rwxr-xr-xtools/nightly-composes159
1 files changed, 159 insertions, 0 deletions
diff --git a/tools/nightly-composes b/tools/nightly-composes
new file mode 100755
index 0000000..6ecc9e9
--- /dev/null
+++ b/tools/nightly-composes
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+TOPDIR=/var/tmp
+
+STATEFILE=$TOPDIR/nightlylivecdstatefile
+# WARNING: MirrorManager must always give this mirror to the host running this script
+STATEPATH=http://infrastructure.fedoraproject.org/pub/fedora/linux/development/13/x86_64/os/repodata/repomd.xml
+
+getdatehash() {
+ DUMP=$(wget --no-cache -S $1 -O /dev/null 2>&1)
+ echo "$DUMP" | grep -q "HTTP/1.1 200 OK"
+ if [ $? -eq 0 ]; then
+ DATE=$(echo "$DUMP"|grep '^ Last-Modified'|sha1sum |awk {'print $1'})
+ else
+ echo "ERROR: $STATEPATH failed."
+ exit 1
+ fi
+}
+getdatehash $STATEPATH
+
+if [ -f $STATEFILE ]; then
+ OLDDATE=$(cat $STATEFILE)
+ if [ "$OLDDATE" == "$DATE" ]; then
+ # No change, exit
+ exit 0
+ fi
+fi
+
+# Save date hash
+echo "$DATE" > $STATEFILE
+echo "Saving date hash: $DATE"
+
+# Check for running livecd-creator and abort if it is running
+if ps -ef |grep -v grep |grep -q livecd-creator; then
+ echo "ERROR: Another livecd-creator is still running. Aborting."
+ exit 255
+fi
+
+if [ ! -d $TOPDIR/spin-kickstarts/ ]; then
+ cd $TOPDIR
+ git clone http://git.fedorahosted.org/git/spin-kickstarts.git
+fi
+
+# pull any git updates to kickstarts
+
+cd $TOPDIR/spin-kickstarts/
+git reset --hard
+git pull
+
+if [ ! -d $TOPDIR/nightly-composes ]; then
+ mkdir -p $TOPDIR/nightly-composes
+fi
+
+DATE=`date +%Y%m%d.%H`
+
+# remove the previous days compose
+find $TOPDIR/nightly-composes/ -name '*.iso' -exec rm -f '{}' \;
+
+# loop though the valid spins
+for i in `echo desktop design-suite xfce broffice.org kde electronic-lab games lxde soas security`
+do
+
+ cd $TOPDIR/nightly-composes/
+
+ echo $i
+
+ if [ ! -d $TOPDIR/nightly-composes/$i ]; then
+ mkdir -p $TOPDIR/nightly-composes/$i
+ fi
+ if [ ! -d $TOPDIR/nightly-composes/$i/logs ]; then
+ mkdir -p $TOPDIR/nightly-composes/$i/logs
+ touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-i386
+ touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-x86_64
+ fi
+
+ cd $i
+
+ # compose f13 not rawhide for now.
+ sed -i 's/rawhide/fedora-13/g' $TOPDIR/spin-kickstarts/*.ks
+
+ # debrand
+ # Note this is not needed for 'official' test spins
+ #sed -i 's/^-fedora-logos/fedora-logos/' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
+ #sed -i 's/^generic-logos//' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
+
+ echo "INFO: $i i386 live image compose starting"
+ setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-i386-$DATE > logs/$DATE-i386.log 2>&1
+ if [ $? -ne 0 ]; then
+ echo "ERROR: $i i386 live image failed to compose on $DATE"
+ mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
+ else
+ du $TOPDIR/nightly-composes/$i/$i-i386-$DATE.iso >> logs/SIZEHISTORY-i386
+ tail -2 logs/SIZEHISTORY-i386
+ rm -f CHECKSUM-i386
+ sha256sum $i-i386-$DATE.iso > CHECKSUM-i386
+ cat CHECKSUM-i386
+ echo "INFO: $i i386 live image compose finished OK"
+ fi
+
+ echo "INFO: $i x86_64 live image compose starting"
+ # Need to shorten the electronic-lab label to the 32 char limit
+ if [ "$i" = "electronic-lab" ]; then
+ livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f e-lab-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
+ else
+ livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
+ fi
+ if [ $? -ne 0 ]; then
+ echo "ERROR: $i x86_64 live image failed to compose on $DATE"
+ mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
+ else
+ if [ "$i" = "electronic-lab" ]; then
+ du $TOPDIR/nightly-composes/$i/e-lab-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
+ tail -2 logs/SIZEHISTORY-x86_64
+ rm -f CHECKSUM-x86_64
+ sha256sum e-lab-x86_64-$DATE.iso > CHECKSUM-x86_64
+ cat CHECKSUM-x86_64
+ else
+ du $TOPDIR/nightly-composes/$i/$i-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
+ tail -2 logs/SIZEHISTORY-x86_64
+ rm -f CHECKSUM-x86_64
+ sha256sum $i-x86_64-$DATE.iso > CHECKSUM-x86_64
+ cat CHECKSUM-x86_64
+ fi
+ echo "INFO: $i x86_64 live image compose finished OK"
+ fi
+
+ # remove old resize image
+ #rm -f /tmp/resize-image-*
+done
+
+# do aos spin
+echo "INFO: aos i386 live image compose starting"
+cd $TOPDIR/nightly-composes/aos/
+setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-i386-$DATE > logs/$DATE-i386.log 2>&1
+if [ $? -ne 0 ]; then
+ echo "ERROR: aos i386 live image failed to compose on $DATE"
+ mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
+else
+ du $TOPDIR/nightly-composes/aos/aos-i386-$DATE.iso >> logs/SIZEHISTORY-i386
+ tail -2 logs/SIZEHISTORY-i386
+ rm -f CHECKSUM-i386
+ sha256sum aos-i386-$DATE.iso > CHECKSUM-i386
+ cat CHECKSUM-i386
+ echo "INFO: aos i386 live image compose finished OK"
+fi
+
+echo "INFO: aos x86_64 live image compose starting"
+livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
+if [ $? -ne 0 ]; then
+ echo "ERROR: aos x86_64 live image failed to compose on $DATE"
+ mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
+else
+ du $TOPDIR/nightly-composes/aos/aos-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
+ tail -2 logs/SIZEHISTORY-x86_64
+ rm -f CHECKSUM-x86_64
+ sha256sum aos-x86_64-$DATE.iso > CHECKSUM-x86_64
+ cat CHECKSUM-x86_64
+ echo "INFO: aos x86_64 live image compose finished OK"
+fi