From e5976d10ef16e30a8650b1e2d2215d8e1791bd31 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 14 Sep 2025 15:31:06 -0300 Subject: [PATCH] misc: userspace changes for package management --- Makefile | 4 +-- kernel-src/Makefile | 2 +- patches/mlibc/jinx-working-patch.patch | 17 +++++++--- patches/xbps/jinx-working-patch.patch | 43 ++++++++++++++++++++++++++ recipes/astral | 2 +- recipes/net-base | 4 +++ recipes/xbps | 3 +- recipes/zstd | 18 +++++++++++ source-recipes/zstd | 9 ++++++ 9 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 recipes/net-base create mode 100644 recipes/zstd create mode 100644 source-recipes/zstd diff --git a/Makefile b/Makefile index bdfcd050..aba49764 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,12 @@ LIMINEDIR=$(JINX_DIR)/host-pkgs/limine/usr/local/share/limine/ KERNEL=$(JINX_DIR)/builds/astral/astral QEMUFLAGS=-M q35 -m 2g -smp cpus=4 -no-shutdown -no-reboot -debugcon file:/dev/stdout -serial stdio -netdev user,id=net0 -device virtio-net,netdev=net0 -object filter-dump,id=f1,netdev=net0,file=netdump.dat QEMUISOFLAGS=-cdrom $(ISO) -QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device virtio-blk,serial=deadc0ff,drive=nvme -boot order=dc +QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device nvme,serial=deadc0ff,drive=nvme -boot order=dc QEMUIMGFLAGS=-drive file=$(IMG),if=none,id=usb -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=usb,removable=on INITRD=$(JINX_DIR)/initrds/initrd DISTROTYPE=full -MINIMALPACKAGES=mlibc bash coreutils init distro-files vim nano mount netd shadow sudo neofetch +MINIMALPACKAGES=mlibc bash coreutils init distro-files vim nano mount shadow sudo xbps net-base neofetch .PHONY: all kernel clean clean-kernel iso img initrd full minimal disk distro-minimal distro-full diff --git a/kernel-src/Makefile b/kernel-src/Makefile index 6bf65325..3300a3bc 100644 --- a/kernel-src/Makefile +++ b/kernel-src/Makefile @@ -22,7 +22,7 @@ all: echo "#ifndef _BUILD_H" > include/build.h echo "#define _BUILD_H" >> include/build.h echo " #define BUILD_DATE \"$(shell date -u)\"" >> include/build.h - echo " #define BUILD_TARGET \"$(TARGET)\"" >> include/build.h + echo " #define BUILD_TARGET \"$(JINX_ARCH)\"" >> include/build.h echo "#endif" >> include/build.h make astral diff --git a/patches/mlibc/jinx-working-patch.patch b/patches/mlibc/jinx-working-patch.patch index bb51cd07..5b18f87d 100644 --- a/patches/mlibc/jinx-working-patch.patch +++ b/patches/mlibc/jinx-working-patch.patch @@ -84,13 +84,20 @@ index d5ba7b2..a86353f 100644 long error = syscall(SYSCALL_ARCHCTL, &ret, func, (uint64_t)arg); if(error) diff --git mlibc-clean/sysdeps/astral/generic/generic.cpp mlibc-workdir/sysdeps/astral/generic/generic.cpp -index bb85dba..5f12e17 100644 +index bb85dba..be7ad9e 100644 --- mlibc-clean/sysdeps/astral/generic/generic.cpp +++ mlibc-workdir/sysdeps/astral/generic/generic.cpp -@@ -40,6 +40,31 @@ namespace mlibc { +@@ -40,6 +40,38 @@ namespace mlibc { return 0; } ++ int sys_inet_configured(bool *ipv4, bool *ipv6) { ++ // there is no ipv6 support in the kernel currently and no way of checking for configured interfaces ++ *ipv4 = true; ++ *ipv6 = false; ++ return 0; ++ } ++ + int sys_getcpu(int *cpu) { + long ret; + // can never fail @@ -119,7 +126,7 @@ index bb85dba..5f12e17 100644 int sys_tgkill(int pid, int tid, int sig) { long ret; return syscall(SYSCALL_KILLTHREAD, &ret, pid, tid, sig); -@@ -161,7 +186,18 @@ namespace mlibc { +@@ -161,7 +193,18 @@ namespace mlibc { *bytes_written = writec; return error; } @@ -139,7 +146,7 @@ index bb85dba..5f12e17 100644 #ifndef MLIBC_BUILDING_RTLD typedef struct { -@@ -376,6 +412,12 @@ namespace mlibc { +@@ -376,6 +419,12 @@ namespace mlibc { return ret; } @@ -152,7 +159,7 @@ index bb85dba..5f12e17 100644 #ifndef MLIBC_BUILDING_RTLD [[noreturn]] void sys_thread_exit() { -@@ -771,7 +813,7 @@ namespace mlibc { +@@ -771,7 +820,7 @@ namespace mlibc { int sys_tcb_set(void *pointer) { long r; diff --git a/patches/xbps/jinx-working-patch.patch b/patches/xbps/jinx-working-patch.patch index 7bc9ef75..829224a9 100644 --- a/patches/xbps/jinx-working-patch.patch +++ b/patches/xbps/jinx-working-patch.patch @@ -11,6 +11,49 @@ index 8e6b2db..7079ab8 100755 # Ensure that we do not inherit these from env OS= BUILD= +diff --git xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist +new file mode 100644 +index 0000000..7ff24dc +--- /dev/null ++++ xbps-workdir/data/58:87:8d:25:bd:62:da:57:bf:89:ec:7a:c7:dc:6f:85.plist +@@ -0,0 +1,12 @@ ++ ++ ++ ++ ++ public-key ++ LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsN3pjNFdsWk0yY21jS2p2Q0pldQpRYlFsN3Y1M2N5MmJ0TDVvV0Q3c0l6eWNDTVNaRkY1OGdkTzFFK2VmcXlabTNCNFZ1d0k2UUZkOWY2T2FtNW12CkIrczVzR1FLZ2lxWlR5SHZaa005R3Nab1pjdnZGZHZHa0o2WEdBeCtjWHJDLzR6Sm9Dak5sWTVhb1ExeXMxRnUKUngzQ2RBTkNCa3NtRGxkdTQ1RFFJZnlYMXh0eXZ0S0FvRUM4NCtGOVhmdDBKOENDSllLeW43M0RRUkdIbThqawppZkhSYld4aEZCdTdKQmZJWDYzT0R1UG1wTHdLYmJjQ2g4dWMya3hzMVNzVHhaaG9Ia0NURlkzL0V0R2p6eW9NClpNaFRIbHl1MTBQTU54eEN2U2hyYW05UlVPVi80NkhNWWZudDU4YUtOM1R4cEFkR3ZHTU1rSVUxdnpienlJekMKandJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== ++ public-key-size ++ 2048 ++ signature-by ++ Math ++ ++ +diff --git xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist +deleted file mode 100644 +index c1e82a7..0000000 +--- xbps-clean/data/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist ++++ /dev/null +@@ -1,12 +0,0 @@ +- +- +- +- +- public-key +- LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2clN6QlpNdmd2T0NJM0FYYk9qYQoycktSa0pTVE0zYy9FalRJZ0NnRFhndW05M0JQQ3RZOE1jRlZvQ1U0T2lYSEdmVG1xMzlCVk5wTHZMSEw5S2sxCnAyNzhTQmhYVk90YkIyRVZtREtudmZJREVUbGRMR3plN3JaTlJKZHR1TjJtWi9UVnJVQjlTMHlRYytJdWY0aHYKMytEOTdWSWRUSkhBN0FTcjA0MjhwcEVHSkd3U1NoWTJYSm05RDVJMEV1R1JXYzE0TUVHN2RJS0ppWWlNMG5FNAp0WW8yL3ZINElGVEhkblZBM2dZaVp5RG5idUNBUi84RVNmVVRVMTNTTkNPZGJ1ZGYzRDVCY3krVWlNREpJM1llCjRNRktCclQ5WmhaK0dzWEJaWTQ4MmxxaVppNkNMNXB0YzlJUUZmOC9lS1phOGphdGtpVkZWZ3JLZU5Sak9UeE4KZldTdTJua3hHTlgrYmhYWXRoaUdXbUpFWThjQ0FQeUZOK0x2NVJldEsyNTZnZGNiMnNrbUVxZWZ2MnpQQyt3VgpXQmJkSDViRDRiWmpuME42Wmw4MXJ2NVJ6RHZudmYrdkQxNGFGVWJaOFFGcXU3NVBiTDR3Nm1ZTTRsZE0vZzBSCjZOWEU4QXo5Qnd4MnREZlllS3V1dHcxRXBQbTJZdkZ5VFViMWNveUF1VEdSeUFhcDFVVEh2ZzlsaFBJSm1oRlEKSjVrQ2cxcUQ3QTMxV2wwUmxuZTZoZ0dvMFpaTko1Y0pNL3YvelNUS0pjdUZnd283SDBoT0dpbDZEZm84OUI0agpHOTZBQ3lQUytEVktQRlhSWXdqL0FrYkhwYVEyZjFGTUFvU3BCcXVEcUhoM3VrazcxS1g2ajE5dDBpRjhEUUxyCnZ0RlNTZElqREEwMmx3ZVY5TmFRcFdzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= +- public-key-size +- 4096 +- signature-by +- Void Linux +- +- +diff --git xbps-clean/data/repod-main.conf xbps-workdir/data/repod-main.conf +index e1c99f1..c78164d 100644 +--- xbps-clean/data/repod-main.conf ++++ xbps-workdir/data/repod-main.conf +@@ -1 +1 @@ +-repository=https://repo-default.voidlinux.org/current ++repository=https://astral-os.org/repository diff --git xbps-clean/lib/fetch/ftp.c xbps-workdir/lib/fetch/ftp.c index 877b70d..a303d18 100644 --- xbps-clean/lib/fetch/ftp.c diff --git a/recipes/astral b/recipes/astral index c1d1120d..ec616893 100644 --- a/recipes/astral +++ b/recipes/astral @@ -6,7 +6,7 @@ hostdeps="xgcc xbinutils limine" build() { cp -pr "${source_dir}"/* . - CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" TARGET=x86-64 make -j${parallelism} + CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" TARGET=x86-64 JINX_ARCH=${JINX_ARCH} make -j${parallelism} } package() { diff --git a/recipes/net-base b/recipes/net-base new file mode 100644 index 00000000..6e07442e --- /dev/null +++ b/recipes/net-base @@ -0,0 +1,4 @@ +name=net-base +version=1 +revision=1 +deps="netd make-ca iana-etc openssl" diff --git a/recipes/xbps b/recipes/xbps index 1d4f2068..a6a0ac6e 100644 --- a/recipes/xbps +++ b/recipes/xbps @@ -3,7 +3,7 @@ revision=1 from_source=xbps imagedeps="build-essential" hostdeps="xgcc xbinutils pkgconfig" -deps="base libarchive openssl zlib" +deps="base libarchive openssl zlib zstd" configure() { cp -rp ${source_dir}/* . @@ -17,5 +17,6 @@ build() { package() { make install DESTDIR=${dest_dir} + echo $JINX_ARCH sed -i "s/ARCH_HERE/${JINX_ARCH}/g" "${dest_dir}${prefix}"/share/xbps.d/00-repository-main.conf } diff --git a/recipes/zstd b/recipes/zstd new file mode 100644 index 00000000..75b73163 --- /dev/null +++ b/recipes/zstd @@ -0,0 +1,18 @@ +name=zstd +revision=1 +from_source=zstd +imagedeps="build-essential" +hostdeps="xgcc xbinutils" +deps="base" + +configure() { + cp -rp ${source_dir}/* . +} + +build() { + make CC=x86_64-astral-gcc LD=x86_64-astral-ld -j${parallelism} +} + +package() { + make install DESTDIR="${dest_dir}" PREFIX=/usr +} diff --git a/source-recipes/zstd b/source-recipes/zstd new file mode 100644 index 00000000..47ff5fda --- /dev/null +++ b/source-recipes/zstd @@ -0,0 +1,9 @@ +name=zstd +version=1.5.7 +source_method=tarball +tarball_url="https://github.com/facebook/zstd/archive/refs/tags/v${version}.tar.gz" +tarball_sha512=26e441267305f6e58080460f96ab98645219a90d290a533410b1b0b1d2f870721c95f8384e342ee647c5e968385a5b7e30c2d04340c37f59b3e6d86762c3260c + +prepare() { + true +}