Mercurial > vanilla
annotate core/busybox/busybox.sh @ 1272:a30768258e0e
crypto/mbedtls: initial import
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 10 Nov 2021 15:12:39 +0100 |
parents | dbe5116fb25d |
children | 9867e578b1a9 |
rev | line source |
---|---|
1115
297b5eef115e
vanilla: change shebangs to /bin/sh
David Demelier <markand@malikania.fr>
parents:
1068
diff
changeset
|
1 #!/bin/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 |
1221
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
18 PKGNAME=busybox |
1223
9be1651dcfaf
core/busybox: upgrade to 1.34.1
David Demelier <markand@malikania.fr>
parents:
1222
diff
changeset
|
19 PKGVERSION=1.34.1 |
1221
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
20 PKGREVISION=1 |
1223
9be1651dcfaf
core/busybox: upgrade to 1.34.1
David Demelier <markand@malikania.fr>
parents:
1222
diff
changeset
|
21 PKGLICENSE="GPL-2.0-only" |
1221
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
22 PKGSUMMARY="swiss army knife for embedded" |
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
23 PKGWWW="https://busybox.net" |
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
24 PKGDOWNLOAD="https://busybox.net/downloads/$PKGNAME-$PKGVERSION.tar.bz2" |
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
25 PKGDEPENDS="linux-headers:build" |
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
26 PKGOPTIONS="CONFIG IPV6 PAM SELINUX STATIC" |
a47aaf9743a0
misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents:
1220
diff
changeset
|
27 PKGPROTECT="etc/udhcpd.conf" |
73
758b9a54f9cf
core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
1180
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
29 : ${AR:=llvm-ar} |
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
30 : ${AS:=llvm-as} |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
31 : ${CC:=clang} |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
32 : ${CFLAGS:=-O2} |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
33 : ${LDFLAGS:=} |
1180
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
34 : ${NM:=llvm-nm} |
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
35 : ${OBJCOPY:=llvm-objcopy} |
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
36 : ${OBJDUMP:=llvm-objdump} |
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
37 : ${STRIP:=llvm-strip} |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
38 : ${CONFIG:=} |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
39 : ${IPV6:=yes} |
1166
72824bb09754
core/busybox: add STATIC option
David Demelier <markand@malikania.fr>
parents:
1115
diff
changeset
|
40 : ${PAM:=no} |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
41 : ${SELINUX:=no} |
1180
99c240ea1b56
core/busybox: disable compiler extensions for clang
David Demelier <markand@malikania.fr>
parents:
1166
diff
changeset
|
42 : ${STATIC:=yes} |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
43 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
44 build() |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
45 { |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
46 rm -rf $PKGNAME-$PKGVERSION |
1223
9be1651dcfaf
core/busybox: upgrade to 1.34.1
David Demelier <markand@malikania.fr>
parents:
1222
diff
changeset
|
47 tar -xvf $PKGNAME-$PKGVERSION.tar.bz2 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
48 cd $PKGNAME-$PKGVERSION |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
49 |
1186
2fafcd07edb0
core/busybox: fix crash under LLVM 9
David Demelier <markand@malikania.fr>
parents:
1180
diff
changeset
|
50 # |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
51 # Allow user to specify a full config if specified, otherwise change |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
52 # package options. |
1186
2fafcd07edb0
core/busybox: fix crash under LLVM 9
David Demelier <markand@malikania.fr>
parents:
1180
diff
changeset
|
53 # |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
54 if [ -n "$CONFIG" ] && [ -r "$CONFIG" ]; then |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
55 cp $CONFIG .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
56 |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
57 # |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
58 # When specifying a config file, force other selective options |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
59 # to a dummy value to avoid incorrect information in package |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
60 # file. |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
61 # |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
62 IPV6="" |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
63 SELINUX="" |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
64 PAM="" |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
65 STATIC="" |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
66 else |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
67 cp ../config .config |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
68 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
69 if [ "$SELINUX" = "yes" ]; then |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
70 echo "CONFIG_SELINUX=y" >> .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
71 echo "CONFIG_FEATURE_TAR_SELINUX=y" >> .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
72 echo "CONFIG_SELINUXENABLED=y" >> .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
73 fi |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
74 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
75 if [ "$PAM" = "yes" ]; then |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
76 echo "CONFIG_PAM=y" >> .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
77 fi |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
78 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
79 if [ "$IPV6" != "yes" ]; then |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
80 sed -i -e "/CONFIG_FEATURE_IPV6=y/ s/y/n/" .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
81 sed -i -e "/CONFIG_FEATURE_IFUPDOWN_IPV6=y/ s/y/n/" .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
82 fi |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
83 |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
84 if [ "$STATIC" = "yes" ]; then |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
85 echo "CONFIG_STATIC=y" >> .config |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
86 fi |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
87 fi |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
88 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
89 # |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
90 # Our start script is located in /etc/rc.init. |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
91 # Upstream: rejected a tunable option. |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
92 # |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
93 sed -i -e 's|/etc/init.d/rcS|/etc/rc.init|' init/init.c |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
94 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
95 make \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
96 AR="$AR" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
97 AS="$AS" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
98 CC="$CC" \ |
1225
dbe5116fb25d
core/busybox: put back clang fix
David Demelier <markand@malikania.fr>
parents:
1223
diff
changeset
|
99 CFLAGS="-DBB_GLOBAL_CONST=''" \ |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
100 HOSTCC="$CC" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
101 HOSTCFLAGS="" \ |
1225
dbe5116fb25d
core/busybox: put back clang fix
David Demelier <markand@malikania.fr>
parents:
1223
diff
changeset
|
102 EXTRA_CFLAGS="$CFLAGS -O0" \ |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
103 EXTRA_LDFLAGS="$LDFLAGS" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
104 NM="$NM" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
105 OBJCOPY="$OBJCOPY" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
106 OBJDUMP="$OBJDUMP" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
107 STRIP="$STRIP" \ |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
108 V=1 |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
109 install -Dm0755 busybox $DESTDIR/bin/busybox |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
110 install -dm0755 $DESTDIR/share/udhcp |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
111 install -m0644 examples/udhcp/sample.* $DESTDIR/share/udhcp |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
112 install -Dm0644 examples/udhcp/udhcpd.conf $DESTDIR/etc/udhcpd.conf |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
113 install -Dm0644 ../busybox.crond $DESTDIR/etc/rc.d/busybox.crond |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
114 install -Dm0644 ../busybox.klogd $DESTDIR/etc/rc.d/busybox.klogd |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
115 install -Dm0644 ../busybox.mdev $DESTDIR/etc/rc.d/busybox.mdev |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
116 install -Dm0644 ../busybox.syslogd $DESTDIR/etc/rc.d/busybox.syslogd |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1186
diff
changeset
|
117 |
1222
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
118 cd .. |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
119 rm -rf $PKGNAME-$PKGVERSION |
325631424c65
misc: bring back build function
David Demelier <markand@malikania.fr>
parents:
1221
diff
changeset
|
120 } |