This commit is contained in:
Haelwenn Monnier 2026-04-24 04:14:48 +02:00 committed by GitHub
commit 5bcdc6e4cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 366 additions and 11 deletions

View file

@ -52,7 +52,7 @@ Without using Python:
* Generate ``builder-hex0-x86-stage1.img`` from hex0 source: * Generate ``builder-hex0-x86-stage1.img`` from hex0 source:
``sed 's/[;#].*$//g' builder-hex0/builder-hex0-x86-stage1-hex0 | xxd -r -p`` ``sed 's/[;#].*$//g' builder-hex0/builder-hex0-x86-stage1.hex0 | xxd -r -p``
* On the first image, write ``builder-hex0-x86-stage1.img`` to it, followed * On the first image, write ``builder-hex0-x86-stage1.img`` to it, followed
by ``kernel-bootstrap/builder-hex0-x86-stage2.hex0``, followed by zeros by ``kernel-bootstrap/builder-hex0-x86-stage2.hex0``, followed by zeros
padding the disk to the next sector. padding the disk to the next sector.

View file

@ -45,7 +45,7 @@ def create_disk(image, disk_type, fs_type, size, bootable=False, mkfs_args=None)
offset = str(1024 * 1024 * (1024 if bootable else 1)) offset = str(1024 * 1024 * (1024 if bootable else 1))
run('parted', '--script', image, 'mklabel', disk_type, 'mkpart', run('parted', '--script', image, 'mklabel', disk_type, 'mkpart',
'primary', fs_type, offset + 'B', '100%') 'primary', fs_type, offset + 'B', '100%')
run('mkfs.' + fs_type, image, '-E', 'offset=' + offset, *mkfs_args) run('mkfs.' + fs_type, '-E', 'offset=' + offset, *mkfs_args, image)
def mount(source, target, fs_type, options='', **kwargs): def mount(source, target, fs_type, options='', **kwargs):
"""Mount filesystem""" """Mount filesystem"""

View file

@ -521,11 +521,11 @@ coreutils 5.0
including ``comm``, ``expr``, ``dd``, ``sort``, ``sync``, ``uname`` and including ``comm``, ``expr``, ``dd``, ``sort``, ``sync``, ``uname`` and
``uniq``. This fixes a variety of issues with existing ``coreutils``. ``uniq``. This fixes a variety of issues with existing ``coreutils``.
coreutils 6.10 utils-std 0.1.2
============== ==============
We build ``date``, ``mktemp`` and ``sha256sum`` from coreutils 6.10 which are
either missing or don't build correctly in 5.0. Other utils are not built at Replaces most of coreutils 5.0 as well as providing few more utilities like
this stage. ``date``, ``mktemp``, and ``sha256sum``.
gawk 3.0.4 gawk 3.0.4
========== ==========

View file

