slitaz-dev-tools rev 69
mirror-tools: add rolling release script
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Apr 07 21:44:49 2011 +0200 (2011-04-07) |
parents | 648049250a07 |
children | 9b6516f3edc0 |
files | mirror-tools/rootfs/usr/bin/rolling.sh |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mirror-tools/rootfs/usr/bin/rolling.sh Thu Apr 07 21:44:49 2011 +0200 1.3 @@ -0,0 +1,56 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +# Current root of web server 1.7 +rootwww=/var/www/slitaz/mirror 1.8 +packages=$rootwww/packages/cooking 1.9 + 1.10 +# Location of slitaz rolling release 1.11 +rolling=$rootwww/iso/rolling 1.12 + 1.13 +flavor=core 1.14 + 1.15 +# We use the last build as build environment 1.16 +system=$rolling/slitaz-*.iso 1.17 +[ -s $system ] || system=$rootwww/iso/cooking/slitaz-cooking.iso 1.18 + 1.19 +# Build the rolling release if something is new on mirror 1.20 +if [ $packages/$flavor.flavor -nt $system -o \ 1.21 + $packages/packages.list -nt $system ]; then 1.22 + [ -d $rolling ] || mkdir -p $rolling 1.23 + TMP=/tmp/rolling$$ 1.24 + mkdir -p $TMP/iso $TMP/fs/home/slitaz/cooking/packages 1.25 + ln $packages/* $TMP/fs/home/slitaz/cooking/packages 1.26 + mount -o loop,ro $system $TMP/iso 1.27 + for i in $TMP/iso/boot/rootfs*.gz ; do 1.28 + unlzma -c $i | ( cd $TMP/fs ; cpio -id ) 1.29 + done 1.30 + umount -d $TMP/iso 1.31 + cat > $TMP/fs/root/build.sh <<EOT 1.32 +#!/bin/sh 1.33 + 1.34 +tazlito get-flavor $flavor 1.35 +yes '' | tazlito gen-distro 1.36 +EOT 1.37 + cat > $TMP/fs/BUILD <<EOT 1.38 +#!/bin/sh 1.39 + 1.40 +DIR=\$(dirname \$0) 1.41 +MOUNTS="/proc /sys /dev/pts /dev/shm" 1.42 +[ -s /etc/resolv.conf ] && cp /etc/resolv.conf \$DIR/etc 1.43 +if [ ! -d \$DIR/proc/1 ]; then 1.44 + for i in \$MOUNTS; do 1.45 + [ -d \$i ] && mount --bind \$i \$DIR/\$i 1.46 + done 1.47 + mount --bind /tmp \$DIR/tmp || mount -t tmpfs tmpfs \$DIR/tmp 1.48 +fi 1.49 +script -c "SHELL=/bin/sh chroot \$DIR /bin/sh -x /root/build.sh" $TMP/slitaz-$flavor.log 1.50 +umount \$DIR/tmp 1.51 +for i in \$MOUNTS; do 1.52 + umount \$DIR/\$i 1.53 +done 1.54 +EOT 1.55 + sh $TMP/fs/BUILD 1.56 + mv -f $TMP/fs/home/slitaz/cooking/distro/slitaz-$flavor.* $rolling/ 1.57 + mv -f $TMP/slitaz-$flavor.log $rolling/ 1.58 + rm -rf $TMP 1.59 +fi