Here's my first draft proposal for commands and utilities. I'm sure it can be improved upon. Things I know need work:
1) There may be more commands that should be specified (e.g. the package manager, /sbin/shutdown). 2) Where else should we diverge from UNIX98? Am I missing other things we do differently? Do we try to fix util-linux or just say we do things the util-linux way? Seriously, util-linux has more noncomforming but properly named and proper basic funcionality commands than any other package. 3) Other ideas, questions, comments, suggetsions? Please, if you find a Free Software/Open Source version of one of the programs listed with an N in the Linux column on the web page, let me know. Note that this week I'll probably be submitting patches to the maintainers of several of the programs that are nearly compliant, so keep an eye on the web page for updates. ---- 8< -- 8< -- Begin proposal -- 8< -- 8< ---- Linux Standard Base Commands and Utilities Initial Proposal, v. 0.1 Introduction ------------ In an effort to maintain a commonality between Linux based operating systems and other GNU-like operating systems, LSB uses as the basis for its command and utility list the list of commands from the Single UNIX Specification, version 2, also known as UNIX98. However, in some cases it is either not possible for Linux based operating systems to comply and remain completely Free Software/Open Source, and in other cases a different program is more widely used on Linux based operating systems that provides the same functionality. Those places where LSB diverges from UNIX98 are detailed here, with rationale for each. For a listing of commands and utilities specified by UNIX98, along with a link to descriptions of how each command should operate and a note as to what package a Free Software/Open Source version of that command is available, see http://www.linuxbase.org/cu/ Divergences ----------- SCCS commands - admin, delta, get, prs, rmdel, sact, sccs, unget, val, what Divergence: These commands are not required by LSB. Instead, {RCS and/or CVS} are specified for LSB compliance. Rationale: These commands are part of the SCCS package, a method of managing and controlling revisions to files. I am not aware of a Free Software implementation of SCCS. However, RCS and CVS do similar jobs, are available as Free Software, and are presently in widespread use on Linux-based operating systems. Compression commands - pack, unpack, pcat, compress, uncompress, zcat Divergence: These commands are not required by LSB. Instead, the equivalent commands (gzip, gunzip, and zcat) from GNU Zip are specified for LSB compliance. Rationale: Compress uses a patented algorithm and is therefore tricky to redistribute. Pack is marked as a legacy command in UNIX98. GNU Zip is Free Software unencumbered by patents, and also quite often produces better compression ratios than compress, as well as being the current de facto standard for compressed file distribution on Linux-based operating systems and other GNU-like operating systems. Printing commands - cancel, lp, lpstat, pr Divergence: These commands are not required by LSB. Instead, the BSD printing commands (lpq, lpr, lprm, lptest, lpc, lpd, lpf, and pac). Rationale: These commands are from the System V style of managing printers. Linux-based operating systems tend to use the BSD family of printing tools. Archiving utilities - cpio, pax, tar Divergence: UNIX98 marks cpio and tar as legacy and pax as mandatory. LSB marks cpio and tar as mandatory and makes pax optional. Rationale: Both tar and cpio are widely used in current package formats for Linux-based operating systems (cpio being used by RPM and tar being used by basically all software distribution). ---- 8< -- 8< -- End proposal -- 8< -- 8< ---- -- Jakob 'sparky' Kaivo - [EMAIL PROTECTED] - http://www.ndn.net/ "As time goes on, my signature gets shorter and shorter..." - me
