Commit | Line | Data |
---|---|---|
59f0d218 FF |
1 | TERMUX_PKG_HOMEPAGE=http://www.busybox.net/ |
2 | TERMUX_PKG_DESCRIPTION="Tiny versions of many common UNIX utilities into a single small executable" | |
3 | TERMUX_PKG_ESSENTIAL=yes | |
1df4a885 | 4 | TERMUX_PKG_VERSION=1.24.2 |
6b14aeb8 | 5 | TERMUX_PKG_BUILD_REVISION=7 |
59f0d218 FF |
6 | TERMUX_PKG_SRCURL=http://www.busybox.net/downloads/busybox-${TERMUX_PKG_VERSION}.tar.bz2 |
7 | TERMUX_PKG_BUILD_IN_SRC=yes | |
e4ba46a8 | 8 | # We replace env in the old coreutils package: |
324ea7ac | 9 | TERMUX_PKG_CONFLICTS="coreutils (<< 8.25-4)" |
59f0d218 | 10 | |
ed021630 FF |
11 | # NOTE: sed on mac does not work for building busybox, install gnu-sed with |
12 | # homebrew using the --with-default-names option. | |
59f0d218 FF |
13 | |
14 | CFLAGS+=" -llog -DTERMUX_EXPOSE_MEMPCPY=1" # Android system liblog.so for syslog | |
15 | ||
16 | termux_step_configure () { | |
17 | # Bug in gold linker with busybox in android r10e: | |
18 | # https://sourceware.org/ml/binutils/2015-02/msg00386.html | |
19 | CFLAGS+=" -fuse-ld=bfd" | |
20 | LD+=.bfd | |
21 | ||
22 | cp $TERMUX_PKG_BUILDER_DIR/busybox.config .config | |
23 | echo "CONFIG_SYSROOT=\"$TERMUX_STANDALONE_TOOLCHAIN/sysroot\"" >> .config | |
24 | echo "CONFIG_PREFIX=\"$TERMUX_PREFIX\"" >> .config | |
25 | echo "CONFIG_CROSS_COMPILER_PREFIX=\"${TERMUX_HOST_PLATFORM}-\"" >> .config | |
26 | echo "CONFIG_FEATURE_CROND_DIR=\"$TERMUX_PREFIX/var/spool/cron\"" >> .config | |
6b14aeb8 | 27 | echo "CONFIG_SV_DEFAULT_SERVICE_DIR=\"$TERMUX_PREFIX/var/service\"" >> .config |
59f0d218 FF |
28 | make oldconfig |
29 | } | |
30 | ||
31 | termux_step_post_make_install () { | |
32 | # Create symlinks in $PREFIX/bin/applets to $PREFIX/bin/busybox | |
33 | rm -Rf $TERMUX_PREFIX/bin/applets | |
34 | mkdir -p $TERMUX_PREFIX/bin/applets | |
35 | cd $TERMUX_PREFIX/bin/applets | |
36 | for f in `cat $TERMUX_PKG_SRCDIR/busybox.links`; do ln -s ../busybox `basename $f`; done | |
37 | ||
e4ba46a8 | 38 | # The 'ash' and 'env' applets are special in that they go into $PREFIX/bin: |
59f0d218 | 39 | cd $TERMUX_PREFIX/bin |
e4ba46a8 FF |
40 | ln -f -s busybox ash |
41 | ln -f -s busybox env | |
59f0d218 FF |
42 | |
43 | # Install busybox man page | |
44 | mkdir -p $TERMUX_PREFIX/share/man/man1 | |
45 | cp $TERMUX_PKG_SRCDIR/docs/busybox.1 $TERMUX_PREFIX/share/man/man1 | |
f6b57934 FF |
46 | |
47 | # Needed for 'crontab -e' to work out of the box: | |
48 | local _CRONTABS=$TERMUX_PREFIX/var/spool/cron/crontabs | |
49 | mkdir -p $_CRONTABS | |
50 | echo "Used by the busybox crontab and crond tools" > $_CRONTABS/README.termux | |
6b14aeb8 FF |
51 | |
52 | # Setup some services | |
53 | mkdir -p $TERMUX_PREFIX/var/service | |
54 | cd $TERMUX_PREFIX/var/service | |
55 | mkdir -p ftpd telnetd | |
56 | echo '#!/bin/sh' > ftpd/run | |
57 | echo 'exec tcpsvd -vE 0.0.0.0 8021 ftpd /data/data/com.termux/files/home' >> ftpd/run | |
58 | echo '#!/bin/sh' > telnetd/run | |
59 | echo 'exec telnetd -F' >> telnetd/run | |
60 | chmod +x */run | |
59f0d218 FF |
61 | } |
62 |