wok-next view linux-dev/receipt @ rev 20424

linux-dev: move creation to compile_rules(), keep genpkg_rules() for copying/splitting only
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Jan 12 17:02:57 2018 +0200 (2018-01-12)
parents 21332cc6d8a2
children 90a5eb560fd6
line source
1 # SliTaz package receipt v2.
3 PACKAGE="linux-dev"
4 VERSION="4.9.76"
5 KBASEVER="4.9"
6 CATEGORY="development"
7 SHORT_DESC="The Linux Kernel"
8 MAINTAINER="devel@slitaz.org"
9 LICENSE="GPL2"
10 WEB_SITE="https://www.kernel.org/"
12 TARBALL="linux-$KBASEVER.tar.xz"
13 WGET_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$TARBALL"
15 DEPENDS="ncurses"
16 BUILD_DEPENDS="python-sphinx perl xmlto util-linux-getopt docbook-xsl \
17 coreutils-operations findutils ncurses-dev patch bash bc"
18 SPLIT="linux-dev linux-man linux-api-headers linux-uml"
19 SIBLINGS="linux"
20 COOKOPTS="!pngz !svgz !uiz"
22 if [ "$KBASEVER" != "${VERSION%.0}" ]; then
23 PATCH="$(dirname $WGET_URL)/patch-$VERSION.xz"
24 EXTRA_SOURCE_FILES="$(basename $PATCH)"
25 fi
27 # Rules to configure and make the package.
28 compile_rules()
29 {
30 # Update sources to the $VERSION using base sources ($KBASEVER) and patch
31 if [ "$KBASEVER" != "${VERSION%.0}" ]; then
32 [ -s $SRC/$(basename $PATCH) ] || wget $PATCH -O $SRC/$(basename $PATCH)
33 # don't patch twice for `cook $PACKAGE --continue`
34 if [ ! -f "done.patch-$VERSION" ]; then
35 xzcat $SRC/$(basename $PATCH) | patch -Np1
36 touch done.patch-$VERSION
37 fi
38 fi
40 make mrproper &&
41 make headers_check &&
42 make INSTALL_HDR_PATH=$DESTDIR/usr headers_install
44 find $install \( -name .install -o -name ..install.cmd \) -delete
46 # Get and apply Aufs patches
47 . $WOK/linux/stuff/tools/aufs-patches
49 make defconfig
50 sed -i 's/^menuconfig:.*/z&\n\techo menuconfig is ready\n\n&/' \
51 scripts/kconfig/Makefile
52 make zmenuconfig
54 p="$install/usr/src/linux-$VERSION-slitaz"
55 mkdir -p $p
56 cp -a $src/* $src/.config $p
58 mkdir -p $install/usr/bin
59 mv $p/scripts/kconfig/mconf $install/usr/bin
60 cat > $install/usr/bin/menuconfig <<EOT
61 #!/bin/sh
62 p=\$PWD
63 cd ../src/linux-$VERSION-slitaz
64 SRCARCH=x86 ARCH=i386 KERNELVERSION=$VERSION \$p/mconf Kconfig
65 EOT
66 chmod a+x $install/usr/bin/menuconfig
68 patch -p1 -i $stuff/installmandocs.patch
70 make mandocs && make installmandocs
72 sed -i 's/uname -m/echo i386/;s|/bin/bash|/bin/ash|g' Makefile
73 make ARCH=um mrproper
74 cat > mini.config << EOF &&
75 CONFIG_BINFMT_ELF=y
76 CONFIG_LBD=y
77 CONFIG_BLK_DEV=y
78 CONFIG_BLK_DEV_LOOP=y
79 CONFIG_STDERR_CONSOLE=y
80 CONFIG_SSL=y
81 CONFIG_UNIX98_PTYS=y
82 CONFIG_PROC_FS=y
83 CONFIG_SYSFS_FS=y
84 CONFIG_IKCONFIG=y
85 CONFIG_IKCONFIG_PROC=y
86 CONFIG_UML_NET=y
87 CONFIG_UML_NET_TUNTAP=y
88 CONFIG_BLK_DEV_INITRD=y
89 CONFIG_PTY_CHAN=y
90 CONFIG_TTY_CHAN=y
91 CONFIG_NET=y
92 CONFIG_INET=y
93 CONFIG_UML_NET=y
94 CONFIG_UML_NET_TUNTAP=y
95 CONFIG_BLK_DEV_UBD=y
96 CONFIG_EXT4_FS=y
97 CONFIG_EXT4_USE_FOR_EXT23=y
98 CONFIG_EXT4_FS_XATTR=y
99 CONFIG_EXT4_FS_POSIX_ACL=y
100 CONFIG_FUSE_FS=y
101 CONFIG_ISO9660_FS=y
102 CONFIG_VFAT_FS=y
103 CONFIG_TMPFS=y
104 CONFIG_SWAP=y
105 CONFIG_SYSVIPC=y
106 CONFIG_SYSVIPC_SYSCTL=y
107 CONFIG_SYSVIPC_COMPAT=y
108 CONFIG_PACKET=y
109 CONFIG_UNIX=y
110 CONFIG_NETFILTER=y
111 CONFIG_NETFILTER_ADVANCED=y
112 CONFIG_NF_CONNTRACK=y
113 CONFIG_NETFILTER_XTABLES=y
114 CONFIG_NF_DEFRAG_IPV4=y
115 CONFIG_NF_CONNTRACK_IPV4=y
116 CONFIG_NF_CONNTRACK_PROC_COMPAT=y
117 CONFIG_IP_NF_IPTABLES=y
118 CONFIG_IP_NF_FILTER=y
119 CONFIG_IP_NF_TARGET_REJECT=y
120 CONFIG_NF_NAT=y
121 CONFIG_NF_NAT_NEEDED=y
122 CONFIG_IP_NF_TARGET_MASQUERADE=y
123 CONFIG_IP_NF_TARGET_REDIRECT=y
124 CONFIG_NETDEVICES=y
125 CONFIG_TUN=y
126 EOF
127 make ARCH=um allnoconfig KCONFIG_ALLCONFIG=mini.config &&
128 make ARCH=um || return 1
130 mkdir -p $install/boot
131 cp $src/linux $install/boot/linux-uml-$VERSION
132 cat > $install/boot/vm-uml <<EOT
133 #!/bin/sh
135 # /etc/inittab: "tty21::respawn:/bin/su -c '/boot/vm-uml 1 /boot/guests/slitaz.img 2 512m' nobody"
136 n=\${1:-0}
137 tap=tap\$n
138 args="rw root=/dev/null"
139 dev="initrd=\$(ls -r /boot/rootfs*.gz | sed q)"
140 if [ -n "\$2" ]; then
141 args="ro root=620\${3:-1} screen=text sound=noconf"
142 dev="ubd0=\$2"
143 fi
145 cd \$(dirname \$0)
146 ifconfig \$tap 192.168.\$n.1
147 ./linux-uml-$VERSION \$dev mem=\${4:-512m} fakehd fake_ide ubd=3 con0=fd:0,fd:1 \\
148 con=pts ssl=pts eth0=tuntap,\$tap,fe:f0:00:00:00:0\$n,192.168.\$n.1 \\
149 \$args cpuinfo=\$(sed '/model name/!d;s/.*: //;s/ /_/g;q' /proc/cpuinfo)
150 EOT
151 chmod 755 $install/boot/vm-uml
152 }
155 # Rules to gen a SliTaz package suitable for Tazpkg.
156 genpkg_rules()
157 {
158 case $PACKAGE in
159 linux-dev)
160 copy Kconfig* mconf menuconfig .config
161 CAT="development|menu based configuration tool"
162 ;;
163 linux-man)
164 copy /usr/share/man/
165 CAT="doc|manual pages"
166 ;;
167 linux-api-headers)
168 copy @dev
169 CAT="development|headers sanitized for use in userspace"
170 PROVIDE="linux-headers linux64-api-headers linux64-headers"
171 ;;
172 linux-uml)
173 copy boot/
174 ;;
175 esac
176 }