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

Reply via email to