wok-current view syslinux/receipt @ rev 25786
Bump gvfs to fix issue with open files on android device, patch udev to fix mtp issue on pcmanfm
| author | Stanislas Leduc <shann@slitaz.org> |
|---|---|
| date | Tue Jul 29 18:05:13 2025 +0000 (2 months ago) |
| parents | 3ad63c8fc2f9 |
| children |
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="https://www.syslinux.org/"
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 HOST_ARCH="i486 x86_64"
18 BUILD_DEPENDS="wget kbd-base perl nasm dev86 lzma mingw32-gcc upx posixovl \
19 util-linux-uuid-dev advancecomp libidn linld e2fsprogs gcc49"
21 current_version()
22 {
23 wget -O - $(dirname $WGET_URL) 2>/dev/null | \
24 sed "/$PACKAGE-[0-9]/!d;/tar/!d;s|.*$PACKAGE-\\(.*\\).tar.*\".*|\\1|" | sort -Vr | sed q
25 }
27 # Rules to gen a SliTaz package suitable for Tazpkg.
28 compile_rules()
29 {
30 # Patch to be build with glibc 2.28
31 # see https://github.com/buildroot/buildroot/commit/c91e7da5cf6ecf4690148751f72a4185da6243a0
32 patch -p1 < $stuff/build_with_glibc-2.28.patch
34 # don't like -fPIC for asm
35 case $ARCH in
36 x86_64)
37 export CFLAGS="-march=nocona -Os -pipe -fomit-frame-pointer" ;;
38 esac
40 rm -f $src/core/isolinux.bin
41 for i in loadhigh iso9660 readconfig keytab-lilo lzop-1.03-gcc6 fixes-4.07 ; do
42 patch -p 0 < $stuff/extra/$i.u
43 done
44 cp $stuff/tools/isohybrid.sh .
45 cp $stuff/extra/md5sum.c com32/modules
46 grep -q md5sum.c32 com32/modules/Makefile ||
47 sed -i 's/ifcpu64.c32/ifcpu64.c32 md5sum.c32/' com32/modules/Makefile
48 export LDFLAGS=''
49 make clean
50 echo "make all: LDFLAGS=$LDFLAGS"
51 make CC='gcc-49' all 2>&1 | sed 's/NO_WERROR=1/NO_Werror=1/;/syslinux64.exe/d'
52 echo "make core: LDFLAGS=$LDFLAGS"
53 make CC='gcc-49' -C core
54 make CC='gcc-49' -C com32
55 ./isohybrid.sh --build
56 sed -i 's/loadkeys -m/loadkeys -u -m/' utils/keytab-lilo # for ru.kbd
57 mkdir kbd
58 for i in /usr/share/kbd/keymaps/i386/*/*.map.gz; do
59 [ "$(basename $(dirname $i))" = 'include' ] && continue
60 utils/keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz \
61 $i > kbd/$(basename $i .map.gz)
62 done
63 cp -a $stuff/iso2exe .
64 cp $LINLD/*/linld.com iso2exe
65 make CC='gcc-49' -C iso2exe
66 }
68 # Rules to gen a SliTaz package suitable for Tazpkg.
69 genpkg_rules()
70 {
71 mkdir -p $fs/boot/isolinux $install/usr/share/doc
72 cp $stuff/iso2exe/README* $install/usr/share/doc
73 cp $stuff/iso2exe/init.custom $install/usr/share/doc
74 cp $src/doc/*.txt $install/usr/share/doc
75 cp -a $src/man $install/usr/share/
76 cp $LINLD/*/linld.com $fs/boot
77 cp -a $src/core/isolinux.bin $fs/boot/isolinux
78 lzma e $src/com32/modules/md5sum.c32 $fs/boot/isolinux/c32box.c32
79 lzma e $src/com32/menu/vesamenu.c32 $fs/boot/isolinux/vesamenu.c32
80 # $stuff/isolinux.msg is the old way the have a splash image.
81 cp $stuff/*.cfg $stuff/*.txt $stuff/help.* $stuff/opts.* $fs/boot/isolinux
82 rm -f $fs/boot/isolinux/common.cfg $fs/boot/isolinux/default.cfg
83 rm -f $fs/boot/isolinux/display.txt
84 while read label kbd loc tz menu; do
85 for i in ${kbd/,/ }; do
86 [ -e $src/kbd/$i ] || continue
87 map=" $i"
88 [ ${kbd#*,} = $i ] && map=
89 cat >> $fs/boot/isolinux/i18n.cfg <<EOT
90 LABEL $label
91 MENU LABEL $menu
92 com32 c32box.c32
93 append kbd$map lang=$loc kmap=${kbd#*,} tz=$tz
95 EOT
96 break
97 done
98 done <<EOT
99 br br-abnt2 pt_BR America/Sao_Paulo Brasil (abnt2)
100 br_ac\ brac us-acentos pt_BR America/Sao_Paulo Brasil (us-acentos)
101 cz cz-lat2 cs_CZ Europe/Prague Cesky
102 dk dk-latin1 da_DK Europe/Copenhagen Dansk
103 de de-latin1 de_DE Europe/Berlin Deutsch
104 de_CH\ deCH de_CH-latin1 de_CH Europe/Zurich Deutsch Schweiz
105 gr gr el_GR Europe/Helsinki Ellinika
106 en uk en_GB Europe/London English UK
107 us us en_US America/New_York English US
108 us_ac\ usac us-acentos en_US America/New_York English US (acentos)
109 us_dv\ usdv dvorak en_US America/New_York English US (dvorak)
110 us_dl\ usdl dvorak-l en_US America/New_York English US (dvorak-l)
111 us_dr\ usdr dvorak-r en_US America/New_York English US (dvorak-r)
112 es es es_ES Europe/Madrid Espanol
113 fr fr-latin1 fr_FR Europe/Paris Francais
114 be be-latin1 fr_BE Europe/Brussels Francais Belgique
115 ca cf fr_CA America/Montreal Francais Canada
116 fr_CH\ frCH fr_CH-latin1 fr_CH Europe/Zurich Francais Suisse
117 cr hr,croat hr_HR Europe/Zagreb Hrvatski
118 is is-latin1 is_IS Atlantic/Reykjavik Islenska
119 it it it_IT Europe/Rome Italiano
120 hu hu hu_HU Europe/Budapest Magyar
121 nl nl2 nl_NL Europe/Amsterdam Nederlands
122 no\ nb no-latin1 nb_NO Europe/Oslo Norsk (Bokmal)
123 nn no-latin1 nn_NO Europe/Oslo Norsk (Nynorsk)
124 po pl2 pl_PL Europe/Warsaw Polski
125 pt pt-latin1 pt_PT Europe/Lisbon Portugues
126 ru ru ru_RU Europe/Moscow Russian
127 ru_uk\ uk ru ru_UA Europe/Kiev Russian Ukraine
128 sl slovene sl_SI Europe/Ljubljana Slovenski
129 fi fi fi_FI Europe/Helsinki Suomi
130 se se-lat6 sv_SE Europe/Stockholm Svenska
131 tr trq tr_TR Asia/Istanbul Turkce
132 EOT
133 #grpc gr-pc el_GR Europe/Helsinki Ellinika
134 #jp jp106 ja_JP Asia/Tokyo Japanese
135 #sg sg-latin1 de_CH Europe/Zurich Deutsch Schweiz (sg)
136 #tr5 tr_q-latin5 tr_TR Asia/Istanbul Turkce (latin5)
138 cat >> $fs/boot/isolinux/i18n.cfg <<EOT
139 LABEL exit
140 MENU LABEL Back to main menu
142 MENU EXIT
143 MENU END
144 EOT
145 sed -i 's/^LABEL us$/&\n MENU DEFAULT/' $fs/boot/isolinux/i18n.cfg
146 chown root.root $src/kbd/*
147 touch -t 197001010100.00 $src/kbd/*
148 for kbd in $(cd $src/kbd; ls | tee ../kbd.l); do
149 msg="Invalid file kbd/$kbd"
150 [ -s $src/kbd/$kbd ] && msg="Unused: file kbd/$kbd" &&
151 grep -q "[= ]$kbd " $fs/boot/isolinux/i18n.cfg && continue
152 sed -i "/^$kbd\$/d" $src/kbd.l
153 echo "$msg"
154 done
155 ( cd $src/kbd; cpio -o -H newc < ../kbd.l ) > $fs/boot/isolinux/kbd
156 lzma e $fs/boot/isolinux/kbd $fs/boot/isolinux/kbd.lzma # Add size field
157 mv -f $fs/boot/isolinux/kbd.lzma $fs/boot/isolinux/kbd
158 chown root.root $fs/boot/isolinux/*
159 }
161 # Pre and post install commands for Tazpkg.
162 post_install()
163 {
164 sed -i "/MENU TITLE SliTaz GNU\/Linux/ s| [0-9X]*$| $(date +%Y%m%d)|" \
165 "$1/boot/isolinux/isolinux.cfg"
166 sed '/MENU TITLE/!d;s/MENU TITLE //' > $1/etc/slitaz-version \
167 < "$1/boot/isolinux/isolinux.cfg"
168 for i in $(grep -ls boot/isolinux/isolinux.cfg \
169 $1/var/lib/tazpkg/installed/*/receipt); do
170 pkg=$(basename ${i%/*})
171 [ "$pkg" != "$PACKAGE" ] &&
172 echo "Reconfigue $pkg ..." &&
173 root=/ chroot "$1/" tazpkg reconfigure $pkg
174 done
175 }