From 6c1e2f10a763ac46fc582c0082a577de84f54d62 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 29 Jan 2026 19:58:51 +0900 Subject: [PATCH] internal/rosa: remove busybox artifact This is no longer used and its implementation is unacceptably shaky. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 - internal/rosa/busybox.go | 240 --------------------------------------- 2 files changed, 242 deletions(-) diff --git a/internal/rosa/all.go b/internal/rosa/all.go index bf79f1e..b9fd9c7 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -14,7 +14,6 @@ const ( Attr Autoconf Bash - Busybox CMake Coreutils Diffutils @@ -94,7 +93,6 @@ func ResolveName(name string) (p PArtifact, ok bool) { "attr": Attr, "autoconf": Autoconf, "bash": Bash, - "busybox": Busybox, "cmake": CMake, "coreutils": Coreutils, "diffutils": Diffutils, diff --git a/internal/rosa/busybox.go b/internal/rosa/busybox.go index 306ef65..14631b2 100644 --- a/internal/rosa/busybox.go +++ b/internal/rosa/busybox.go @@ -6,8 +6,6 @@ import ( "net/http" "os" "runtime" - "slices" - "strings" "time" "hakurei.app/container/fhs" @@ -115,241 +113,3 @@ func newBusyboxBin() pkg.Artifact { )}), ) } - -func (t Toolchain) newBusybox() pkg.Artifact { - const ( - version = "1.37.0" - checksum = "Ial94Tnt7esJ_YEeb0AxunVL6MGYFyOw7Rtu2o87CXCi1TLrc6rlznVsN1rZk7it" - ) - - var env []string - if t == toolchainStage3 { - env = append(env, - "EXTRA_LDFLAGS=-Wl,--dynamic-linker=/system/bin/linker") - } - - return t.New("busybox-"+version, false, stage3Concat(t, []pkg.Artifact{}, - t.Load(Make), - t.Load(KernelHeaders), - ), nil, slices.Concat([]string{ - "ROSA_BUSYBOX_ENABLE=" + strings.Join([]string{ - "STATIC", - "PIE", - }, " "), - "ROSA_BUSYBOX_DISABLE=" + strings.Join([]string{ - "SHA1_HWACCEL", - - "FEATURE_IPV6", - "FEATURE_PREFER_IPV4_ADDRESS", - "FEATURE_HWIB", - "ARP", - "ARPING", - "BRCTL", - "FEATURE_BRCTL_FANCY", - "FEATURE_BRCTL_SHOW", - "DNSD", - "ETHER_WAKE", - "FTPD", - "FEATURE_FTPD_WRITE", - "FEATURE_FTPD_ACCEPT_BROKEN_LIST", - "FEATURE_FTPD_AUTHENTICATION", - "FTPGET", - "FTPPUT", - "FEATURE_FTPGETPUT_LONG_OPTIONS", - "HOSTNAME", - "DNSDOMAINNAME", - "HTTPD", - "FEATURE_HTTPD_PORT_DEFAULT", - "FEATURE_HTTPD_RANGES", - "FEATURE_HTTPD_SETUID", - "FEATURE_HTTPD_BASIC_AUTH", - "FEATURE_HTTPD_AUTH_MD5", - "FEATURE_HTTPD_CGI", - "FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR", - "FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV", - "FEATURE_HTTPD_ENCODE_URL_STR", - "FEATURE_HTTPD_ERROR_PAGES", - "FEATURE_HTTPD_PROXY", - "FEATURE_HTTPD_GZIP", - "FEATURE_HTTPD_ETAG", - "FEATURE_HTTPD_LAST_MODIFIED", - "FEATURE_HTTPD_DATE", - "FEATURE_HTTPD_ACL_IP", - "IFCONFIG", - "FEATURE_IFCONFIG_STATUS", - "FEATURE_IFCONFIG_SLIP", - "FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ", - "FEATURE_IFCONFIG_HW", - "FEATURE_IFCONFIG_BROADCAST_PLUS", - "IFENSLAVE", - "IFPLUGD", - "IFUP", - "IFDOWN", - "IFUPDOWN_IFSTATE_PATH", - "FEATURE_IFUPDOWN_IP", - "FEATURE_IFUPDOWN_IPV4", - "FEATURE_IFUPDOWN_IPV6", - "FEATURE_IFUPDOWN_MAPPING", - "INETD", - "FEATURE_INETD_SUPPORT_BUILTIN_ECHO", - "FEATURE_INETD_SUPPORT_BUILTIN_DISCARD", - "FEATURE_INETD_SUPPORT_BUILTIN_TIME", - "FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME", - "FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN", - "IP", - "IPADDR", - "IPLINK", - "IPROUTE", - "IPTUNNEL", - "IPRULE", - "IPNEIGH", - "FEATURE_IP_ADDRESS", - "FEATURE_IP_LINK", - "FEATURE_IP_LINK_CAN", - "FEATURE_IP_ROUTE", - "FEATURE_IP_ROUTE_DIR", - "FEATURE_IP_TUNNEL", - "FEATURE_IP_RULE", - "FEATURE_IP_NEIGH", - "IPCALC", - "FEATURE_IPCALC_LONG_OPTIONS", - "FEATURE_IPCALC_FANCY", - "FAKEIDENTD", - "NAMEIF", - "FEATURE_NAMEIF_EXTENDED", - "NBDCLIENT", - "NC", - "NC_SERVER", - "NC_EXTRA", - "NC_110_COMPAT", - "NETSTAT", - "FEATURE_NETSTAT_WIDE", - "FEATURE_NETSTAT_PRG", - "NSLOOKUP", - "FEATURE_NSLOOKUP_BIG", - "FEATURE_NSLOOKUP_LONG_OPTIONS", - "NTPD", - "FEATURE_NTPD_SERVER", - "FEATURE_NTPD_CONF", - "FEATURE_NTP_AUTH", - "PING", - "PING6", - "FEATURE_FANCY_PING", - "PSCAN", - "ROUTE", - "SLATTACH", - "SSL_CLIENT", - "TC", - "FEATURE_TC_INGRESS", - "TCPSVD", - "UDPSVD", - "TELNET", - "FEATURE_TELNET_TTYPE", - "FEATURE_TELNET_AUTOLOGIN", - "FEATURE_TELNET_WIDTH", - "TELNETD", - "FEATURE_TELNETD_STANDALONE", - "FEATURE_TELNETD_PORT_DEFAULT", - "FEATURE_TELNETD_INETD_WAIT", - "TFTP", - "FEATURE_TFTP_PROGRESS_BAR", - "FEATURE_TFTP_HPA_COMPAT", - "TFTPD", - "FEATURE_TFTP_GET", - "FEATURE_TFTP_PUT", - "FEATURE_TFTP_BLOCKSIZE", - "TLS", - "TRACEROUTE", - "TRACEROUTE6", - "FEATURE_TRACEROUTE_VERBOSE", - "FEATURE_TRACEROUTE_USE_ICMP", - "TUNCTL", - "FEATURE_TUNCTL_UG", - "VCONFIG", - "WGET", - "FEATURE_WGET_LONG_OPTIONS", - "FEATURE_WGET_STATUSBAR", - "FEATURE_WGET_FTP", - "FEATURE_WGET_AUTHENTICATION", - "FEATURE_WGET_TIMEOUT", - "FEATURE_WGET_HTTPS", - "FEATURE_WGET_OPENSSL", - "WHOIS", - "ZCIP", - "UDHCPD", - "FEATURE_UDHCPD_BOOTP", - "FEATURE_UDHCPD_WRITE_LEASES_EARLY", - "DHCPD_LEASES_FILE", - "DUMPLEASES", - "DHCPRELAY", - "UDHCPC", - "FEATURE_UDHCPC_ARPING", - "FEATURE_UDHCPC_SANITIZEOPT", - "UDHCPC_DEFAULT_SCRIPT", - "UDHCPC6_DEFAULT_SCRIPT", - "UDHCPC6", - "FEATURE_UDHCPC6_RFC3646", - "FEATURE_UDHCPC6_RFC4704", - "FEATURE_UDHCPC6_RFC4833", - "FEATURE_UDHCPC6_RFC5970", - }, " "), - }, env), ` -config_enable() { - for ent in "$@"; do - sed "s/^# CONFIG_${ent}.*/CONFIG_${ent}=y/" -i .config - shift - done -} - -config_disable() { - for ent in "$@"; do - sed "s/^CONFIG_${ent}=y/# CONFIG_${ent} is not set/" -i .config - shift - done -} - -cat > /bin/gcc << EOF -exec clang \ - -Qunused-arguments \ - -Wno-ignored-optimization-argument \ - ${LDFLAGS} \ - \$@ -EOF -chmod +x /bin/gcc - -cd "$(mktemp -d)" -make \ - KBUILD_SRC=/usr/src/busybox \ - -f /usr/src/busybox/Makefile \ - defconfig - -config_enable $ROSA_BUSYBOX_ENABLE -config_disable $ROSA_BUSYBOX_DISABLE -mkdir -p /system/bin -ln -s ../../usr/lib/libc.so /system/bin/linker || true -ln -s ../system/bin/pwd /bin/pwd || true -make \ - CFLAGS_busybox="${LDFLAGS} ${EXTRA_LDFLAGS}" \ - "-j$(nproc)" - -mkdir -p /system/bin/ /work/bin/ -cp busybox /system/bin/ - -mkdir -pv /work/system/bin/ -busybox --install -s /work/system/bin/ -cp -v busybox /work/system/bin/ -mkdir -vp /work/usr/bin/ -ln -vs ../../system/bin/busybox /work/usr/bin/env -`, pkg.Path(AbsUsrSrc.Append("busybox"), true, t.NewPatchedSource( - "busybox", version, pkg.NewHTTPGetTar( - &http.Client{Transport: &http.Transport{ - // busybox website is really slow to respond - TLSHandshakeTimeout: 2 * time.Minute, - }}, - "https://busybox.net/downloads/busybox-"+version+".tar.bz2", - mustDecode(checksum), - pkg.TarBzip2, - ), false, - ))) -} -func init() { artifactsF[Busybox] = Toolchain.newBusybox }