@ -35,7 +35,6 @@ a0156d06536936dee9e696cbf6fb41087eaa1ce5cbc5d6e0067d3fd952ba7060 bison-3.8.2_0.
e8271c1213b6cc7c9ae2ddb018cd093cbbd5f6e842548c0747ce95b13b6b9447 bzip2-1.0.8_0.tar.bz2 e8271c1213b6cc7c9ae2ddb018cd093cbbd5f6e842548c0747ce95b13b6b9447 bzip2-1.0.8_0.tar.bz2
3ab45eca94432316ee120006686cc334a23187cbb795b550601d6288ccded111 ca-certificates-3.119.1_0.tar.bz2 3ab45eca94432316ee120006686cc334a23187cbb795b550601d6288ccded111 ca-certificates-3.119.1_0.tar.bz2
982a3496ce3277c562acc896ba796939fe55a37432b2c76ab16b76e051a045a2 coreutils-5.0_0.tar.bz2 982a3496ce3277c562acc896ba796939fe55a37432b2c76ab16b76e051a045a2 coreutils-5.0_0.tar.bz2
27f283c42e2728d0d0682d56ada44b11ff11d07843e595c133a43f4c6aef53d0 coreutils-6.10_0.tar.bz2
61f5a1654935fbfd5358116bf2267236676aace3370cc6aaf8ff4fb1b4d020b2 coreutils-9.4_0.tar.bz2 61f5a1654935fbfd5358116bf2267236676aace3370cc6aaf8ff4fb1b4d020b2 coreutils-9.4_0.tar.bz2
912a256dd9a17deb6b48d1fe4c435313b242fa3bb63afef726e7c8ebe0b6a8ca curl-8.17.0_0.tar.bz2 912a256dd9a17deb6b48d1fe4c435313b242fa3bb63afef726e7c8ebe0b6a8ca curl-8.17.0_0.tar.bz2
a49f13bb73144bf9a8e70bc27cc7e0adce0f136762da82fc05e77c0382628c0f curl-8.17.0_1.tar.bz2 a49f13bb73144bf9a8e70bc27cc7e0adce0f136762da82fc05e77c0382628c0f curl-8.17.0_1.tar.bz2
@ -58,7 +57,7 @@ fab35816abfdabad877fb3a0e2ce48501dc34987d46f170065991f8a3ff85b5e gc-8.2.12_0.ta
d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2 d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2
2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2 2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2
931f105104b446dff5be30927e6e98d798844e6cd446b246f30def11984a9587 gcc-4.7.4_0.tar.bz2 931f105104b446dff5be30927e6e98d798844e6cd446b246f30def11984a9587 gcc-4.7.4_0.tar.bz2
38b015fe07ed755377b78f8ac8815d8bb57fa8c79293110522231250a6ad8a6f gettext-0.26_0.tar.bz2 657d077d52e945aa0de47dc94295c9aae1c9dfb2c12e96f4e3dee6d067009c8c gettext-0.26_0.tar.bz2
96f33b53c24f5f46a23c2b9eef8147e684c796889a83bdd39254a73393594a49 gmp-6.2.1_0.tar.bz2 96f33b53c24f5f46a23c2b9eef8147e684c796889a83bdd39254a73393594a49 gmp-6.2.1_0.tar.bz2
061bb98da6364ea67c4c1a515ffe06296b4dea045ba3d1b5e229416103f50688 gperf-3.3_0.tar.bz2 061bb98da6364ea67c4c1a515ffe06296b4dea045ba3d1b5e229416103f50688 gperf-3.3_0.tar.bz2
c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2 c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2
@ -149,6 +148,7 @@ ab49972345d0c05f79b9370530829792e8c5c3b7fe283fc90e1dff26c2d0f6db tcc-0.9.27_2.t
8576a7c99802bb462dd044ef7df7263192f1acfabde47462afd6145ffec1e4f1 tcc-0.9.27_3.tar.bz2 8576a7c99802bb462dd044ef7df7263192f1acfabde47462afd6145ffec1e4f1 tcc-0.9.27_3.tar.bz2
252cc7226bef56e9dc591433ab2176cf1dd54dd18de20535edb708d5c6c21dce texinfo-7.2_0.tar.bz2 252cc7226bef56e9dc591433ab2176cf1dd54dd18de20535edb708d5c6c21dce texinfo-7.2_0.tar.bz2
b54b1aa40dc08eec51982fd581a64a900e2598ba29acc6ca9c2b1b2321603b49 util-linux-2.19.1_0.tar.bz2 b54b1aa40dc08eec51982fd581a64a900e2598ba29acc6ca9c2b1b2321603b49 util-linux-2.19.1_0.tar.bz2
3174cad919aaa754f440a8c612a74660ca18f8b60ba1ff9b4647fa2d131a884f utils-std-0.2.0_0.tar.bz2
be2cddd4061b6e3acb96f12b66e6c1d0d17b7fd992015ece28ec987df0bb4911 which-2.23_0.tar.bz2 be2cddd4061b6e3acb96f12b66e6c1d0d17b7fd992015ece28ec987df0bb4911 which-2.23_0.tar.bz2
d7357c5a73e4a0adb07220392316185716c42003fe7e63b63ba8493f12f3621b xz-5.6.4_0.tar.bz2 d7357c5a73e4a0adb07220392316185716c42003fe7e63b63ba8493f12f3621b xz-5.6.4_0.tar.bz2
9b10db90e06129fd174d48edb60a6d1e2fa72944fccef420431f8e836adcf972 zlib-1.3.1_0.tar.bz2 9b10db90e06129fd174d48edb60a6d1e2fa72944fccef420431f8e836adcf972 zlib-1.3.1_0.tar.bz2

