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