annotate core/busybox/busybox.sh @ 563:6078067f25d6

core/busybox: fix init script
author David Demelier <markand@malikania.fr>
date Fri, 05 Jul 2019 19:12:52 +0200
parents dea7c4365bbe
children ec4819b1579a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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"
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
26 : ${CC:=clang}
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
27 : ${CFLAGS:=-O2}
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
28 : ${LDFLAGS:=}
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
29 : ${CONFIG:=}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
30 : ${IPV6:=yes}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
31 : ${SELINUX:=no}
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
32 : ${PAM:=no}
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
33
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
34 build()
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
35 {
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
36 rm -rf $PKGNAME-$PKGVERSION
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
37 tar xvaf $PKGNAME-$PKGVERSION.tar.bz2
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
38 pushd $PKGNAME-$PKGVERSION
73
758b9a54f9cf core/busybox: initial import, closes #1162
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
556
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
40 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
41 # 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
42 # package options.
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
43 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
44 if [ -n "$CONFIG" ] && [ -r "$CONFIG" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
45 cp $CONFIG .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
46
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 # 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
49 # 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
50 # file.
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
51 #
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
52 IPV6=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
53 SELINUX=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
54 PAM=""
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
55 else
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
56 cp ../config .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
57
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
58 if [ "$SELINUX" = "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
59 echo "CONFIG_SELINUX=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
60 echo "CONFIG_FEATURE_TAR_SELINUX=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
61 echo "CONFIG_SELINUXENABLED=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
62 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
63
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
64 if [ "$PAM" = "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
65 echo "CONFIG_PAM=y" >> .config
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
66 fi
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
67
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
68 if [ "$IPV6" != "yes" ]; then
dea7c4365bbe core/busybox: add options, closes #1664
David Demelier <markand@malikania.fr>
parents: 554
diff changeset
69 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
70 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
71 fi
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
563
6078067f25d6 core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents: 556
diff changeset
74 # Our start script is located in /etc/rc.init.
6078067f25d6 core/busybox: fix init script
David Demelier <markand@malikania.fr>
parents: 556
diff changeset
75 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
76
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
77 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
78 install -Dm0755 busybox $DESTDIR/bin/busybox
e135d70987c1 core/busybox: add some services, closes #1663
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
79 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
80 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
81 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
82 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
83
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
84 popd
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
85 rm -rf $PKGNAME-$PKGVERSION
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 73
diff changeset
86 }