View file

@ -37,7 +37,8 @@ src_prepare() {
src_configure() { src_configure() {
# defrag fails to build with musl 1.2.4 # defrag fails to build with musl 1.2.4
./configure --prefix="${PREFIX}" \ INSTALL='/usr/bin/install -c -D' \
./configure --prefix="${PREFIX}" \
--sbindir="${PREFIX}/bin" \ --sbindir="${PREFIX}/bin" \
--disable-tls \ --disable-tls \
--disable-defrag \ --disable-defrag \

View file

@ -27,7 +27,7 @@ src_install() {
# We "compile" the headers here because it is easier # We "compile" the headers here because it is easier
for d in include/uapi arch/x86/include/uapi; do for d in include/uapi arch/x86/include/uapi; do
cd "${d}" cd "${d}"
find . -type d -exec mkdir "${DESTDIR}${PREFIX}/include/{}" -p \; find . -type d -exec mkdir -p "${DESTDIR}${PREFIX}/include/{}" \;
headers="$(find . -type f -name "*.h")" headers="$(find . -type f -name "*.h")"
cd "${base_dir}" cd "${base_dir}"
for h in ${headers}; do for h in ${headers}; do

View file

@ -78,7 +78,7 @@ build: bison-3.4.1
build: bison-3.4.1 build: bison-3.4.1
build: diffutils-2.7 build: diffutils-2.7
build: coreutils-5.0 build: coreutils-5.0
build: coreutils-6.10 build: utils-std-0.2.0
build: gawk-3.0.4 build: gawk-3.0.4
build: perl-5.000 build: perl-5.000
build: perl-5.003 build: perl-5.003

View file

@ -0,0 +1,26 @@
# SPDX-FileCopyrightText: 2025 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
sed -i s/_Noreturn// libutils/err.h
# getconf: to avoid changing libtool checksums, although likely means better values
# which: to avoid changing checksums of packages like perl-5.36.3_0
sed -i '/^commands="$/,/^"$/{ s,getconf,, ; s,which,, }' configure
}
src_configure() {
chmod +x configure
./configure PREFIX="${PREFIX}" CC=tcc AR=tcc\ -ar
# Fiwix (as of 1.7.0) doesn't have sendfile(2), copy_file_range(2), syncfs(2), posix_fadvise(2)
sed -i \
-e /HAS_SENDFILE/d \
-e /HAS_COPY_FILE_RANGE/d \
-e /HAS_SYNCFS/d \
-e /HAS_POSIX_FADVISE/d \
config.h
}

View file

@ -0,0 +1,327 @@
From 33c49ee8a3664dd1fe6ad671ecb9b1e6b1985321 Mon Sep 17 00:00:00 2001
From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
Date: Thu, 23 Apr 2026 23:44:11 +0200
Subject: [PATCH] Turn posix_fadvise conftest into proper HAS_* #ifdef macro
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
X-Contrib-Policy: CONTRIBUTING.md 2026-03-12
---
cmd/cat.c | 2 ++
cmd/cksum.c | 7 ++++---
cmd/cmp.c | 4 ++++
cmd/head.c | 2 ++
cmd/install.c | 2 ++
cmd/mv.c | 2 ++
cmd/sha1sum.c | 14 ++++++++------
cmd/sha256sum.c | 14 ++++++++------
cmd/sha512sum.c | 14 ++++++++------
cmd/split.c | 4 ++++
cmd/wc.c | 4 ++++
configure | 2 +-
12 files changed, 49 insertions(+), 22 deletions(-)
diff --git utils-std-0.2.0/cmd/cat.c utils-std-0.2.0/cmd/cat.c
index 54f3fe2..964b910 100644
--- utils-std-0.2.0/cmd/cat.c
+++ utils-std-0.2.0/cmd/cat.c
@@ -84,8 +84,10 @@ main(int argc, char *argv[])
return 1;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
errno = 0;
+#endif
if(auto_fd_copy(fd, STDOUT_FILENO, SSIZE_MAX) < 0)
{
diff --git utils-std-0.2.0/cmd/cksum.c utils-std-0.2.0/cmd/cksum.c
index bd7516f..fb19999 100644
--- utils-std-0.2.0/cmd/cksum.c
+++ utils-std-0.2.0/cmd/cksum.c
@@ -148,13 +148,14 @@ main(int argc, char *argv[])
return 1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
filename,
- strerror(ret));
+ strerror(errno));
+#endif
}
int err = 0;
diff --git utils-std-0.2.0/cmd/cmp.c utils-std-0.2.0/cmd/cmp.c
index 2f39693..e2b1fd3 100644
--- utils-std-0.2.0/cmd/cmp.c
+++ utils-std-0.2.0/cmd/cmp.c
@@ -254,7 +254,9 @@ main(int argc, char *argv[])
return 2;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd1, 0, 0, POSIX_FADV_SEQUENTIAL);
+#endif
}
if(fd2 != STDIN_FILENO)
@@ -271,7 +273,9 @@ main(int argc, char *argv[])
return 2;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd2, 0, 0, POSIX_FADV_SEQUENTIAL);
+#endif
}
int ret = do_cmp(file1, argv[0], file2, argv[1]);
diff --git utils-std-0.2.0/cmd/head.c utils-std-0.2.0/cmd/head.c
index c34675f..d75c267 100644
--- utils-std-0.2.0/cmd/head.c
+++ utils-std-0.2.0/cmd/head.c
@@ -51,7 +51,9 @@ copy_bytes(const char *filename)
return 1;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
+#endif
}
int err = 0;
diff --git utils-std-0.2.0/cmd/install.c utils-std-0.2.0/cmd/install.c
index 16922b2..36d6979 100644
--- utils-std-0.2.0/cmd/install.c
+++ utils-std-0.2.0/cmd/install.c
@@ -137,9 +137,11 @@ do_install(char *src, char *dest, bool is_dir)
if(opt_v) fprintf(stderr, "%s: Made file: %s\n", argv0, dest);
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(src_fd, 0, 0, POSIX_FADV_SEQUENTIAL);
posix_fadvise(dest_fd, 0, 0, POSIX_FADV_SEQUENTIAL);
errno = 0;
+#endif
if(auto_file_copy(src_fd, dest_fd, src_stat.st_size, 0) < 0)
{
diff --git utils-std-0.2.0/cmd/mv.c utils-std-0.2.0/cmd/mv.c
index 545697a..51d2830 100644
--- utils-std-0.2.0/cmd/mv.c
+++ utils-std-0.2.0/cmd/mv.c
@@ -116,9 +116,11 @@ copy_file_unlink(struct named_fd srcdir,
errno = 0;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(in, 0, 0, POSIX_FADV_SEQUENTIAL);
posix_fadvise(out, 0, 0, POSIX_FADV_SEQUENTIAL);
errno = 0;
+#endif
if(auto_file_copy(in, out, src_status.st_size, 0) < 0) return -1;
diff --git utils-std-0.2.0/cmd/sha1sum.c utils-std-0.2.0/cmd/sha1sum.c
index 5b23e63..9eed061 100644
--- utils-std-0.2.0/cmd/sha1sum.c
+++ utils-std-0.2.0/cmd/sha1sum.c
@@ -135,13 +135,14 @@ check(FILE *file, const char *filename)
return -1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
target,
- strerror(ret));
+ strerror(errno));
+#endif
char got[SHA1SUM_LEN] = "";
if(sha1sum(fd, target, got) < 0) err = 1;
@@ -285,13 +286,14 @@ main(int argc, char *argv[])
return 1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
filename,
- strerror(ret));
+ strerror(errno));
+#endif
}
int err = 0;
diff --git utils-std-0.2.0/cmd/sha256sum.c utils-std-0.2.0/cmd/sha256sum.c
index c34612c..9fd45cf 100644
--- utils-std-0.2.0/cmd/sha256sum.c
+++ utils-std-0.2.0/cmd/sha256sum.c
@@ -135,13 +135,14 @@ check(FILE *file, const char *filename)
return -1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
target,
- strerror(ret));
+ strerror(errno));
+#endif
char got[SHA256SUM_LEN] = "";
if(sha256sum(fd, target, got) < 0) err = 1;
@@ -285,13 +286,14 @@ main(int argc, char *argv[])
return 1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
filename,
- strerror(ret));
+ strerror(errno));
+#endif
}
int err = 0;
diff --git utils-std-0.2.0/cmd/sha512sum.c utils-std-0.2.0/cmd/sha512sum.c
index ac1e706..559b102 100644
--- utils-std-0.2.0/cmd/sha512sum.c
+++ utils-std-0.2.0/cmd/sha512sum.c
@@ -135,13 +135,14 @@ check(FILE *file, const char *filename)
return -1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
target,
- strerror(ret));
+ strerror(errno));
+#endif
char got[SHA512SUM_LEN] = "";
if(sha512sum(fd, target, got) < 0) err = 1;
@@ -285,13 +286,14 @@ main(int argc, char *argv[])
return 1;
}
- int ret = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL);
- if(ret != 0)
+#ifdef HAS_POSIX_FADVISE
+ if((errno = posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
fprintf(stderr,
"%s: warning: posix_fadvise failed on file '%s': %s\n",
argv0,
filename,
- strerror(ret));
+ strerror(errno));
+#endif
}
int err = 0;
diff --git utils-std-0.2.0/cmd/split.c utils-std-0.2.0/cmd/split.c
index b29c536..2aae19b 100644
--- utils-std-0.2.0/cmd/split.c
+++ utils-std-0.2.0/cmd/split.c
@@ -81,8 +81,10 @@ split_bytes(void)
return 1;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd_in, 0, 0, POSIX_FADV_SEQUENTIAL);
errno = 0;
+#endif
int err = 0;
off_t wrote = 0;
@@ -101,8 +103,10 @@ split_bytes(void)
break;
}
+#ifdef HAS_POSIX_FADVISE
posix_fadvise(fd_out, 0, 0, POSIX_FADV_SEQUENTIAL);
errno = 0;
+#endif
int ret = auto_file_copy(fd_in, fd_out, bytes, 0);
if(ret < 0)
diff --git utils-std-0.2.0/cmd/wc.c utils-std-0.2.0/cmd/wc.c
index 9a3c5ea..e00d517 100644
--- utils-std-0.2.0/cmd/wc.c
+++ utils-std-0.2.0/cmd/wc.c
@@ -289,6 +289,7 @@ main(int argc, char *argv[])
argc -= optind;
argv += optind;
+#ifdef HAS_POSIX_FADVISE
if((errno = posix_fadvise(STDIN_FILENO, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
{
if(errno != ESPIPE)
@@ -300,6 +301,7 @@ main(int argc, char *argv[])
}
errno = 0;
}
+#endif
if(argc < 1)
{
@@ -331,6 +333,7 @@ main(int argc, char *argv[])
return 1;
}
+#ifdef HAS_POSIX_FADVISE
if((errno = posix_fadvise(arg_fd, 0, 0, POSIX_FADV_SEQUENTIAL)) != 0)
{
fprintf(stderr,
@@ -340,6 +343,7 @@ main(int argc, char *argv[])
strerror(errno));
errno = 0;
}
+#endif
if(wc_file(arg_fd, path) < 0) return 1;
diff --git utils-std-0.2.0/configure utils-std-0.2.0/configure
index 2600211..2324472 100755
--- utils-std-0.2.0/configure
+++ utils-std-0.2.0/configure
@@ -278,7 +278,7 @@ add_commands() {
check_conftest configure.d/o_path.c && add_commands ln
# OpenBSD lacks posix_fadvise
-check_conftest configure.d/posix_fadvise.c || cpp_define 'posix_fadvise(fd, off, len, adv) 0'
+check_conftest configure.d/posix_fadvise.c && cpp_define HAS_POSIX_FADVISE
rm -f configure.d/*.bin
--
2.52.0

View file

@ -0,0 +1 @@
f https://distfiles.hacktivis.me/releases/utils-std/utils-std-0.2.0.tar.gz 432bb4dca9801202686e08d9361d1704abbe0c3a5294d351356ef9075daa7b39