wok-tiny annotate linux/receipt @ rev 173

Fix ctorrent-dnh & tfttest
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 14 09:04:04 2021 +0000 (2021-07-14)
parents c1bce725480a
children 2c80994c5e30
rev   line source
pascal@94 1 # SliTaz package receipt.
pascal@94 2
pascal@94 3 PACKAGE="linux"
pascal@94 4 VERSION="2.6.14"
pascal@94 5 CATEGORY="base-system"
pascal@94 6 SHORT_DESC="The Linux kernel."
pascal@94 7 TARGET="i486"
pascal@94 8 MAINTAINER="devel@slitaz.org"
pascal@94 9 LICENSE="GPL2"
pascal@94 10 TARBALL="$PACKAGE-$VERSION.tar.bz2"
pascal@94 11 WEB_SITE="http://www.kernel.org/"
pascal@94 12 WGET_URL="https://www.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL"
pascal@94 13 WEB_SITE2="http://elinux.org/Linux_Tiny"
pascal@94 14 PATCH="https://www.selenic.com/tiny/2.6.14-tiny1.patch.bz2"
pascal@94 15 AUTO_SELECTION="always"
pascal@94 16
pascal@107 17 DEPENDS=""
pascal@167 18 BUILD_DEPENDS="slitaz-toolchain perl git lzma wget gcc2 upx advancecomp"
pascal@143 19 INSTALL_DEPENDS="lz4 grep"
pascal@94 20
pascal@107 21 case "$TARGET" in
pascal@153 22 i486) SUGGESTED="memtest ipxe plop";; # bundle may install a boot menu
pascal@107 23 esac
pascal@107 24
pascal@139 25 S2bin()
pascal@139 26 {
pascal@141 27 [ -s $stuff/$1.S ] &&
pascal@141 28 cc -o $1.o -Wa,-algms=$1.lst -c $stuff/$1.S &&
pascal@139 29 objcopy -O binary $1.o $1.bin
pascal@139 30 }
pascal@139 31
pascal@173 32 rootfs()
pascal@173 33 {
pascal@173 34 [ -s $stuff/root.cpio ] && cp $stuff/root.cpio . &&
pascal@173 35 sed -i 's|CONFIG_INITRAMFS_SOURCE="|&root.cpio|' .config
pascal@173 36 }
pascal@173 37
pascal@94 38 # Rules to configure and make the package.
pascal@94 39 compile_rules()
pascal@94 40 {
pascal@173 41 export CFLAGS="-march=i386 -Os -pipe -fomit-frame-pointer"
pascal@94 42 [ -s $SRC/$(basename $PATCH) ] ||
pascal@94 43 wget --no-check-certificate -O $SRC/$(basename $PATCH) $PATCH
pascal@173 44 bzcat $SRC/$(basename $PATCH) | patch -p1 &&
pascal@173 45 sed '/DEBUG/,/* kstrdup/d' < mm/slab.c > mm/kstrdup.c &&
pascal@173 46 echo 'obj-y += kstrdup.o' >> mm/Makefile
pascal@110 47 patch -p0 < $stuff/linux-2.6.14-unpack.u
pascal@119 48 patch -p0 < $stuff/jsclipboard.u
pascal@164 49 sed -i 's|\([>\.]\)val|\1u.val|;s|\([>\.]\)next|\1u.next|;s|\t};|\t} u;|' \
pascal@141 50 lib/inflate.c
pascal@94 51 sed -i 's|3.1024|11*256|' arch/i386/boot/compressed/misc.c
pascal@116 52 sed -i 's/O_CREAT/&|O_TRUNC/' init/initramfs.c
pascal@173 53 sed -i 's|hostname|echo slitaz|' scripts/mkcompile_h
pascal@166 54 which advdef 2> /dev/null && ! which upx 2> /dev/null &&
pascal@141 55 sed -i 's|gzip)|&\n advdef -z4 $@|' \
pascal@141 56 usr/Makefile arch/i386/boot/compressed/Makefile
pascal@94 57
pascal@94 58 mkdir $src/slitaz
pascal@94 59 cp $stuff/list_modules.sh $src/slitaz
pascal@139 60 S2bin bootloader
pascal@141 61 S2bin helper
pascal@139 62 S2bin unpacklz4
pascal@141 63 cp $stuff/pack .
pascal@156 64 sh ./pack --build
pascal@94 65
pascal@110 66 sed -i '/config %config:/{NNNps/config %config:/%config:/}' Makefile
pascal@110 67 sed -i 's/^config %config:/config:/' Makefile
pascal@157 68
pascal@94 69 cp $stuff/linux-$VERSION-slitaz.config .config
pascal@173 70 rootfs
pascal@94 71 yes '' | make ARCH=i386 HOSTCC=gcc-2 config
pascal@94 72 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 bzImage
pascal@157 73
pascal@94 74 grep -q "CONFIG_MODULES=y" .config &&
pascal@94 75 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 modules &&
pascal@94 76 make ARCH=i386 INSTALL_MOD_PATH=$DESTDIR -j 1 modules_install || true
pascal@139 77 S2bin bundle
pascal@104 78 cp $stuff/bundle .
pascal@156 79 sh ./bundle
pascal@139 80 S2bin cmdline
pascal@173 81 [ $(upx --version 2> /dev/null | sed '/upx/!d;s|upx ||;s|\.||;q')0 -ge 3960 ] &&
pascal@173 82 upx --ultra-brute arch/i386/boot/bzImage
pascal@167 83 cp arch/i386/boot/bzImage arch/i386/boot/bzImage.386
pascal@167 84 cp .config .config.386
pascal@167 85 cp System.map System.map.386
pascal@167 86 cp $stuff/linux-$VERSION-slitaz.config.586 .config
pascal@173 87 rootfs
pascal@167 88 yes '' | make ARCH=i386 HOSTCC=gcc-2 config
pascal@167 89 make ARCH=i386 CC=gcc-2 HOSTCC=gcc-2 -j 4 bzImage
pascal@167 90 which upx 2> /dev/null && upx --ultra-brute arch/i386/boot/bzImage
pascal@94 91 }
pascal@94 92
pascal@94 93 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@94 94 genpkg_rules()
pascal@94 95 {
pascal@94 96 mkdir $fs/boot
pascal@141 97 cp -a $src/pack $fs/boot/
pascal@104 98 cp -a $src/bundle.sh $fs/boot/bundle
pascal@173 99 for i in '' .386 ; do
pascal@173 100 [ -s $src/arch/i386/boot/bzImage$i ] || continue
pascal@173 101 cp -a $src/arch/i386/boot/bzImage$i $fs/boot/
pascal@173 102 dd if=$src/bootloader.bin of=$fs/boot/bzImage$i conv=notrunc
pascal@173 103 dd if=$src/cmdline.bin bs=1 seek=560 of=$fs/boot/bzImage$i conv=notrunc
pascal@173 104 cp -a $src/System.map$i $fs/boot/
pascal@173 105 cp -a $src/.config$i $fs/boot/config$i
pascal@173 106 done
pascal@94 107 }
pascal@94 108
pascal@167 109 config_form()
pascal@167 110 {
pascal@167 111 cat <<EOT
pascal@173 112 <p>
pascal@173 113 Tune the kernel according to the CPU type
pascal@173 114 </p>
pascal@167 115 <table>
pascal@173 116 <tr>
pascal@173 117 <td><input type="radio" name="CPU586" $([ "$CPU586" = "no" ] && echo "checked=checked ")value="no"> for any CPU starting from 386sx</td>
pascal@173 118 <td><input type="radio" name="CPU586" $([ "$CPU586" != "no" ] && echo "checked=checked ")value="yes"> optimized for pentium or newer CPU</td>
pascal@167 119 </tr>
pascal@167 120 </table>
pascal@167 121 EOT
pascal@167 122 }
pascal@167 123
pascal@94 124 # Pre and post install commands for Tazpkg.
pascal@94 125 post_install()
pascal@94 126 {
pascal@167 127 for i in $1/boot/*.386 ; do
pascal@167 128 [ "$CPU586" = "yes" ] && rm -f $i || mv -f $i ${i%.386}
pascal@167 129 done 2> /dev/null
pascal@141 130 [ -s $1/boot/cmdline ] && cat $1/boot/cmdline | sed 's/^ *//' | \
pascal@143 131 dd of=$1/boot/bzImage conv=notrunc bs=1 seek=768 count=3072
pascal@141 132 $1/boot/pack $1/boot/bzImage
pascal@94 133 }