aboutsummaryrefslogtreecommitdiff
path: root/core/busybox/build
blob: 5625cecbaef7995d305e055943498e5ceab6fd1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh -e

# Build and install regular busybox.
# This excludes utilities which require 'suid' to function.
make CC="${CC:-gcc}"
make CONFIG_PREFIX="$1/usr" install

# Rename the binary temporarily.
mv "$1/usr/bin/busybox" "$1/usr/bin/busybox-nosuid"

# Build and install suid busybox.
# This _only_ includes utlities which require 'suid' to function.
cp -f .config-suid .config
make CC="${CC:-gcc}"
make CONFIG_PREFIX="$1/usr" install

# Aptly name the busybox binaries.
mv "$1/usr/bin/busybox"        "$1/usr/bin/busybox-suid"
mv "$1/usr/bin/busybox-nosuid" "$1/usr/bin/busybox"

# Install the non-suid symlinks.
"$1/usr/bin/busybox" --list | while read -r bin; do
    ln -s busybox "$1/usr/bin/$bin"
done

# Install the suid symlinks.
"$1/usr/bin/busybox-suid" --list | while read -r bin; do
    ln -s busybox-suid "$1/usr/bin/$bin"
done

# Set suid on busybox suid.
chmod u+s "$1/usr/bin/busybox-suid"

# Install runit services
install -Dm755 acpid.run           "$1/etc/sv/acpid/run"