wok view syslinux/receipt @ rev 19516

syslinux/iso2exe: vm86 support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Nov 22 22:17:33 2016 +0100 (2016-11-22)
parents 3f33b4b50b30
children cd2fc3c3b59b
line source
1 # SliTaz package receipt.
3 PACKAGE="syslinux"
4 VERSION="4.06"
5 CATEGORY="base-system"
6 SHORT_DESC="LiveCD ISO bootloader (isolinux)"
7 MAINTAINER="pankso@slitaz.org"
8 LICENSE="GPL2"
9 TARBALL="$PACKAGE-$VERSION.tar.xz"
10 WEB_SITE="http://syslinux.zytor.com/"
11 WGET_URL="https://www.kernel.org/pub/linux/utils/boot/syslinux/$TARBALL"
12 LINLD="$WOK/linld/source"
13 CONFIG_FILES="/boot/isolinux/*.cfg /boot/isolinux/kbd"
14 TAGS="boot"
16 DEPENDS="ipxe memtest"
17 BUILD_DEPENDS="wget kbd-base perl nasm dev86 lzma mingw32-gcc upx posixovl \
18 util-linux-uuid-dev advancecomp libidn linld"
20 # Rules to gen a SliTaz package suitable for Tazpkg.
21 compile_rules()
22 {
23 rm -f $src/core/isolinux.bin
24 patch -p 0 < $stuff/extra/loadhigh.u
25 patch -p 0 < $stuff/extra/iso9660.u
26 patch -p 0 < $stuff/extra/readconfig.u
27 #patch -p 0 < $stuff/extra/fs.u
28 cp $stuff/tools/isohybrid.sh .
29 cp $stuff/extra/md5sum.c com32/modules
30 grep -q md5sum.c32 com32/modules/Makefile ||
31 sed -i 's/ifcpu64.c32/ifcpu64.c32 md5sum.c32/' com32/modules/Makefile
32 export LDFLAGS=''
33 make clean
34 echo "make all: LDFLAGS=$LDFLAGS"
35 make all 2>&1 | sed 's/NO_WERROR=1/NO_Werror=1/;/syslinux64.exe/d'
36 echo "make core: LDFLAGS=$LDFLAGS"
37 make -C core
38 make -C com32
39 ./isohybrid.sh --build
40 sed -i 's/loadkeys -m/loadkeys -u -m/' utils/keytab-lilo # for ru.kbd
41 mkdir kbd
42 for i in /usr/share/kbd/keymaps/i386/*/*.map.gz; do
43 [ "$(basename $(dirname $i))" == 'include' ] && continue
44 utils/keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz \
45 $i > kbd/$(basename $i .map.gz)
46 done
47 cp -a $stuff/iso2exe .
48 cp $LINLD/*/tazboot.com iso2exe/boot.com
49 make -C iso2exe
50 }
52 # Rules to gen a SliTaz package suitable for Tazpkg.
53 genpkg_rules()
54 {
55 mkdir -p $fs/boot/isolinux
56 cp $LINLD/*/linld.com $fs/boot
57 cp -a $src/core/isolinux.bin $fs/boot/isolinux
58 lzma e $src/com32/modules/md5sum.c32 $fs/boot/isolinux/c32box.c32
59 lzma e $src/com32/menu/vesamenu.c32 $fs/boot/isolinux/vesamenu.c32
60 # $stuff/isolinux.msg is the old way the have a splash image.
61 cp $stuff/*.cfg $stuff/*.txt $stuff/help.* $stuff/opts.* $fs/boot/isolinux
62 rm -f $fs/boot/isolinux/common.cfg $fs/boot/isolinux/default.cfg
63 rm -f $fs/boot/isolinux/display.txt
64 while read label kbd loc tz menu; do
65 for i in ${kbd/,/ }; do
66 [ -e $src/kbd/$i ] || continue
67 cat >> $fs/boot/isolinux/i18n.cfg <<EOT
68 LABEL $label
69 MENU LABEL $menu
70 com32 c32box.c32
71 append kbdmap kbd $i lang=$loc kmap=${kbd#*,} tz=$tz
73 EOT
74 break
75 done
76 done <<EOT
77 br br-abnt2 pt_BR America/Sao_Paulo Brasil (abnt2)
78 br_ac\ brac us-acentos pt_BR America/Sao_Paulo Brasil (us-acentos)
79 cz cz-lat2 cs_CZ Europe/Prague Cesky
80 dk dk-latin1 da_DK Europe/Copenhagen Dansk
81 de de-latin1 de_DE Europe/Berlin Deutsch
82 de_CH\ deCH de_CH-latin1 de_CH Europe/Zurich Deutsch Schweiz
83 gr gr el_GR Europe/Helsinki Ellinika
84 en uk en_GB Europe/London English UK
85 us us en_US America/New_York English US
86 us_ac\ usac us-acentos en_US America/New_York English US (acentos)
87 us_dv\ usdv dvorak en_US America/New_York English US (dvorak)
88 us_dl\ usdl dvorak-l en_US America/New_York English US (dvorak-l)
89 us_dr\ usdr dvorak-r en_US America/New_York English US (dvorak-r)
90 es es es_ES Europe/Madrid Espanol
91 fr fr-latin1 fr_FR Europe/Paris Francais
92 be be-latin1 fr_BE Europe/Brussels Francais Belgique
93 ca cf fr_CA America/Montreal Francais Canada
94 fr_CH\ frCH fr_CH-latin1 fr_CH Europe/Zurich Francais Suisse
95 cr hr,croat hr_HR Europe/Zagreb Hrvatski
96 is is-latin1 is_IS Atlantic/Reykjavik Islenska
97 it it it_IT Europe/Rome Italiano
98 hu hu hu_HU Europe/Budapest Magyar
99 nl nl2 nl_NL Europe/Amsterdam Nederlands
100 no\ nb no-latin1 nb_NO Europe/Oslo Norsk (Bokmal)
101 nn no-latin1 nn_NO Europe/Oslo Norsk (Nynorsk)
102 po pl2 pl_PL Europe/Warsaw Polski
103 pt pt-latin1 pt_PT Europe/Lisbon Portugues
104 ru ru ru_RU Europe/Moscow Russian
105 sl slovene sl_SI Europe/Ljubljana Slovenski
106 fi fi fi_FI Europe/Helsinki Suomi
107 se se-lat6 sv_SE Europe/Stockholm Svenska
108 tr trq tr_TR Asia/Istanbul Turkce
109 EOT
110 #hr croat hr_HR Europe/Zagreb Hrvatski
111 #grpc gr-pc el_GR Europe/Helsinki Ellinika
112 #jp jp106 ja_JP Asia/Tokyo Japanese
113 #sg sg-latin1 de_CH Europe/Zurich Deutsch Schweiz (sg)
114 #tr5 tr_q-latin5 tr_TR Asia/Istanbul Turkce (latin5)
116 cat >> $fs/boot/isolinux/i18n.cfg <<EOT
117 LABEL exit
118 MENU LABEL Back to main menu
120 MENU EXIT
121 MENU END
122 EOT
123 sed -i 's/^LABEL us$/&\n MENU DEFAULT/' $fs/boot/isolinux/i18n.cfg
124 chown root.root $src/kbd/*
125 touch -r $src $src/kbd/*
126 for kbd in $(cd $src/kbd; ls | tee ../kbd.l); do
127 msg="Invalid file kbd/$kbd"
128 [ -s $src/kbd/$kbd ] && msg="Unused: file kbd/$kbd" &&
129 grep -q " $kbd " $fs/boot/isolinux/i18n.cfg && continue
130 sed -i "/^$kbd\$/d" $src/kbd.l
131 echo "$msg"
132 done
133 ( cd $src/kbd; cat ../kbd.l | cpio -o -H newc ) >$fs/boot/isolinux/kbd
134 lzma e $fs/boot/isolinux/kbd $fs/boot/isolinux/kbd.lzma
135 mv -f $fs/boot/isolinux/kbd.lzma $fs/boot/isolinux/kbd
136 chown root.root $fs/boot/isolinux/*
137 }
139 # Pre and post install commands for Tazpkg.
140 post_install()
141 {
142 sed -i "/MENU TITLE SliTaz GNU\/Linux/ s| [0-9X]*$| $(date +%Y%m%d)|" \
143 "$1/boot/isolinux/isolinux.cfg"
144 sed '/MENU TITLE/!d;s/MENU TITLE //' > $1/etc/slitaz-version \
145 < "$1/boot/isolinux/isolinux.cfg"
146 }