All of lore.kernel.org
 help / color / mirror / Atom feed
From: Collin Funk <collin.funk1@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Etienne Cordonnier <ecordonnier@snap.com>
Subject: Re: [PATCH] uutils-coreutils: move from meta-openembedded
Date: Sat, 10 Oct 2026 11:33:41 -0700	[thread overview]
Message-ID: <87pkxh2ynu.fsf@gmail.com> (raw)
In-Reply-To: <20261010113029.2347847-1-ecordonnier@snap.com>

Etienne Cordonnier <ecordonnier@snap.com> wrote:

> uutils-coreutils, the Rust reimplementation of GNU coreutils, is mature
> enough for production use, so move the recipe from meta-oe to oe-core.
> It provides and rprovides coreutils, and is excluded from world unless
> selected as the coreutils provider.

Total disregard for the requirements imposed by the GPL is helpful to it
being "mature enough for production use", of course. See the downplayed
mention in the 0.12.0 release notes:

    Also, some contributions had carried comments and code over from GNU
    coreutils, against our own rule that uutils is an original
    implementation. We reviewed the tree and rewrote what we found, in
    comments and in the few functions that followed the C too closely;
    no behaviour change. The GNU coreutils maintainers have been
    notified.

> +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"

This summary reads as if it is trying to claim that uutils is the
official GNU coreutils project.

I'm not familiar enough with openembedded, but a concern raised by other
distributions and me is that supporting two packages as "coreutils"
increases maintainers' workload because the implementations are bound to
diverge, requiring otherwise unnecessary code churn. E.g., for around a
year, Ubuntu 26.04 had the following:

    $ export LC_ALL=en_US.UTF-8
    $ printf 'USA\nU.S.A\nU-S-A\n' | sort -u
    USA
    $ printf 'USA\nU.S.A\nU-S-A\n' | gnusort -u
    U-S-A
    U.S.A
    USA

It still has the following issue [1]:

    $ export LC_ALL=en_US.UTF-8
    $ echo a A b B | tr ' ' '\n' | sort > tst1.txt
    $ echo a A b C | tr ' ' '\n' | sort > tst2.txt
    $ comm -23 tst1.txt tst2.txt
    comm: file 1 is not in sorted order
    comm: file 2 is not in sorted order
    B
    comm: input is not in sorted order
    $ gnucomm -23 tst1.txt tst2.txt
    B

Collin

[1] https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2169780


  reply	other threads:[~2026-10-11  2:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-10 11:30 [PATCH] uutils-coreutils: move from meta-openembedded ecordonnier
2026-10-10 18:33 ` Collin Funk [this message]
2026-10-11 16:23   ` [OE-core] " Yoann Congal
2026-10-12 13:04 ` Alexander Kanavin
2026-10-12 21:13   ` Etienne Cordonnier
2026-10-12 22:58     ` Collin Funk
2026-10-13  7:41     ` Alexander Kanavin
2026-10-13  8:13       ` Yoann Congal
2026-10-13 10:02       ` Etienne Cordonnier
2026-10-13 10:24         ` Alexander Kanavin
2026-10-13 10:54         ` Alexander Kanavin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pkxh2ynu.fsf@gmail.com \
    --to=collin.funk1@gmail.com \
    --cc=ecordonnier@snap.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.