[Exherbo-dev] coreutils alternatives merging notice (or, "The Coreutils Alternopocalypse 2: Electric Boogaloo")

Kylie McClain somasissounds at gmail.com
Wed Oct 14 23:51:15 UTC 2015

Hash: SHA256

Hi again everyone. I just wanted to let everyone know that I plan on merging the
coreutils alternatives changes on Saturday if no one says otherwise. The
possibility of this affecting uninterested users is gone now, since it has been
shown to work just fine by tests on Jenkins, on my computers, and by heirecka
and Keruspe's testing, per my request.

A summary of the changes, for those just tuning in...
- - GNU coreutils have had all their binaries prefixed with a 'g'.
    - This is to be like BSD OSes, which prefix GNU coreutils with 'g', as to
      not conflict with the system's utils. 'g' is the de facto prefix.
    - Autotools will pick up on these prefixed versions, since it checks
      for 'g' prefixed coreutils if it specifically wants the GNU versions.
- - An alternatives module named 'coreutils' has been made. 'gnu' is
the provider
  name for GNU coreutils.
- - sys-apps/coreutils has been removed from the system set, and has been
  replaced with a virtual package, virtual/coreutils.
- - The current other provider for coreutils is Busybox, since it's likely the
  most complete/most common replacement for it, and is the one most users will
  already be familiar with.
- - GNU coreutils remains the default for the system, and will remain
the default
  for the foreseeable future.

What this means in terms of expected compatibility:
(this is a summary of the changes that will be made to Exheres for Smarties[1])
- - All coreutils implementations should have very good compatibility with GNU
  coreutils. Common extensions that are widely used should be supported.
- - Exheres authors should avoid adding convoluted workarounds for certain
  implementations; do not let yourself start compromising code quality for
  extreme portability.
    - However, if the part of the package that requires GNU coreutils is part of
      the exheres/exlib, and it's an uncommon extension (say, GNU cp's
      --copy-contents, -T, etc.), consider revising it.
    - Rule of thumb: If it can be done in a line or so, definitely consider
      making it more portable. But if you have to recreate extensive
      functionality, just add a dependency on GNU coreutils, and use the 'g'
      prefixed utility instead.
- - Users of alternative implementations will be expected to
understand that they
  are treading into somewhat unexplored territory. This functionality is
  something which is most often only seen in embedded systems, and it hasn't
  been done on a scale this large on any multi-purpose Linux distribution.
  You will be expected to try and figure it out yourself first.

Thanks for reading, and have a good rest of the week.

[1]: https://galileo.mailstation.de/gerrit/#/c/3711
Version: Mailvelope v1.2.0
Comment: https://www.mailvelope.com


More information about the Exherbo-dev mailing list