repo/core/busybox/build

65 lines
2.1 KiB
Plaintext
Raw Normal View History

2019-05-14 14:05:50 -06:00
#!/bin/sh -e
2019-05-14 05:02:11 -06:00
2021-06-30 04:19:00 -06:00
for patch in patch/*.patch; do
2020-02-20 12:15:54 -07:00
patch -p1 < "$patch"
done
# Remove forced gcc/g++ usage so builds work on gcc-less systems.
2020-11-19 02:32:27 -07:00
sed -i "s#= g[c+][c+]#= ${CC:=cc}#g" Makefile
sed -i "s#\(\$(CROSS_COMPILE)\)gcc#\1${CC}#g" Makefile
# Ensure that busybox's build system is aware that 'cc' may point
# to clang rather than GCC. This is the case in non-GCC systems.
2020-11-19 02:32:27 -07:00
case $("$CC" --version) in (*clang*)
sed -i "s&\(\$(CC),\)clang&\1${CC}&g" Makefile.flags
esac
# Build and install regular busybox.
# This excludes utilities which require 'suid' to function.
2020-11-19 02:32:27 -07:00
make CC="$CC" HOSTCC="$CC"
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
2020-11-19 02:32:27 -07:00
make CC="$CC" HOSTCC="$CC"
make CONFIG_PREFIX="$1/usr" install
# Aptly name the busybox binaries.
2020-04-22 10:27:33 -06:00
mv -f "$1/usr/bin/busybox" "$1/usr/bin/busybox-suid"
mv -f "$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
2019-08-10 19:43:31 -06:00
# 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.
2019-09-02 01:03:11 -06:00
chmod u+s "$1/usr/bin/busybox-suid"
2020-05-17 00:13:58 -06:00
# The acpid command requires that this directory exist
# and does not automatically create it..
mkdir -p "$1/etc/acpid"
# Install runit services.
install -Dm755 acpid.run "$1/etc/sv/acpid/run"
install -Dm755 crond.run "$1/etc/sv/crond/run"
install -Dm755 syslogd.run "$1/etc/sv/syslogd/run"
2020-01-20 00:54:08 -07:00
install -Dm755 mdev.run "$1/etc/sv/mdev/run"
2020-08-26 16:36:36 -06:00
install -Dm755 ntpd.run "$1/etc/sv/ntpd/run"
ln -s /run/runit/supervise.acpid "$1/etc/sv/acpid/supervise"
ln -s /run/runit/supervise.crond "$1/etc/sv/crond/supervise"
ln -s /run/runit/supervise.syslogd "$1/etc/sv/syslogd/supervise"
2020-01-20 00:54:08 -07:00
ln -s /run/runit/supervise.mdev "$1/etc/sv/mdev/supervise"
2020-08-26 16:36:36 -06:00
ln -s /run/runit/supervise.ntpd "$1/etc/sv/ntpd/supervise"
2020-01-20 00:54:08 -07:00
install -Dm644 mdev.conf "$1/etc/mdev.conf"