slitaz-dev-tools annotate mirror-tools/rootfs/usr/bin/rolling.sh @ rev 140
rolling.sh: htmlize logs
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Jan 09 13:33:32 2012 +0100 (2012-01-09) |
parents | b728f44da66f |
children | 436434a9cf4c |
rev | line source |
---|---|
pascal@69 | 1 #!/bin/sh |
pascal@69 | 2 |
pascal@69 | 3 # Location of slitaz rolling release |
pascal@123 | 4 rolling=/home/bellard/rolling |
pascal@69 | 5 |
pascal@131 | 6 flavors="core-4in1 core preinit" |
pascal@123 | 7 packages=/home/slitaz/cooking/chroot/home/slitaz/packages |
pascal@69 | 8 |
pascal@69 | 9 # We use the last build as build environment |
pascal@129 | 10 system=$rolling/slitaz-core.iso |
pascal@69 | 11 |
pascal@140 | 12 htmlize() |
pascal@140 | 13 { |
pascal@140 | 14 echo -e "<html>\n<body>\n<pre>" |
pascal@140 | 15 dos2unix | sed -e 's|\(Filesystem size:\).*G\([0-9\.]*M\) *$|\1 \2|' \ |
pascal@140 | 16 -e 's|.\[1m|<b>|' -e 's|.\[0m|</b>|' -e 's|.\[[0-9Gm;]*||g' \ |
pascal@140 | 17 -e ':a;s/^\(.\{1,68\}\)\(\[ [A-Za-z]* \]\)/\1 \2/;ta' \ |
pascal@140 | 18 -e 's#\[ OK \]#[ <span style="color: green">OK</span> ]#' \ |
pascal@140 | 19 -e 's#\[ Failed \]#[ <span style="color: red">Failed</span> ]#' |
pascal@140 | 20 echo -e "</pre>\n</body>\n</html>" |
pascal@140 | 21 } |
pascal@140 | 22 |
pascal@69 | 23 # Build the rolling release if something is new on mirror |
pascal@129 | 24 for flavor in $flavors ; do |
pascal@140 | 25 if [ ! -s $rolling/slitaz-$flavor.iso -o \ |
pascal@131 | 26 $packages/$flavor.flavor -nt $rolling/slitaz-$flavor.iso -o \ |
pascal@129 | 27 $packages/packages.list -nt $rolling/slitaz-$flavor.iso ]; then |
pascal@69 | 28 [ -d $rolling ] || mkdir -p $rolling |
pascal@123 | 29 TMP=$rolling/tmp$$ |
pascal@123 | 30 mkdir -p $TMP/iso $TMP/fs/var/lib/tazpkg $TMP/fs/home/slitaz/cooking \ |
pascal@123 | 31 $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@123 | 32 mount --bind $packages $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@123 | 33 ln -s /var/cache/tazpkg/cooking/packages $TMP/fs/home/slitaz/cooking |
pascal@123 | 34 # 3.0 compatibility... |
pascal@123 | 35 ln -s cooking/packages $TMP/fs/home/slitaz/packages |
pascal@123 | 36 cp -a $packages/packages.* $TMP/fs/var/lib/tazpkg |
pascal@123 | 37 cp $packages/$flavor.flavor $TMP/fs |
pascal@69 | 38 mount -o loop,ro $system $TMP/iso |
pascal@69 | 39 for i in $TMP/iso/boot/rootfs*.gz ; do |
pascal@69 | 40 unlzma -c $i | ( cd $TMP/fs ; cpio -id ) |
pascal@69 | 41 done |
pascal@123 | 42 [ -d $rolling/fixes ] && cp -a $rolling/fixes/. $TMP/fs/. |
pascal@123 | 43 echo "cooking" > $TMP/fs/etc/slitaz-release |
pascal@69 | 44 umount -d $TMP/iso |
pascal@69 | 45 cat > $TMP/fs/root/build.sh <<EOT |
pascal@69 | 46 #!/bin/sh |
pascal@69 | 47 |
pascal@140 | 48 echo "# date" |
pascal@123 | 49 date |
pascal@140 | 50 echo "# tazlito get-flavor $flavor" |
pascal@69 | 51 tazlito get-flavor $flavor |
pascal@140 | 52 echo "# yes '' | tazlito gen-distro" |
pascal@123 | 53 yes '' | tazlito gen-distro |
pascal@140 | 54 echo "# date" |
pascal@123 | 55 date |
pascal@69 | 56 EOT |
pascal@69 | 57 cat > $TMP/fs/BUILD <<EOT |
pascal@69 | 58 #!/bin/sh |
pascal@69 | 59 |
pascal@69 | 60 DIR=\$(dirname \$0) |
pascal@69 | 61 MOUNTS="/proc /sys /dev/pts /dev/shm" |
pascal@69 | 62 [ -s /etc/resolv.conf ] && cp /etc/resolv.conf \$DIR/etc |
pascal@69 | 63 if [ ! -d \$DIR/proc/1 ]; then |
pascal@69 | 64 for i in \$MOUNTS; do |
pascal@69 | 65 [ -d \$i ] && mount --bind \$i \$DIR/\$i |
pascal@69 | 66 done |
pascal@69 | 67 mount --bind /tmp \$DIR/tmp || mount -t tmpfs tmpfs \$DIR/tmp |
pascal@69 | 68 fi |
pascal@140 | 69 script -c "SHELL=/bin/sh chroot \$DIR /bin/sh /root/build.sh" $TMP/slitaz-$flavor.log |
pascal@69 | 70 umount \$DIR/tmp |
pascal@69 | 71 for i in \$MOUNTS; do |
pascal@69 | 72 umount \$DIR/\$i |
pascal@69 | 73 done |
pascal@69 | 74 EOT |
pascal@69 | 75 sh $TMP/fs/BUILD |
pascal@123 | 76 # 3.0 compatibility... |
pascal@123 | 77 [ -d $TMP/fs/home/slitaz/cooking/distro ] || |
pascal@123 | 78 ln -s ../distro $TMP/fs/home/slitaz/cooking/distro |
pascal@123 | 79 umount $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@69 | 80 mv -f $TMP/fs/home/slitaz/cooking/distro/slitaz-$flavor.* $rolling/ |
pascal@69 | 81 mv -f $TMP/slitaz-$flavor.log $rolling/ |
pascal@140 | 82 htmlize < $rolling/slitaz-$flavor.log > $rolling/slitaz-$flavor.log.html |
pascal@69 | 83 rm -rf $TMP |
pascal@129 | 84 fi |
pascal@140 | 85 export DROPBEAR_PASSWORD=none |
pascal@140 | 86 SSH="dbclient -p 222 -i /home/bellard/.ssh/id_rsa.dropbear" |
pascal@140 | 87 rsync --bwlimit=40 -vtP -e "$SSH" $rolling/slitaz-$flavor.* \ |
pascal@129 | 88 bellard@mirror.slitaz.org:/var/www/slitaz/mirror/iso/rolling |
pascal@129 | 89 done |