Difference between revisions of "Base2plan9"

From ArchWiki
Jump to navigation Jump to search
m (Supporting binary sources: use AUR template)
m ({{AUR|gnu2plan9-coreutils}}: no formatting in section headings, see Help:Style)
Line 20: Line 20:
Package is available in the AUR: {{AUR|gnu2plan9-coreutils}}.
Below is a list of the origin of different utilities in this package.  
Below is a list of the origin of different utilities in this package.  

Revision as of 20:32, 1 October 2013

The base2plan9 project aims to offer drop-in replacements for various central parts of the Arch linux base system.

IMPORTANT: Do not expect 100% drop-in replacement and compatibility. Certain utilities may not exist and for those that do, there may be missing options. One purpose of this Wiki is to document missing features and the problems they cause (in order to devise work-arounds). Make sure that the replacement(s) that you install fill your needs before proceeding.

Why change GNU (and other base components) to Plan9(port)?

In contrast to the base2busybox project, the size gain is not as much of a compelling reason. Other reasons could be:

  • an interest and devotion to Plan9 and its post-UNIX ambitions
  • anti-GNU sentiments
  • out of curiosity

Supporting binary sources

Currently, the gnu2plan9 packages need support to offer a drop-in replacement of GNU coreutils. This is at the moment provided by busybox and the gnu2ucb Heirloom profile. Ideally, missing functionality should be patched up with projects more closely aligned to Plan9, like inferno-osAUR and goblin-gitAUR. The aim is to make the different "base2foo" projects as independent of eachother as possible since the whole point of the projects is to increase choice and diversity. For the base2plan9 project, the first priority is to cover missing functionality and second priority to try to reduce (or ideally remove) the busybox dependency.


Package is available in the AUR: gnu2plan9-coreutilsAUR.

Below is a list of the origin of different utilities in this package.



   cat date dd du echo lc ls mc mkdir rc rm sleep

rc, mc and lc are "extras" added to this package which do not exist in GNU coreutils


   basename comm factor fmt join md5sum pr seq
   sha1sum sort split sum tee test wc

Custom scripts

The following missing functionalities are implemented as rc scripts


   false true


   sha224sum sha256sum sha384sum sha512sum

the sha*sum scripts point to the perl-digest-shaAUR. Ideally as few external dependencies possible would be nice. Can we use plan9port sha1sum for the other sums too? Ideas welcome.


ucb binaries


   chown df install ln stty

posix2001 binaries


   csplit expr nl 

s42 binaries


   cp mv

posix binaries


   chmod rmdir


   id nohup od who

SysV binaries


   cut mkfifo mknod pwd su sync uname 


   cksum dirname env expand fold head logname
   nice paste patchchk printenv printf tsort
   tty unexpand uniq users whoami yes


Busybox is needed for the following utilities:

   readlink [ base64 hostid mktemp stat tac chroot

Missing utilities

Some utilities are not offered by neither Plan9port, custom scripts, Heirloom nor Busybox.


   dir dircolors shred vdir 


   chcon link nproc pinky ptx runcon shuf stdbuf timeout truncate unlink