I. Szczesniak wrote: > As the case is specified it gets my +1 but I still have some minor questions: > > On 4/21/09, Garrett D'Amore - sun microsystems > <gd78059 at sac.sfbay.sun.com> wrote: > >> 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". >> > > Could you elaborate the difference between Committed and Committed Obsolete? >
Committed Obsolete means we can't remove it, but you're still discouraged from using it in new code. That's the case with -b -- it is used to indicate a count in blocks (512 bytes), but the option was removed from the POSIX standard over confusion about what was meant by a "block" (is it a block of bytes, or a block of characters?) In any case, I suspect -b is probably just about useless when used with tail. I'll leave your other questions for Roland to answer. -- Garrett > >> >> ##### 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 >> > > Are the built in commands specified in this ARC cases bound to /bin > like the existing ksh93 built in commands? > > >> interface and the system variables documented in >> cksum(1) and specified by IEEE Std 1003.1-2008 is "Committed". >> > > Why are you explicitly referencing IEEE Std 1003.1-2008? Isn't Committed > enough? > > >> 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 >> >> _______________________________________________ >> opensolaris-arc mailing list >> opensolaris-arc at opensolaris.org >> >> > > Irek >