From f4c9a32a111652ed4a454f6a6d7d7d0091b983e4 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Wed, 15 Apr 2020 00:30:59 -0500 Subject: Add "other packages" section to roadmap explaining what Linux From Scratch packages toybox commands provide partial or complete replacements for. --- www/roadmap.html | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) mode change 100755 => 100644 www/roadmap.html diff --git a/www/roadmap.html b/www/roadmap.html old mode 100755 new mode 100644 index 81dc6ff3..5eba3acc --- a/www/roadmap.html +++ b/www/roadmap.html @@ -41,6 +41,7 @@ and progress towards implementing it.

  • Miscelaneous: klibc, glibc, sash, sbase, uclinux...
  • +
  • Other Packages

  • @@ -1101,5 +1102,198 @@ ascii crc32 devmem fmt i2cdetect i2cdump i2cget i2cset mcookie prlimit sntp ulim +
    + +

    Other packages

    + +

    System administrators have asked what other Linux packages toybox commands +replace, so they can annotate alternatives in their package management system.

    + +

    This section uses the package definitions from Chapter 6 of +Linux From Scratch 9.0). Each package lists what we currently +replace, pending commands [in square brackets], and what we DON'T plan to +implement.

    + +

    Each "see also" note means the listed package also installs the listed shared +libraries. (While toybox contains equivalent functionality to a lot of these +shared libraries in its lib/ directory, it does not currently provide a shared +library interface.)

    + +

    Packages toybox plans to provide complete-ish replacents for:

    + + +

    Commentary: toybox init doesn't do runlevels, man and vim are just the +relevant commands without the piles of strange overgrowth, and if you want +to call a toybox binary by another name you can create a symlink to a +symlink. If somebody really wants to argue for "gzexe" or similar, be +my guest, but there's a lot of obsolete crap in shadow, coreutils, +util-linux...

    + +

    No idea why LFS is installing inetutils instead of net-tools +(which contains arp route ifconfig mii-tool nameif netstat and rarp that +toybox does or might implement, and plipconfig slattach that it probably won't.)

    + +

    Packages toybox plans to provide partial replacents for:

    + +

    Toybox provides replacements for some binaries from these packages, +but there are other useful binaries which this package provides that toybox +currently considers out of scope for the project:

    + + + +

    Toybox provides several decompressors but compresses to a single format +(deflate, ala gzip/zlib). Our e2fsprogs doesn't currently plan to support +ext4 or defrag. The "qcc" reference is because someday an external project to glue +QEMU's Tiny Code Generator +to Fabrice Bellard's old Tiny C Compiler +making a multicall binary that does cc/ld/as for all the targets QEMU +supports (then use the +LLVM C Backend +to compile LLVM itself to C for use as a modern replacement for +cfront to bootstrap +C++ code) is under consideration +as a successor project to toybox. Until then things like objdump -d +(requiring target-specific disassembly for an unbounded number of architectures) +are out of scope for toybox. (This means drawing the line somewhere between +architecture-specific support in file and strace, and including a full +assembler for each architecture.)

    + + +

    Packages from LFS ch6 toybox does NOT plan to replace:

    + + + +

    That said, we do implement our own zlib and readline replacements, and +presumably _could_ export them as library bindings. Plus we provide +our own version of a bunch of the section 1 man pages (as command help). +Possibly libcap and acl are interesting?

    + +

    Misc

    + +

    The kbd package has over a dozen commands, we only implement chvt. The +iproute2 package implements over a dozen commands, there's an "ip" in +pending but I'm not a fan (ifconfig and route and such should be extended +to work properly). We don't implement eudev, but toybox's maintainer +created busybox mdev way back when (which replaces it) and plans to do a +new one for toybox as soon as we work out what subset is still needed now that +devtmpfs is available.

    + -- cgit v1.2.3