annotate core/busybox/busybox.sh @ 1019:ddab65a5b3f5

vanilla: use /bin/busybox sh as default shell
author David Demelier <markand@malikania.fr>
date Thu, 29 Aug 2019 23:35:00 +0200
parents a133976e0783
children 31f5258dc517
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1019
ddab65a5b3f5 vanilla: use /bin/busybox sh as default shell
David Demelier <markand@malikania.fr>
parents: 902
diff changeset
1 #!/bin/busybox sh
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
18 PKGNAME=busybox
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
19 PKGVERSION=1.30.1
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
20 PKGREVISION=1
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
21 PKGLICENSE="GPLv2"
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
22 PKGSUMMARY="swiss army knife for embedded"
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
23 PKGDOWNLOAD="https://busybox.net/downloads/$PKGNAME-$PKGVERSION.tar.bz2"
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 654
diff changeset
24 PKGDEPENDS="linux-headers:build"
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
25 PKGOPTIONS="CONFIG IPV6 PAM SELINUX"
604
ec4819b1579a core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents: 563
diff changeset
26 PKGPROTECT="etc/udhcpd.conf"
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
28 : ${CC:=clang}
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
29 : ${CFLAGS:=-O2}
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
30 : ${LDFLAGS:=}
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
31 : ${CONFIG:=}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
32 : ${IPV6:=yes}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
33 : ${SELINUX:=no}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
34 : ${PAM:=no}
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
35
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
36 build()
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
37 {
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
38 rm -rf $PKGNAME-$PKGVERSION
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
39 tar xvf $PKGNAME-$PKGVERSION.tar.bz2
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
40 cd $PKGNAME-$PKGVERSION
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
42 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
43 # Allow user to specify a full config if specified, otherwise change
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
44 # package options.
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
45 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
46 if [ -n "$CONFIG" ] && [ -r "$CONFIG" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
47 cp $CONFIG .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
48
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
49 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
50 # When specifying a config file, force other selective options
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
51 # to a dummy value to avoid incorrect information in package
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
52 # file.
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
53 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
54 IPV6=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
55 SELINUX=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
56 PAM=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
57 else
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
58 cp ../config .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
59
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
60 if [ "$SELINUX" = "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
61 echo "CONFIG_SELINUX=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
62 echo "CONFIG_FEATURE_TAR_SELINUX=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
63 echo "CONFIG_SELINUXENABLED=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
64 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
65
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
66 if [ "$PAM" = "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
67 echo "CONFIG_PAM=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
68 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
69
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
70 if [ "$IPV6" != "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
71 sed -i -e "/CONFIG_FEATURE_IPV6=y/ s/y/n/" .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
72 sed -i -e "/CONFIG_FEATURE_IFUPDOWN_IPV6=y/ s/y/n/" .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
73 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
74 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
75
563
6078067f25d6 core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents: 556
diff changeset
76 # Our start script is located in /etc/rc.init.
6078067f25d6 core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents: 556
diff changeset
77 sed -i -e 's|/etc/init.d/rcS|/etc/rc.init|' init/init.c
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
78
654
8100a1897e9e core/busybox: improve build without binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
79 make CC="$CC" HOSTCC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CROSS_COMPILE=llvm-
554
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
80 install -Dm0755 busybox $DESTDIR/bin/busybox
604
ec4819b1579a core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents: 563
diff changeset
81 install -dm0755 $DESTDIR/share/udhcp
ec4819b1579a core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents: 563
diff changeset
82 install -m0644 examples/udhcp/sample.* $DESTDIR/share/udhcp
ec4819b1579a core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents: 563
diff changeset
83 install -Dm0644 examples/udhcp/udhcpd.conf $DESTDIR/etc/udhcpd.conf
554
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
84 install -Dm0644 ../busybox.crond $DESTDIR/etc/rc.d/busybox.crond
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
85 install -Dm0644 ../busybox.klogd $DESTDIR/etc/rc.d/busybox.klogd
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
86 install -Dm0644 ../busybox.mdev $DESTDIR/etc/rc.d/busybox.mdev
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
87 install -Dm0644 ../busybox.syslogd $DESTDIR/etc/rc.d/busybox.syslogd
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
88
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
89 cd ..
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
90 rm -rf $PKGNAME-$PKGVERSION
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
91 }