On Thu, Mar 18, 2010 at 4:24 PM, Garrett D'Amore - sun microsystems <gd78059 at sac.sfbay.sun.com> wrote: > > Template Version: @(#)sac_nextcase 1.69 02/15/10 SMI > This information is Copyright 2010 Sun Microsystems > 1. Introduction > 1.1. Project/Component Working Name: > More ksh93 builtins > 1.2. Name of Document Author/Supplier: > Author: Olga Kryzhanovska > 1.3 Date of This Document: > 18 March, 2010 > 4. Technical Description > > I'm sponsoring this fast-track request on behalf of the > ksh93-integration project. > Please note that this is an *open* case. > > The release binding is the same as with the ksh93 project: a > patch/micro release of Solaris delivering through ON > Stability levels are as described below. > > > This project is an amendment to the Korn Shell 93 Integration project > (PSARC/2006/550 and PSARC/2007/035, PSARC/2008/094, PSARC/2008/344 > and PSARC/2008/589) specifying the following additional > interfaces: > Addition of /usr/gnu/bin, /usr/xpg4/bin and /usr/bin built in > mappings in ksh93 > > Bug/RFE Number(s): > > 6935110 ksh93 needs (more) XPG, GNU built ins > > 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: ksh93 built in mappings for /usr/gnu/bin utilities > ---------------------------------------------------------- > The case proposes to enable the following mappings to ksh93 built in > commands for utilities in /usr/gnu/bin. When the utility is called > using it's command name, and not the full path, the ksh93 builtin > will be used instead of executing the /usr/gnu/bin binary. > > > Interface Stability Description > --------- --------- ----------- > ksh93 '/usr/gnu/bin/basename' built in Uncommitted basename utility > with GNU extensions > ksh93 '/usr/gnu/bin/cksum' built in Uncommitted cksum utility with > GNU extensions > ksh93 '/usr/gnu/bin/comm' built in Uncommitted comm utility with > GNU extensions > ksh93 '/usr/gnu/bin/cut' built in Uncommitted cut utility with GNU > extensions > ksh93 '/usr/gnu/bin/dirname' built in Uncommitted dirname utility with > GNU extensions > ksh93 '/usr/gnu/bin/expr' built in Uncommitted expr utility with > GNU extensions > ksh93 '/usr/gnu/bin/fold' built in Uncommitted fold utility with > GNU extensions > ksh93 '/usr/gnu/bin/join' built in Uncommitted join utility with > GNU extensions > ksh93 '/usr/gnu/bin/logname' built in Uncommitted logname utility with > GNU extensions > ksh93 '/usr/gnu/bin/mkdir' built in Uncommitted mkdir utility with > GNU extensions > ksh93 '/usr/gnu/bin/mkfifo' built in Uncommitted mkfifo utility with > GNU extensions > ksh93 '/usr/gnu/bin/mktemp' built in Uncommitted mktemp utility with > GNU extensions > ksh93 '/usr/gnu/bin/pathchk' built in Uncommitted pathchk utility with > GNU extensions > ksh93 '/usr/gnu/bin/paste' built in Uncommitted paste utility with > GNU extensions > ksh93 '/usr/gnu/bin/sleep' built in Uncommitted sleep utility with > GNU extensions > ksh93 '/usr/gnu/bin/sync' built in Uncommitted sync utility with > GNU extensions > ksh93 '/usr/gnu/bin/tee' built in Uncommitted tee utility with GNU > extensions > ksh93 '/usr/gnu/bin/tty' built in Uncommitted tty utility with GNU > extensions > ksh93 '/usr/gnu/bin/uniq' built in Uncommitted uniq utility with > GNU extensions > ksh93 '/usr/gnu/bin/rmdir' built in Uncommitted rmdir utility with > GNU extensions > ksh93 '/usr/gnu/bin/wc' built in Uncommitted wc utility with GNU > extensions > > Notes > ----- > Compatibility of AT&T AST ksh93 built in utilities and GNU > coreutils implementations: > Modulo correction bugs in the implementation, we believe that the > ksh93 built in utilities act as a 100% compatible drop in for the > GNU programs sans wording of --help, --version and error message > output (error messages are Not-An-Interface). > > Compatibility between ksh93 built in utility implementation and GNU > coreutils implementation: > Should a future ARC case will add new features to the GNU coreutils > utilities the project team will update the corresponding ksh93 built > in utility. Should this not be possible the ksh93 project team will > remove the mapping. > > > > Part 2: ksh93 built in mappings for /usr/xpg4/bin utilities > ---------------------------------------------------------- > The case proposes to enable the following mappings to ksh93 built in > commands for utilities in /usr/xpg4/bin. When the utility is called > using it's command name, and not the full path, the ksh93 builtin > will be used instead of executing the /usr/xpg4/bin binary. > > Interface Stability Description > --------- --------- ----------- > ksh93 '/usr/xpg4/bin/basename' built in Committed POSIX basename > utility > ksh93 '/usr/xpg4/bin/egrep' built in Committed POSIX egrep utility > ksh93 '/usr/xpg4/bin/fgrep' built in Committed POSIX fgrep utility > ksh93 '/usr/xpg4/bin/grep' built in Committed POSIX grep utility > ksh93 '/usr/xpg4/bin/id' built in Committed POSIX id utility > ksh93 '/usr/xpg4/bin/rm' built in Committed POSIX rm utility > > > > Part 3: ksh93 built in mappings for /usr/bin utilities > ---------------------------------------------------------- > The case proposes to enable the following mappings to ksh93 built in > commands for utilities in /usr/bin. When the utility is called > using it's command name, and not the full path, the ksh93 builtin > will be used instead of executing the /usr/xpg4/bin binary. > > Interface Stability Description > --------- --------- ----------- > ksh93 '/usr/bin/dirname' built in Committed POSIX dirname > utility > > > General comments > ---------------- > This case heavily builds on PSARC/2006/550 which was the first > PSARC case to introduce the concept of shell built ins bound > to a path. > > > Future development > ------------------ > The shell project team will file separate ARC case to add the same > shell built ins to bash4, reusing the same code as ksh93 > (libcmd.so.1). > The shell project will provide an API within libcmd.so.1 for other > shells (e.g. bash4) and applications to call the built ins directly. > This API will be available as contracted API until sufficient > experience has been collected and then opened as Committed > interface. > > > > 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 >
+1 Jenny -- Jennifer Pioch, Uni Frankfurt