Mercurial > vanilla
annotate core/busybox/busybox.sh @ 647:c8928a51240b
lib/ncurses: rebuild as recommended per LFS
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 27 Jul 2019 14:05:54 +0200 |
parents | 25cecc6dca48 |
children | 8100a1897e9e |
rev | line source |
---|---|
73
758b9a54f9cf
core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/bin/sh |
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" |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
24 PKGOPTIONS="CONFIG IPV6 PAM SELINUX" |
604
ec4819b1579a
core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents:
563
diff
changeset
|
25 PKGPROTECT="etc/udhcpd.conf" |
73
758b9a54f9cf
core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
27 : ${CC:=clang} |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
28 : ${CFLAGS:=-O2} |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
29 : ${LDFLAGS:=} |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
30 : ${CONFIG:=} |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
31 : ${IPV6:=yes} |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
32 : ${SELINUX:=no} |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
33 : ${PAM:=no} |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
34 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
73
diff
changeset
|
35 build() |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
73
diff
changeset
|
36 { |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
73
diff
changeset
|
37 rm -rf $PKGNAME-$PKGVERSION |
606
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
604
diff
changeset
|
38 tar xvf $PKGNAME-$PKGVERSION.tar.bz2 |
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
604
diff
changeset
|
39 cd $PKGNAME-$PKGVERSION |
73
758b9a54f9cf
core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
556
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
41 # |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
42 # 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
|
43 # package options. |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
44 # |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
45 if [ -n "$CONFIG" ] && [ -r "$CONFIG" ]; then |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
46 cp $CONFIG .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
47 |
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 # 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
|
50 # 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
|
51 # file. |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
52 # |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
53 IPV6="" |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
54 SELINUX="" |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
55 PAM="" |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
56 else |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
57 cp ../config .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
58 |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
59 if [ "$SELINUX" = "yes" ]; then |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
60 echo "CONFIG_SELINUX=y" >> .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
61 echo "CONFIG_FEATURE_TAR_SELINUX=y" >> .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
62 echo "CONFIG_SELINUXENABLED=y" >> .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
63 fi |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
64 |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
65 if [ "$PAM" = "yes" ]; then |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
66 echo "CONFIG_PAM=y" >> .config |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
67 fi |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
68 |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
69 if [ "$IPV6" != "yes" ]; then |
dea7c4365bbe
core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents:
554
diff
changeset
|
70 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
|
71 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
|
72 fi |
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 |
563
6078067f25d6
core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents:
556
diff
changeset
|
75 # Our start script is located in /etc/rc.init. |
6078067f25d6
core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents:
556
diff
changeset
|
76 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
|
77 |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
516
diff
changeset
|
78 make CC="$CC" HOSTCC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" |
554
e135d70987c1
core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents:
549
diff
changeset
|
79 install -Dm0755 busybox $DESTDIR/bin/busybox |
604
ec4819b1579a
core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents:
563
diff
changeset
|
80 install -dm0755 $DESTDIR/share/udhcp |
ec4819b1579a
core/busybox: add udhcp example and config
David Demelier <markand@malikania.fr>
parents:
563
diff
changeset
|
81 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
|
82 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 |
606
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
604
diff
changeset
|
88 cd .. |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
73
diff
changeset
|
89 rm -rf $PKGNAME-$PKGVERSION |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
73
diff
changeset
|
90 } |