internal/rosa: remove busybox artifact
All checks were successful
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 4m42s
Test / Hpkg (push) Successful in 5m27s
Test / Sandbox (race detector) (push) Successful in 5m37s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Hakurei (push) Successful in 3m9s
Test / Flake checks (push) Successful in 1m38s
All checks were successful
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 4m42s
Test / Hpkg (push) Successful in 5m27s
Test / Sandbox (race detector) (push) Successful in 5m37s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Hakurei (push) Successful in 3m9s
Test / Flake checks (push) Successful in 1m38s
This is no longer used and its implementation is unacceptably shaky. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -14,7 +14,6 @@ const (
|
|||||||
Attr
|
Attr
|
||||||
Autoconf
|
Autoconf
|
||||||
Bash
|
Bash
|
||||||
Busybox
|
|
||||||
CMake
|
CMake
|
||||||
Coreutils
|
Coreutils
|
||||||
Diffutils
|
Diffutils
|
||||||
@@ -94,7 +93,6 @@ func ResolveName(name string) (p PArtifact, ok bool) {
|
|||||||
"attr": Attr,
|
"attr": Attr,
|
||||||
"autoconf": Autoconf,
|
"autoconf": Autoconf,
|
||||||
"bash": Bash,
|
"bash": Bash,
|
||||||
"busybox": Busybox,
|
|
||||||
"cmake": CMake,
|
"cmake": CMake,
|
||||||
"coreutils": Coreutils,
|
"coreutils": Coreutils,
|
||||||
"diffutils": Diffutils,
|
"diffutils": Diffutils,
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"slices"
|
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"hakurei.app/container/fhs"
|
"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 }
|
|
||||||
|
|||||||
Reference in New Issue
Block a user