slitaz-dev-tools annotate mirror-tools/rootfs/usr/bin/rolling.sh @ rev 150
rolling.sh: be more verbose
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 10 10:24:50 2012 +0100 (2012-03-10) |
parents | 4c270e31e07e |
children | a49102a73eff |
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@145 | 7 lorams="core-4in1" |
pascal@123 | 8 packages=/home/slitaz/cooking/chroot/home/slitaz/packages |
pascal@69 | 9 |
pascal@69 | 10 # We use the last build as build environment |
pascal@129 | 11 system=$rolling/slitaz-core.iso |
pascal@69 | 12 |
pascal@150 | 13 # On chroot: |
pascal@150 | 14 # # cook pkgdb --flavors |
pascal@150 | 15 |
pascal@145 | 16 create_loram() |
pascal@145 | 17 { |
pascal@145 | 18 case " $lorams " in |
pascal@145 | 19 *\ $1\ *) true;; |
pascal@145 | 20 *) false;; |
pascal@145 | 21 esac |
pascal@145 | 22 } |
pascal@145 | 23 |
pascal@140 | 24 htmlize() |
pascal@140 | 25 { |
pascal@140 | 26 echo -e "<html>\n<body>\n<pre>" |
pascal@145 | 27 sed 's/.*%.\[/[/g' | dos2unix | sed 's/?Getting/? y\nGetting/' | sed \ |
pascal@145 | 28 -e 's|\(Filesystem size:\).*G\([0-9\.]*M\) *$|\1 \2|' \ |
pascal@140 | 29 -e 's|.\[1m|<b>|' -e 's|.\[0m|</b>|' -e 's|.\[[0-9Gm;]*||g' \ |
pascal@143 | 30 -e 's|#.*|<i><span style="color: blue">&</span></i>|' \ |
pascal@140 | 31 -e ':a;s/^\(.\{1,68\}\)\(\[ [A-Za-z]* \]\)/\1 \2/;ta' \ |
pascal@140 | 32 -e 's#\[ OK \]#[ <span style="color: green">OK</span> ]#' \ |
pascal@140 | 33 -e 's#\[ Failed \]#[ <span style="color: red">Failed</span> ]#' |
pascal@140 | 34 echo -e "</pre>\n</body>\n</html>" |
pascal@140 | 35 } |
pascal@140 | 36 |
pascal@69 | 37 # Build the rolling release if something is new on mirror |
pascal@129 | 38 for flavor in $flavors ; do |
pascal@150 | 39 echo "Checking $flavor dates ..." |
pascal@140 | 40 if [ ! -s $rolling/slitaz-$flavor.iso -o \ |
pascal@131 | 41 $packages/$flavor.flavor -nt $rolling/slitaz-$flavor.iso -o \ |
pascal@129 | 42 $packages/packages.list -nt $rolling/slitaz-$flavor.iso ]; then |
pascal@150 | 43 echo "Updating $flavor ..." |
pascal@69 | 44 [ -d $rolling ] || mkdir -p $rolling |
pascal@123 | 45 TMP=$rolling/tmp$$ |
pascal@123 | 46 mkdir -p $TMP/iso $TMP/fs/var/lib/tazpkg $TMP/fs/home/slitaz/cooking \ |
pascal@123 | 47 $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@143 | 48 chown -R root.root $TMP |
pascal@143 | 49 chmod -R 755 $TMP |
pascal@150 | 50 echo "Create system chroot with $system ..." |
pascal@143 | 51 mount -o loop,ro $system $TMP/iso |
pascal@143 | 52 for i in $(ls -r $TMP/iso/boot/rootfs*.gz) ; do |
pascal@143 | 53 unlzma -c $i | ( cd $TMP/fs ; cpio -idmu ) |
pascal@143 | 54 done |
pascal@150 | 55 echo "Get cooking packages & flavors ..." |
pascal@123 | 56 mount --bind $packages $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@123 | 57 ln -s /var/cache/tazpkg/cooking/packages $TMP/fs/home/slitaz/cooking |
pascal@123 | 58 # 3.0 compatibility... |
pascal@123 | 59 ln -s cooking/packages $TMP/fs/home/slitaz/packages |
pascal@123 | 60 cp -a $packages/packages.* $TMP/fs/var/lib/tazpkg |
pascal@148 | 61 cp $packages/*.flavor $TMP/fs |
pascal@123 | 62 [ -d $rolling/fixes ] && cp -a $rolling/fixes/. $TMP/fs/. |
pascal@123 | 63 echo "cooking" > $TMP/fs/etc/slitaz-release |
pascal@69 | 64 umount -d $TMP/iso |
pascal@150 | 65 echo "Create build.sh script ..." |
pascal@69 | 66 cat > $TMP/fs/root/build.sh <<EOT |
pascal@69 | 67 #!/bin/sh |
pascal@69 | 68 |
pascal@140 | 69 echo "# date" |
pascal@123 | 70 date |
pascal@140 | 71 echo "# tazlito get-flavor $flavor" |
pascal@69 | 72 tazlito get-flavor $flavor |
pascal@140 | 73 echo "# yes '' | tazlito gen-distro" |
pascal@123 | 74 yes '' | tazlito gen-distro |
pascal@145 | 75 EOT |
pascal@145 | 76 create_loram $flavor && cat >> $TMP/fs/root/build.sh <<EOT |
pascal@145 | 77 if [ -s /home/slitaz/cooking/distro/slitaz-$flavor.iso ]; then |
pascal@145 | 78 echo "# yes y | tazlito build-loram /home/slitaz/cooking/distro/slitaz-$flavor.iso /root/slitaz-$flavor.loram.iso" |
pascal@145 | 79 yes y | tazlito build-loram /home/slitaz/cooking/distro/slitaz-$flavor.iso /root/slitaz-$flavor.loram.iso |
pascal@145 | 80 fi |
pascal@145 | 81 EOT |
pascal@145 | 82 cat >> $TMP/fs/root/build.sh <<EOT |
pascal@140 | 83 echo "# date" |
pascal@123 | 84 date |
pascal@69 | 85 EOT |
pascal@69 | 86 cat > $TMP/fs/BUILD <<EOT |
pascal@69 | 87 #!/bin/sh |
pascal@69 | 88 |
pascal@69 | 89 DIR=\$(dirname \$0) |
pascal@69 | 90 MOUNTS="/proc /sys /dev/pts /dev/shm" |
pascal@69 | 91 [ -s /etc/resolv.conf ] && cp /etc/resolv.conf \$DIR/etc |
pascal@69 | 92 if [ ! -d \$DIR/proc/1 ]; then |
pascal@69 | 93 for i in \$MOUNTS; do |
pascal@69 | 94 [ -d \$i ] && mount --bind \$i \$DIR/\$i |
pascal@69 | 95 done |
pascal@69 | 96 mount --bind /tmp \$DIR/tmp || mount -t tmpfs tmpfs \$DIR/tmp |
pascal@69 | 97 fi |
pascal@140 | 98 script -c "SHELL=/bin/sh chroot \$DIR /bin/sh /root/build.sh" $TMP/slitaz-$flavor.log |
pascal@69 | 99 umount \$DIR/tmp |
pascal@69 | 100 for i in \$MOUNTS; do |
pascal@69 | 101 umount \$DIR/\$i |
pascal@69 | 102 done |
pascal@69 | 103 EOT |
pascal@69 | 104 sh $TMP/fs/BUILD |
pascal@150 | 105 reset |
pascal@123 | 106 # 3.0 compatibility... |
pascal@123 | 107 [ -d $TMP/fs/home/slitaz/cooking/distro ] || |
pascal@123 | 108 ln -s ../distro $TMP/fs/home/slitaz/cooking/distro |
pascal@123 | 109 umount $TMP/fs/var/cache/tazpkg/cooking/packages |
pascal@150 | 110 echo "Get back slitaz-$flavor.* files ..." |
pascal@69 | 111 mv -f $TMP/fs/home/slitaz/cooking/distro/slitaz-$flavor.* $rolling/ |
pascal@69 | 112 mv -f $TMP/slitaz-$flavor.log $rolling/ |
pascal@140 | 113 htmlize < $rolling/slitaz-$flavor.log > $rolling/slitaz-$flavor.log.html |
pascal@145 | 114 if [ -s $TMP/fs/root/slitaz-$flavor.loram.iso ]; then |
pascal@145 | 115 mv -f $TMP/fs/root/slitaz-$flavor.loram.iso $rolling/ |
pascal@145 | 116 cd $rolling |
pascal@145 | 117 md5sum slitaz-$flavor.loram.iso > slitaz-$flavor.loram.md5 |
pascal@145 | 118 cd - > /dev/null |
pascal@145 | 119 echo |
pascal@145 | 120 fi |
pascal@69 | 121 rm -rf $TMP |
pascal@129 | 122 fi |
pascal@150 | 123 echo "Sending slitaz-$flavor.* files to mirror ..." |
pascal@140 | 124 export DROPBEAR_PASSWORD=none |
pascal@143 | 125 SSH="dbclient -i /home/bellard/.ssh/id_rsa.dropbear" |
pascal@143 | 126 #BWLIMIT="--bwlimit=40" |
pascal@143 | 127 BWLIMIT="" |
pascal@143 | 128 rsync $BWLIMIT -vtP -e "$SSH" $rolling/slitaz-$flavor.* \ |
pascal@129 | 129 bellard@mirror.slitaz.org:/var/www/slitaz/mirror/iso/rolling |
pascal@129 | 130 done |