slitaz-dev-tools annotate mirror-tools/slitaz/mirror/pxe/mkcfg.sh @ rev 155

Added tag 1.5 for changeset 43f3d9f291c6
author Christophe Lincoln <pankso@slitaz.org>
date Tue Mar 13 09:54:51 2012 +0100 (2012-03-13)
parents
children
rev   line source
slaxemulator@10 1 #!/bin/sh
slaxemulator@10 2
slaxemulator@10 3 #usage:
slaxemulator@10 4 # copy /boot/isolinux/* <version>
slaxemulator@10 5 # remove *.cfg
slaxemulator@10 6 # copy then update /boot/isolinux/isolinux.cfg <version>core.cfg
slaxemulator@10 7
slaxemulator@10 8 cd $(dirname $0)
slaxemulator@10 9
slaxemulator@10 10 # Status functions.
slaxemulator@10 11 status()
slaxemulator@10 12 {
slaxemulator@10 13 local CHECK=$?
slaxemulator@10 14 echo -en "\\033[70G[ "
slaxemulator@10 15 if [ $CHECK = 0 ]; then
slaxemulator@10 16 echo -en "\\033[1;33mOK"
slaxemulator@10 17 else
slaxemulator@10 18 echo -en "\\033[1;31mFailed"
slaxemulator@10 19 fi
slaxemulator@10 20 echo -e "\\033[0;39m ]"
slaxemulator@10 21 }
slaxemulator@10 22
slaxemulator@10 23 directlinks()
slaxemulator@10 24 {
slaxemulator@10 25 mkdir $1/$2
slaxemulator@10 26 ln -s .. $1/$2/$1
slaxemulator@10 27 ln -s ../$2.cfg $1/$2/default
slaxemulator@10 28 ln -s ../../pxelinux.0 $1/$2/pxelinux.0
slaxemulator@10 29 ln -s . $1/$2/pxelinux.cfg
slaxemulator@10 30 [ -e $1/boot ] || ln -s ../../boot $1/boot
slaxemulator@10 31 }
slaxemulator@10 32 for version in cooking $(ls ../boot | grep 0$) ; do
slaxemulator@10 33
slaxemulator@10 34 [ "$version" = "1.0" ] && continue
slaxemulator@10 35 echo -n "Building $version"
slaxemulator@10 36 for i in splash.lss isolinux.msg core.cfg ; do
slaxemulator@10 37 [ -s $version/$i ] && continue
slaxemulator@10 38 echo -n " $version/$i not found !"
slaxemulator@10 39 false
slaxemulator@10 40 status
slaxemulator@10 41 continue 2
slaxemulator@10 42 done
slaxemulator@10 43 if ! grep -q $version/splash.lss $version/isolinux.msg ; then
slaxemulator@10 44 echo "WARNING: please update $version/isolinux.msg with $version/splash.lss"
slaxemulator@10 45 fi
slaxemulator@10 46 rm -f $version/*-*.cfg
slaxemulator@10 47 ( cd ../boot/$version ; ls rootfs-*.gz 2> /dev/null ) | \
slaxemulator@10 48 sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do
slaxemulator@10 49 lowcased=$(echo $flavor | tr [A-Z] [a-z])
slaxemulator@10 50 if [ "$lowcased" != "$flavor" ]; then
slaxemulator@10 51 echo ""
slaxemulator@10 52 echo "Warning : renaming ../boot/$version/rootfs-$flavor.gz to ../boot/$version/rootfs-$lowcased.gz"
slaxemulator@10 53 mv ../boot/$version/rootfs-$flavor.gz ../boot/$version/rootfs-$lowcased.gz
slaxemulator@10 54 flavor=$lowcased
slaxemulator@10 55 fi
slaxemulator@10 56 [ -f $version/$flavor.cfg ] && continue
slaxemulator@10 57 cp $version/core.cfg $version/$flavor.cfg
slaxemulator@10 58 sed -i -e "s/core-common/$flavor-common/" \
slaxemulator@10 59 -e "s/^label slitaz$/say Using $flavor flavor.\nlabel slitaz/" \
slaxemulator@10 60 -e "s/rootfs.gz/rootfs-$flavor.gz/" $version/$flavor.cfg
slaxemulator@10 61 directlinks $version $flavor
slaxemulator@10 62 done
slaxemulator@10 63 for flavor in $(cd $version ; ls *.cfg | sed 's/.cfg//') ; do
slaxemulator@10 64 echo -n " $flavor"
slaxemulator@10 65 cat > $version/$flavor-common.cfg <<EOT
slaxemulator@10 66 default slitaz
slaxemulator@10 67 label deCH
slaxemulator@10 68 config $version/$flavor-de_CH.cfg
slaxemulator@10 69 label frCH
slaxemulator@10 70 config $version/$flavor-fr_CH.cfg
slaxemulator@10 71 label reboot
slaxemulator@10 72 com32 reboot.c32
slaxemulator@10 73
slaxemulator@10 74 implicit 0
slaxemulator@10 75 prompt 1
slaxemulator@10 76 timeout 80
slaxemulator@10 77 F1 $version/help.txt
slaxemulator@10 78 F2 $version/options.txt
slaxemulator@10 79 F3 $version/isolinux.msg
slaxemulator@10 80 F4 $version/display.txt
slaxemulator@10 81 F5 $version/enhelp.txt
slaxemulator@10 82 F6 $version/enopts.txt
slaxemulator@10 83
slaxemulator@10 84 EOT
slaxemulator@10 85 while read cfg kbd loc ; do
slaxemulator@10 86 if [ ! -f $version/$cfg.kbd ]; then
slaxemulator@10 87 echo ""
slaxemulator@10 88 echo "Not found: $version/$cfg.kbd"
slaxemulator@10 89 fi
slaxemulator@10 90 info="Now using $kbd keyboard and $loc locale."
slaxemulator@10 91 sed -e "s/^display/kbdmap $version\/$cfg.kbd\ndisplay/" \
slaxemulator@10 92 -e "s/^label slitaz$/say $info\nlabel slitaz/" \
slaxemulator@10 93 -e "s/gz/gz lang=$loc kmap=$kbd/" \
slaxemulator@10 94 < $version/$flavor.cfg > $version/$flavor-$cfg.cfg
slaxemulator@10 95 cat >> $version/$flavor-common.cfg <<EOT
slaxemulator@10 96 label $cfg
slaxemulator@10 97 config $version/$flavor-$cfg.cfg
slaxemulator@10 98 EOT
slaxemulator@10 99 done <<EOT
slaxemulator@10 100 be be-latin1 fr_FR
slaxemulator@10 101 br br-abnt2 pt_PT
slaxemulator@10 102 ca cf fr_FR
slaxemulator@10 103 de de-latin1 de_DE
slaxemulator@10 104 de_CH de_CH-latin1 de_DE
slaxemulator@10 105 en uk C
slaxemulator@10 106 es es es_ES
slaxemulator@10 107 fi fi-latin1 fi
slaxemulator@10 108 fr fr-latin1 fr_FR
slaxemulator@10 109 fr_CH fr_CH-latin1 fr_FR
slaxemulator@10 110 hu hu hu
slaxemulator@10 111 it it it_IT
slaxemulator@10 112 jp jp106 jp_JP
slaxemulator@10 113 pt pt-latin1 pt_PT
slaxemulator@10 114 ru ru ru_RU
slaxemulator@10 115 us us C
slaxemulator@10 116 EOT
slaxemulator@10 117 done
slaxemulator@10 118 status
slaxemulator@10 119
slaxemulator@10 120 done
slaxemulator@10 121
slaxemulator@10 122 echo -n "Building 1.0"
slaxemulator@10 123 rm -f 1.0/*-*.cfg
slaxemulator@10 124 ( cd ../boot/1.0 ; ls rootfs-*.gz 2> /dev/null ) | \
slaxemulator@10 125 sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do
slaxemulator@10 126 [ -f 1.0/$flavor.cfg ] && continue
slaxemulator@10 127 cp 1.0/core.cfg 1.0/$flavor.cfg
slaxemulator@10 128 sed -i -e "s/core-common/$flavor-common/" \
slaxemulator@10 129 -e "s/rootfs.gz/rootfs-$flavor.gz/" 1.0/$flavor.cfg
slaxemulator@10 130 directlinks 1.0 $flavor
slaxemulator@10 131 done
slaxemulator@10 132 directlinks 1.0 core
slaxemulator@10 133 for flavor in $(cd 1.0; ls *.cfg | sed 's/.cfg//') ; do
slaxemulator@10 134 echo -n " $flavor"
slaxemulator@10 135 cat > 1.0/$flavor-common.cfg <<EOT
slaxemulator@10 136 default slitaz
slaxemulator@10 137
slaxemulator@10 138 label def
slaxemulator@10 139 config 1.0/$flavor.cfg
slaxemulator@10 140
slaxemulator@10 141 label reboot
slaxemulator@10 142 com32 reboot.c32
slaxemulator@10 143
slaxemulator@10 144 implicit 0
slaxemulator@10 145 prompt 1
slaxemulator@10 146 timeout 80
slaxemulator@10 147 F1 1.0/help.txt
slaxemulator@10 148 F2 1.0/options.txt
slaxemulator@10 149 F3 1.0/isolinux.msg
slaxemulator@10 150 F4 1.0/display.txt
slaxemulator@10 151 EOT
slaxemulator@10 152 while read cfg kbd loc ; do
slaxemulator@10 153 if [ ! -f 1.0/$cfg.kbd ]; then
slaxemulator@10 154 echo ""
slaxemulator@10 155 echo "Not found: 1.0/$cfg.kbd"
slaxemulator@10 156 fi
slaxemulator@10 157 sed -e "s/^display/KBDMAP 1.0\/$cfg.kbd\ndisplay/" \
slaxemulator@10 158 -e "s/gz/gz lang=$loc kmap=$kbd/" \
slaxemulator@10 159 < 1.0/$flavor.cfg > 1.0/$flavor-$cfg.cfg
slaxemulator@10 160 cat >> 1.0/$flavor-common.cfg <<EOT
slaxemulator@10 161 label $cfg
slaxemulator@10 162 config 1.0/$flavor-$cfg.cfg
slaxemulator@10 163 EOT
slaxemulator@10 164 done <<EOT
slaxemulator@10 165 be be fr
slaxemulator@10 166 ca ca fr
slaxemulator@10 167 de_CH fr_CH fr_CH
slaxemulator@10 168 en en en
slaxemulator@10 169 es es en
slaxemulator@10 170 fr fr fr
slaxemulator@10 171 fr_CH fr_CH fr_CH
slaxemulator@10 172 it it en
slaxemulator@10 173 us us en
slaxemulator@10 174 EOT
slaxemulator@10 175 done
slaxemulator@10 176 status