I'm sponsoring this fast-track request on behalf of Roland Mainz and the ksh93-integration project. It consists of more commands being converted to use internal ksh93 builtins.
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: more ksh93 command conversions 1.2. Name of Document Author/Supplier: Author: Roland Mainz 1.3 Date of This Document: 20 April, 2009 4. Technical Description Please note that this is an *open* case. The release binding is the same as with the previous ksh93 project: a patch/micro release of Solaris delivering through OS/Net Stability levels are as described below. Additional materials (man pages and diffs) can be found in the 'materials/' subdirectory. This project is an amendment to the Korn Shell 93 Integration project (PSARC/2006/550, PSARC/2006/587, PSARC/2007/035, PSARC/2008/094, PSARC/2008/344, PSARC/2009/063 and PSARC/2009/248) and depends on PSARC/2009/248, specifying the following additional interfaces: 1) An enhanced version of the "cksum" utility and an identical ksh93 built-in command 2) An enhanced version of the "head" utility and an identical ksh93 built-in command 3) An enhanced version of the "join" utility and an identical ksh93 built-in command 4) An enhanced version of the "logname" utility and an identical ksh93 built-in command 5) An enhanced version of the "mkfifo" utility and an identical ksh93 built-in command 6) An enhanced version of the "tail" utility and an identical ksh93 built-in command 7) An enhanced version of the "tee" utility and an identical ksh93 built-in command Bug/RFE Number(s): 6793763 RFE: Update /usr/bin/ksh93 to ast-ksh.2009-03-10 6828692 RFE: Update /usr/bin/cksum to AT&T AST "cksum" 6805812 RFE: Update /usr/bin/head to AT&T AST "head" 6805813 RFE: Update /usr/bin/join to AT&T AST "join" 6828644 RFE: Update /usr/bin/logname to AT&T AST "logname" 6805814 RFE: Update /usr/bin/mkfifo to AT&T AST "mkfifo" 6790507 RFE: Update /usr/bin/tail and /usr/xpg4/bin/tail to AT&T AST "tail" 6805819 RFE: Update /usr/bin/tee to AT&T AST "tee" Interface Stability Description --------- --------- ----------- /usr/bin/cksum Commited cksum command /usr/bin/head Commited head command /usr/bin/join Commited join command /usr/bin/logname Commited logname command /usr/bin/mkfifo Commited mkfifo command /usr/bin/tail [1] tail command /usr/xpg4/bin/tail [1] XPG4 tail command /usr/bin/tee Commited tee command [1]=Stabiltiy for /usr/bin/tail and /usr/xpg4/bin/tail is "Commited" except for "Uncommited" options "-q"/"--quiet" which are GNU-only and option "-b" which is now "Commited Obsolete". ##### Introduction: This case proposes to deliver the following features as a set of independent putbacks as they become available. Each feature is self contained and independent of the others, so out of order and partial putbacks at this granularity should have no adverse impact on the functionality and behavior of the system as a whole. #### Part 1: Enhancement of /usr/bin/cksum The first part of this project specifies an enhancement to /usr/bin/cksum and a new ksh93 built-in with the same name based on the AT&T AST "cksum" command. The AT&T version of the "cksum" utility provides extensions not present in the current Solaris "cksum" utility, which are useful for small applications to generate hash sums (for example using the MD5 hash for MIME "Content-MD5:"-headers). The AT&T AST version of the "cksum" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- -a, --all -b, --binary -B, --scale -c, --check -h, --header -l, --list -p, --permissions -R, --recursive -S, --silent|status -t, --total -T, --text -w, --warn -x, --method|algorithm (default is "cksum") -L, --logical|follow -H, --metaphysical -P, --physical -r, --bsd -s, --sysv --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/cksum" command and built-in command-line interface and the system variables documented in cksum(1) and specified by IEEE Std 1003.1-2008 is "Committed". Note that the implementation will take the specified output format string "%u %d %s\n" <checksum>, <# of octets>, <path name> now literally, previously implementation used a <tab> instead of <space> between %u and %d (the POSIX standard allows both <tab> and <space>, however GNU and BSD implementations use <space> and no other implementation except Solaris was found which uses <tab>). The "cksum" command will (re-)use the existing codepath for /usr/bin/sum which uses libmd to use Solaris's native&&optimized versions for ciphers like MD5 and the SHA*-family. #### Part 2: Enhancement of /usr/bin/head The second part of this project specifies an enhancement to /usr/bin/head based on the AT&T AST "head" command. The AT&T AST version of the "head" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --lines (same as existing "-n") -c, --bytes -q, --quiet|silent -s, --skip -v, --verbose --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/head" command and built-in command-line interface (including the new options) and system variables documented in head(1) and specified by IEEE Std 1003.1-2008 is "Committed". For further information/specifications see the materials/-folder. #### Part 3: Enhancement of /usr/bin/join The third part of this project specifies an enhancement to /usr/bin/join based on the AT&T AST "join" command. The AT&T AST version of the "join" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --empty (same as existing "-e") --output (same as existing "-o") --separator|tabs (same as existing "-t"). --j1 (same as existing "-1") --j2 (same as existing "-2") --join (same as existing "-j") --unpairable (same as existing "-a") --suppress (same as existing "-v") -i, --ignorecase -B, --mmap --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/join" command and built-in command-line interface (including the new options) and system variables documented in join(1) and specified by IEEE Std 1003.1-2008 is "Committed". For further information/specifications see the materials/-folder. #### Part 4: Enhancement of /usr/bin/logname The 4th part of this project specifies an enhancement to /usr/bin/logname based on the AT&T AST "logname" command. The AT&T AST version of the "logname" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/logname" command and built-in command-line interface (including the new options) and system variables documented in logname(1) and specified by IEEE Std 1003.1-2008 is "Committed". For further information/specifications see the materials/-folder. #### Part 5: Enhancement of /usr/bin/mkfifo The 5th part of this project specifies an enhancement to /usr/bin/mkfifo based on the AT&T AST "mkfifo" command. The AT&T AST version of the "mkfifo" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --mode (same as existing "-m") --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/mkfifo" command and built-in command-line interface (including the new options) and system variables documented in mkfifo(1) and specified by IEEE Std 1003.1-2008 is "Committed". For further information/specifications see the materials/-folder. #### Part 6: Enhancement of /usr/bin/tail and /usr/xpg4/bin/tail The 7th part of this project specifies an enhancement to /usr/bin/tail and /usr/xpg4/bin/tail based on the AT&T AST "tail" command in one command which provides both the traditional Unix "tail" functionality and the functionality defined in IEEE Std 1003.1-2008 plus the "historical" "-b" option. The AT&T AST version of the "tail" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --lines (same as existing "-n") --blocks (same as existing "-b") --bytes (same as existing "-c") --forever|follow (same as existing "-f") -h, --headers --lines (same as existing "-l") -L, --log -q, --quiet (GNU only, interface stability "Uncommited") -r, --reverse (same as existing "-r") -s, --silent -t, --timeout -v, --verbose --man, --html, --nroff, --help, --version -- snip -- The stability of the "/usr/bin/tail" and "/usr/xpg4/bin/tail" commands and built-in command-line interface (including the new options) documented in tail(1) and specified by IEEE Std 1003.1-2008 is "Committed" except for the command-line options "-q"/"--quiet" which are "Uncommited" (following the rule that options should only be "Commited" if there is more than one vendor implementation which implements it) and "-b"/"--blocks" which is now "Commited Obsolete" (IEEE Std 1003.1-2008 now longer supports it - see http://www.opengroup.org/onlinepubs/9699919799/utilities/tail.html This is only a documentation change, the project team has no intention to remove the implementation for "-b"/"--blocks" in the forseeable future). For further information/specifications see the materials/-folder. #### Part 7: Enhancement of /usr/bin/tee The 7th part of this project specifies an enhancement to /usr/bin/tee based on the AT&T AST "tee" command. The AT&T AST version of the "tee" utility provides support for the following additional options found commonly in other implementations such as GNU and BSD: -- snip -- --append (same as existing -a) --ignore-interrupts (same as existing -i) -l, --linebuffer --man, --html, --nroff, --help, --version -- snip -- Additinally the original documented limit of 13 file operands is removed. The stability of the "/usr/bin/tee" command and built-in command-line interface (including the new options) and system variables documented in tee(1) and specified by IEEE Std 1003.1-2008 is "Committed". For further information/specifications see the materials/-folder. # EOF. 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ON 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open