diff options
| author | Woodpecker CI <emmett1.2miligrams@protonmail.com> | 2025-06-03 14:32:34 +0000 |
|---|---|---|
| committer | Woodpecker CI <emmett1.2miligrams@protonmail.com> | 2025-06-03 14:32:34 +0000 |
| commit | 8df1d35909ec2d57a6845f5b2c26ee1e83cfd032 (patch) | |
| tree | 88e5aaa8cf9d3c0538cdff935a56786705548d75 /busybox/abuild | |
| parent | 96ec28ea0d2c05032f40f50bc6b9de7020138f57 (diff) | |
| download | alicelinux-8df1d35909ec2d57a6845f5b2c26ee1e83cfd032.tar.gz alicelinux-8df1d35909ec2d57a6845f5b2c26ee1e83cfd032.zip | |
Woodpecker CI 5171f1fdd74e7137c305450dd69a29fa5be4143f [SKIP CI]
Diffstat (limited to 'busybox/abuild')
| -rw-r--r-- | busybox/abuild | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/busybox/abuild b/busybox/abuild new file mode 100644 index 00000000..b1b92271 --- /dev/null +++ b/busybox/abuild @@ -0,0 +1,102 @@ +name=busybox +version=1.37.0 +release=1 +source="https://${name}.net/downloads/${name}-${version}.tar.bz2 + 0001-awk-fix-handling-of-literal-backslashes-in-replaceme.patch + 0016-ping-make-ping-work-without-root-privileges.patch + kernel-6.8-tca.patch + fsck-resolve-uuid.patch + adduser-no-setgid.patch + print-unicode.patch + modprobe-kernel-version.patch + busybox-suidwrapper.c + mdev.conf + acpid.run + crond.run + ntpd.run + syslogd.run + klogd.run + inetd.run + httpd.run + mdev.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run + pause.c + pause.1" +sv="acpid.run + crond.run + ntpd.run + syslogd.run + klogd.run + inetd.run + httpd.run + mdev.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run" + +_disable() { + while [ "$1" ]; do + sed "s/^CONFIG_${1}=y/# CONFIG_${1} is not set/" -i .config + shift + done +} + +_enable() { + while [ "$1" ]; do + sed "s/^# CONFIG_${1}.*/CONFIG_${1}=y/" -i .config + shift + done +} + +build() { + make defconfig + + _disable XZCAT XZ UNXZ UNLZMA LZCAT LZMA # provided by xz + _disable STRINGS # provided by llvm + _disable CLEAR RESET # provided by ncurses + _disable PATCH # provided by patch (GNU patch works better) + _disable BZCAT BUNZIP2 BZIP2 # provided by bzip2 + _disable CHATTR LSATTR MKE2FS FINDFS MKFS_EXT2 BLKID # provided by e2fsprogs + _disable MKDOSFS MKFS_VFAT # provided by dosfstools + + _disable FSCK_MINIX MKFS_MINIX DPKG DPKG_DEB MAN # + _disable MODPROBE_SMALL HUSH SHELL_HUSH RPM2CPIO # JUNKS + _disable RX CHAT LINUXRC RPM RUN_PARTS # + + _enable STATIC # enable static build + _enable FEATURE_MODUTILS_ALIAS FEATURE_MODUTILS_SYMBOLS # enable some kmod features + + # install nologin to /sbin + sed 's/BB_DIR_USR_SBIN/BB_DIR_SBIN/' -i util-linux/nologin.c + + # install diff to /bin + sed 's/BB_DIR_USR_BIN/BB_DIR_BIN/' -i editors/diff.c + + make + make CONFIG_PREFIX=$PKG install + mkdir -p $PKG/usr/share/busybox + cat .config > $PKG/usr/share/busybox/config + + ${CC:-cc} -o $PKG/bin/busybox-suidwrapper $SRC/busybox-suidwrapper.c + chmod u+s $PKG/bin/busybox-suidwrapper + + for i in $($PKG/bin/busybox-suidwrapper -l); do + [ -e /bin/$i ] && ln -svf busybox-suidwrapper $PKG/bin/$i + [ -e /usr/bin/$i ] && ln -svf ../../bin/busybox-suidwrapper $PKG/usr/bin/$i + done + + mkdir -p $PKG/etc + install -m644 $SRC/mdev.conf $PKG/etc/mdev.conf + + ${CC:-gcc} ${CFLAGS} $SRC/pause.c -o $PKG/usr/bin/pause + install -d $PKG/usr/share/man/man1 + install -m644 $SRC/pause.1 $PKG/usr/share/man/man1/pause.1 +} |