mirror of
				https://pagure.io/fedora-kickstarts.git
				synced 2025-10-31 07:15:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			160 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |