wok-current view busybox/receipt @ rev 19789
busybox: typo
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Feb 22 17:47:00 2017 +0100 (2017-02-22) |
parents | 864a180f69c3 |
children | e5b03a2e8b00 |
line source
1 # SliTaz package receipt.
3 PACKAGE="busybox"
4 VERSION="1.26.2"
5 CATEGORY="base-system"
6 SHORT_DESC="Busybox combines tiny versions of many common UNIX utilities."
7 MAINTAINER="pascal.bellard@slitaz.org"
8 LICENSE="GPL2"
9 TARBALL="$PACKAGE-$VERSION.tar.bz2"
10 WEB_SITE="http://www.busybox.net/"
11 WGET_URL="http://www.busybox.net/downloads/$TARBALL"
12 HOST_ARCH="i486 arm"
14 DEPENDS="slitaz-base-files glibc-base ncurses-common"
15 BUILD_DEPENDS="bzip2 pam pam-dev uclibc-cross-compiler-i486 \
16 musl-libc-dev dietlibc gettext-tools"
18 CONFIG_FILES="/etc/dnsd.conf /etc/inetd.conf /etc/udhcpd.conf \
19 /etc/resolv.conf /etc/httpd.conf"
20 AUFS_NOT_RAMFS="uclibc-cross-compiler-i486 is not compatible with aufs+tmpfs 8("
22 # Handle cross compilation
23 case "$ARCH" in
24 arm*) BUILD_DEPENDS="bzip2" ;;
25 esac
27 # Busybox patches
28 apply_bb_patchs()
29 {
30 while read file; do
31 [ -f done.$file ] && continue
32 echo "Apply $file..."
33 patch -p1 < $stuff/$PACKAGE-${VERSION%.*}-$file || return 1
34 touch done.$file
35 done <<EOT
36 tar.u
37 stat.u
38 ris.u
39 zmodules.u
40 cmdline.u
41 diff.u
42 diet.u
43 losetup.u
44 fbvnc.u
45 cpio.u
46 ftpd.u
47 shutdown.u
48 scriptreplay.u
49 bug9471.u
50 EOT
51 cp $stuff/$PACKAGE-${VERSION%.*}.config .config
52 }
54 # Rules to configure and make the package.
55 compile_rules()
56 {
57 case "$ARCH" in
58 arm*)
59 echo "cook: CROSS_COMPILE=$CROSS_COMPILE"
60 apply_bb_patchs &&
61 cp $stuff/arm/$PACKAGE.config .config
62 make oldconfig &&
63 make && make install || return 1
64 chmod 4755 $src/_install/bin/busybox ;;
65 x86_64) echo "TODO" ;;
66 i?86)
67 echo "=== Build busybox ==="
68 apply_bb_patchs &&
69 make oldconfig &&
70 make && make install || return 1
71 strip --strip-unneeded -R .eh_frame -R .eh_frame_hdr \
72 $src/_install/bin/busybox
73 mv docs/busybox.1 docs/busybox.base.1
75 # prepare busybox-pam package
76 echo "=== Build busybox-pam ==="
77 sed -i 's/# CONFIG_PAM is not set/CONFIG_PAM=y/' .config
78 make oldconfig && make || return 1
79 strip --strip-unneeded -R .eh_frame -R .eh_frame_hdr busybox
80 mv busybox busybox-pam
81 mv docs/busybox.1 docs/busybox.pam.1
83 # prepare busybox-static package
84 if [ -x /usr/bin/uclibc-i486-gcc ]; then
85 echo "=== Build busybox-uclibc ==="
86 cp $stuff/$PACKAGE-${VERSION%.*}.config-static .config
87 sed -i 's/# CONFIG_ASH_INTERNAL_GLOB is not set/CONFIG_ASH_INTERNAL_GLOB=y/' .config
88 make oldconfig && make || return 1
89 cp busybox busybox-static
90 mv busybox busybox-uclibc
91 mv -f docs/busybox.1 docs/busybox.static.1
92 fi
94 if [ -x /usr/bin/musl-gcc ]; then
95 echo "=== Build busybox-musl ==="
96 # prepare busybox-musl package
97 cp $stuff/$PACKAGE-${VERSION%.*}.config-static .config
98 sed -i 's|uclibc-i486-||' .config
99 make oldconfig && make CC=musl-gcc || return 1
100 mv busybox busybox-musl
101 mv -f docs/busybox.1 docs/busybox.static.1
102 fi
104 if [ -x /usr/lib/diet/bin/diet ]; then
105 echo "=== Build busybox-diet ==="
106 # prepare busybox-diet package
107 cp $stuff/$PACKAGE-${VERSION%.*}.config-static .config
108 sed -i 's|uclibc-i486-||;s|CFLAGS="|&-D_BSD_SOURCE |;s|LDFLAGS="|&-Wl,--allow-multiple-definition |;s|LDLIBS="|&compat rpc |' .config
109 make oldconfig && make CC="/usr/lib/diet/bin/diet gcc" || return 1
110 mv busybox busybox-diet
111 mv -f docs/busybox.1 docs/busybox.static.1
112 fi
114 # prepare ssfs-busybox package
115 echo "=== Build busybox-ssfs ==="
116 rootfs=$src/ssfs-busybox/usr/share/ssfs/rootfs
117 mkdir -p $rootfs/etc
118 cp $stuff/$PACKAGE-${VERSION%.*}.config-ssfs .config
119 make oldconfig && make busybox &&
120 make CONFIG_PREFIX=$rootfs install || return 1
121 cp $stuff/busybox.conf-ssfs $rootfs/etc/busybox.conf
122 chown -R 0.0 $rootfs/etc
123 chmod 0600 $rootfs/etc/busybox.conf
124 chmod 4755 $rootfs/bin/busybox
126 # Compile translations
127 echo "=== Build translations ==="
128 make -C $stuff/po install
129 cp docs/busybox.base.1 docs/busybox.1
131 ;;
133 esac
134 }
136 # Cross compilation check.
137 testsuite()
138 {
139 readelf -h $src/_install/bin/busybox
140 }
142 # Keep kmod & util-linux-mount files
143 REMOVED_SYMLINKS="/bin/mount /bin/mountpoint /bin/umount /sbin/depmod \
144 /sbin/insmod /sbin/modinfo /sbin/modprobe /sbin/rmmod"
146 # Rules to gen a SliTaz package suitable for Tazpkg.
147 genpkg_rules()
148 {
149 mkdir -p $install/usr/share/man/man1 $install/usr/share/doc/busybox
150 cp -a $src/_install/* $fs
151 cp -a $src/docs/busybox.base.1 $install/usr/share/man/man1/busybox.1
152 cp -a $src/docs/*.txt $install/usr/share/doc/busybox
153 cp -a $src/docs/*.htm* $install/usr/share/doc/busybox
154 cp -a $src/docs/cgi $install/usr/share/doc/busybox
155 [ -e $fs/sbin/ip ] && ln -s busybox $fs/bin/ip
156 rm -f $fs/bin/bbconfig $fs/usr/bin/ar
157 mkdir -p $fs/etc/init.d $fs/var/spool/cron/crontabs $fs/var/spool/lpd \
158 $fs/var/lib/misc
160 # Busybox config files.
161 for f in busybox.conf dnsd.conf udhcpd.conf inetd.conf httpd.conf \
162 syslog.conf zcip.script
163 do
164 cp $stuff/$f $fs/etc
165 done
166 chown -R 0.0 $fs/etc
167 chmod 600 $fs/etc/busybox.conf
168 touch $fs/etc/resolv.conf
170 # Daemon scripts.
171 cp $stuff/daemon $fs/etc/init.d
172 DAEMON="crond dnsd ftpd httpd inetd lpd klogd ntpd syslogd telnetd tftpd udhcpd zcip"
173 for i in $DAEMON; do
174 grep -qi config_$i=y $stuff/$PACKAGE-${VERSION%.*}.config &&
175 ln -s daemon $fs/etc/init.d/$i
176 done
177 mkdir -p $fs/etc/modprobe.d
179 # Udhcpc stuff.
180 mkdir -p $fs/usr/share/udhcpc
181 cp $stuff/udhcp.script $fs/usr/share/udhcpc/default.script
182 chmod +x $fs/usr/share/udhcpc/default.script
184 # Httpd stuff.
185 ln -s /usr/lib/slitaz/httphelper.sh $fs/usr/bin/httpd_helper.sh
186 cp -a $stuff/www $fs/var
188 # Update copyright year
189 grep -rl 'copy; 2' $fs/var/www | xargs \
190 sed -i "s/copy; [0-9]*/copy; $(date +%Y)/"
192 # Remove kmod & util-linux-mount links
193 for link in $REMOVED_SYMLINKS; do
194 rm -f $fs$link
195 done
196 }
198 # GNU utils stuff.
199 pre_install()
200 {
201 local i
202 [ -s $1/etc/resolv.conf ] &&
203 cp -a $1/etc/resolv.conf $1/etc/resolv.conf-busybox-install
204 answer=""
205 for i in $(cat "$1$INSTALLED/$PACKAGE/files.list"); do
206 [ -f "$1$i" ] || continue
207 case "$i" in
208 /bin/busybox) continue ;;
209 *bin/*) ;;
210 *) continue ;;
211 esac
212 if [ -z "$answer" ]; then
213 echo -n "Keep installed GNU utilities ? "
214 read -t 30 answer # by default: keep
215 case "$answer" in
216 n*|N*) break;;
217 *) answer="Y";;
218 esac
219 fi
220 cp -a "$1$i" "$1$i-busybox-install"
221 done
222 }
224 post_install()
225 {
226 local i
227 [ -f $1/etc/resolv.conf-busybox-install ] &&
228 mv -f $1/etc/resolv.conf-busybox-install $1/etc/resolv.conf
229 while read i ; do
230 [ -f "$1$i-busybox-install" ] || continue
231 mv "$1$i-busybox-install" "$1$i"
232 done < "$1$INSTALLED/$PACKAGE/files.list"
233 chmod 4755 "$1/bin/busybox"
235 touch $1/etc/daemons.conf
236 # /etc/daemons.conf (tftp + dnsd + httpd may not be present)
237 if ! grep -q ^DNSD_OPTIONS $1/etc/daemons.conf; then
238 echo '# Domain name server options.' >> $1/etc/daemons.conf
239 echo 'DNSD_OPTIONS="-d"' >> $1/etc/daemons.conf
240 echo '' >> $1/etc/daemons.conf
241 fi
242 if ! grep -q ^TFTPD_OPTIONS $1/etc/daemons.conf; then
243 echo '# Tftp daemon options.' >> $1/etc/daemons.conf
244 echo 'TFTPD_OPTIONS="-r /boot"' >> $1/etc/daemons.conf
245 echo '' >> $1/etc/daemons.conf
246 fi
247 sed -i "s/copy; 20../copy; $(date +%Y)/" $1/var/www/httpd/404.html
248 for link in $REMOVED_SYMLINKS; do
249 [ -e $1$link ] || ln -s /bin/busybox $1$link
250 done
251 }
253 pre_remove()
254 {
255 # We can not remove this package !
256 exit 1
257 }