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
>