Skip to content

[POC] utils-std-0.1.1 instead of coreutils-5.0/pass2 & coreutils-6.10#565

Draft
lanodan wants to merge 6 commits intofosslinux:masterfrom
lanodan:utils-std
Draft

[POC] utils-std-0.1.1 instead of coreutils-5.0/pass2 & coreutils-6.10#565
lanodan wants to merge 6 commits intofosslinux:masterfrom
lanodan:utils-std

Conversation

@lanodan
Copy link

@lanodan lanodan commented Jan 25, 2026

Draft Pull Request for now as it's pretty experimental:

  • utils-std doesn't yet provides a full set of utilities

@lanodan lanodan changed the title use utils-std-0.1.1 instead of coreutils-5.0/pass2 & coreutils-6.10 [POC] utils-std-0.1.1 instead of coreutils-5.0/pass2 & coreutils-6.10 Jan 25, 2026
Copy link
Owner

@fosslinux fosslinux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooh, good find!

}

src_configure() {
./configure PREFIX="${PREFIX:-/usr}" CC=tcc AR=tcc\ -ar
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need the :-/usr :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think @lanodan found it. I've got an impression that he wrote these.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's a set of utilities I maintain (wrote some but also lifted some from BSD when I'd essentially write the same kind of code).

(Will strip out /usr either after FOSDEM or once I debug the failed bootstraps packages a bit more)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent work!

@lanodan lanodan force-pushed the utils-std branch 2 times, most recently from 158e6b1 to 35f7acb Compare February 12, 2026 02:55
utils-std-0.1.1 doesn't replaces coreutils-5.0/pass1 due to depending on:
* A shell for ./configure, making the bash implicit jump messy
* POSIX C interfaces which mes-libc lacks

Also coreutils-6.10 is only for utilities which utils-std provides:
date, mktemp, sha256sum
@lanodan
Copy link
Author

lanodan commented Feb 12, 2026

Ah, I think I know why findutils wasn't working right, musl-1.1.24 misses reallocarray and I haven't put a fallback in utils-std so tr, cut, df, join got excluded.

@lanodan
Copy link
Author

lanodan commented Feb 13, 2026

Diff of perl-5.36.3_0 looks quite interesting but sadly gives off no hints as to why.

diff --git a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
index f17d6a6..8cae4b6 100644
--- a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
+++ b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
@@ -96,7 +96,7 @@ sub AUTOLOAD {
     inc_version_list => '5.30.3 5.24.4 5.22.4 5.18.4 5.17.4 5.17.2 5.16.3 5.15.7 5.12.5 5.8.9',
     intsize => '4',
     ldlibpthname => 'LD_LIBRARY_PATH',
-    libpth => '/usr/lib /lib',
+    libpth => '/usr/lib',
     osname => 'linux',
     osvers => '4.14.0',
     path_sep => ':',
diff --git a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
index c9b6ca8..4deed3c 100644
--- a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
+++ b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
@@ -1086,12 +1086,12 @@ sub myconfig {
 libc=''
 libdb_needs_pthread='N'
 libperl='libperl.a'
-libpth='/usr/lib /lib'
+libpth='/usr/lib'
 libs=' '
 libsdirs=''
 libsfiles=''
 libsfound=''
-libspath=' /usr/lib /lib'
+libspath=' /usr/lib'
 libswanted='cl pthread socket inet nsl gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
 libswanted_uselargefiles=''
 line=''

@stikonas
Copy link
Collaborator

Diff of perl-5.36.3_0 looks quite interesting but sadly gives off no hints as to why.

diff --git a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
index f17d6a6..8cae4b6 100644
--- a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
+++ b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config.pm
@@ -96,7 +96,7 @@ sub AUTOLOAD {
     inc_version_list => '5.30.3 5.24.4 5.22.4 5.18.4 5.17.4 5.17.2 5.16.3 5.15.7 5.12.5 5.8.9',
     intsize => '4',
     ldlibpthname => 'LD_LIBRARY_PATH',
-    libpth => '/usr/lib /lib',
+    libpth => '/usr/lib',
     osname => 'linux',
     osvers => '4.14.0',
     path_sep => ':',
diff --git a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
index c9b6ca8..4deed3c 100644
--- a/reference_artifact/internal_pass2_image/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
+++ b/utils-std_artifacts/perl-5.36.3_0/usr/lib/perl5/5.36.3/i686-linux/Config_heavy.pl
@@ -1086,12 +1086,12 @@ sub myconfig {
 libc=''
 libdb_needs_pthread='N'
 libperl='libperl.a'
-libpth='/usr/lib /lib'
+libpth='/usr/lib'
 libs=' '
 libsdirs=''
 libsfiles=''
 libsfound=''
-libspath=' /usr/lib /lib'
+libspath=' /usr/lib'
 libswanted='cl pthread socket inet nsl gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
 libswanted_uselargefiles=''
 line=''

very strange... And so late in the bootstrap. That's well after we switch to coreutils 9.4... How much do we care about this given that /lib is a symlink to /usr/lib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants