ARC infrastructure ate the materials for this case.  The case timeout is 
extended to April 22, 2009, as  a result.

The proposal follows.  Note that this case is submitted on behalf of 
Jason King, and is seeking patch binding, but expects only to push to 
OpenSolaris/Nevada at this point.

Template Version: @(#)onepager.txt 1.31 07/08/08 SMI

This information is Copyright 2007 Sun Microsystems

1. Introduction
   1.1. Project/Component Working Name:
      ls enhancements
 
   1.2. Name of Document Author/Supplier:
        Jason King <jason at ansipunx.net>

   1.3. Date of This Document:
        03/01/2009

   1.4. Name of Major Document Customer(s)/Consumer(s):
        1.4.1. The Community you expect to review your project:
            ON
        1.4.2. The ARC(s) you expect to review your project:
 
   1.5. Email Aliases:
        1.5.2. Responsible Engineer:
        1.5.4. Interest List: on-discuss at opensolaris.org

2. Project Summary
   2.1. Project Description:
    Enhance ls to provide a number of features to increase compatibility
    with other ls implementations (with an emphasis on GNU ls).  This is
    a combination of new flags and long aliases for existing flags.

    The project is requesting patch binding.


   2.2. Risks and Assumptions:
   

3. Business Summary
   3.1. Problem Area:
     The Solaris ls is missing a number of features found in other ls
    implementations.  Color output is an especially popular missing
    feature.  

   3.2. Market/Requester:
        Opensolaris community

   3.3. Business Justification:
        The current situation is a worst of all worlds situation.  Common
    features found on other OSes are missing in Solaris ls.  GNU ls does
    not support a number of key features in Solaris (NFS/ZFS ACLs and
    extended attributes).  This leaves a user to choose one or the
    other.  This project proposes to enhance Solaris to support a number
    of common GNU ls features (detailed below)

   3.4. Competitive Analysis:


   3.5. Opportunity Window/Exposure:
 

   3.6. How will you know when you are done?:
    Solaris ls will support the listed features below.
 
4. Technical Description:
    4.1. Details:
    The following flags will be added to ls(1) (/usr/bin/ls,
    /usr/xpg4/bin/ls, and /usr/xpg6/bin/ls):

    Aliases for existing flags:
    --all                         Alias for -a
    --almost-all                  Alias for -A
    --escape                      Alias for -b
    --classify                    Alias for -F
    --human-readable              Alias for -h
    --dereference                 Alias for -L
    --dereference-command-link    Alias for -H
    --full-time              Alias for -E
    --inode                       Alias for -i
    --numeric-uid-gid             Alias for -n
    --no-group                    Alias for -o
    --hide-control-chars          Alias for -q
    --reverse                     Alias for -r
    --recursive                   Alias for -R
    --size                        Alias for -s

        New flags:
    -w=NN, --width=NN
        Force output width to NN columns.

    --block-size=NN
        Output sizes as multiples of NN.  The suffixes 'kKmMgGtTpPeE'
        can be appended to scale the block size.

    -k
        Equivalent to --block-size=1024.

    --si
        Like -h, except powers of 10 are used.

    --color[=WHEN], --colour[=WHEN]
        Display output using colors.  Colors are specified by the
        environment variable LS_COLORS.  If not set, a default
        set of colors used.  The format of LS_COLORS is compatible
        with GNU ls.
        WHEN is an optional flag indicating when color output
        should be used.  Valid values are:
            always,yes,force:  Always output color
            auto,tty,if-tty: Display color when run from a tty
            never,no,none: Never display color.
        The default setting is 'never'.

    --file-type
        Like the -F / --classify option, except * is not appended to
        executables.

    --time-style=[STYLE]
        Use STYLE as the output format for times.  Does not imply -l
        option (but will not have any visible impact without -l).
        The notion of 'new' and 'old' files are unchanged from the
        current version of ls.

        Values of STYLE are:
            full-iso: Full iso output for all files, like -E
            long-iso: Use '%F %R' format for all files
                (YYYY-mm-dd HH:MM)
            iso: Use '%F' (YYYY-mm-dd) for older files and
                '%m-%d %H:%M' (mm-DD HH:MM) for newer files.
            locale: Use the locale defined format for old and
                new files (the default).
            +FMT: Use a custom format.  Values of FMT are the
                same as strftime(3c).  If a newline is
                embedded in FMT, then the first line is
                used for older files while the second line
                is used for newer files.  If no newline
                is embedded, the single format is used for
                all files.
 
    Argument processing is done via getopt_long_only(3c) to prevent
    standards conformance issues.

    4.2. Bug/RFE Number(s):
    1122699 *ls* ls: would like to have -k option like du does
    6803941 Make /usr/bin/ls more compatible with gnu ls

    4.3. In Scope:
 
    4.4. Out of Scope:

    4.5. Interfaces:
    External:
        libtermcap

    4.6. Doc Impact:
    Man page changes for ls(1) with changes included with case.
 
    4.7. Admin/Config Impact:
    Additional cmdline flags only.

    4.8. HA Impact:
    None
 
    4.9. I18N/L10N Impact:
    Additional messages.

    4.10. Packaging & Delivery:
    None

    4.11. Security Impact:
    None

    4.12. Dependencies:
    None

5. Reference Documents:
        // List of related documents, if any (BugID's, RFP's, papers).
        // Explain how/where to obtain the documents, and what each
        // contains, not just their titles.  Identify any related projects
        // (by ID or case number, if possible).

6. Resources and Schedule:
   6.1. Projected Availability:
        // Dates in appropriate precision (quarters, years)

   6.2. Cost of Effort:
        // Order of magnitude people and time for the *whole* project, not
        // just the development engineering part.
        // You may wish to split the estimate between feature
        // implementation, implementing adminsitrative Interfaces, unit
        // tests, documentation, support training material, i18n, etc.

   6.4. Product Approval Committee requested information:
        6.4.1. Consolidation or Component Name:
        6.4.7. Target RTI Date/Release:
                // List target release & build and/or date.
                // RTI = Request to Integrate - when does *this* project
                // expect to be ready to integrate its changes back into
                // the master source tree?  We are not asking when the
                // component wants to ship, but instead, when the
                // gatekeeper/PM needs to expect your changes to show up.
                // examples: S8u7_1, S9_45, Aug 2002...
        6.4.8. Target Code Design Review Date:

   6.5. ARC review type:
        SelfReview
      6.6. ARC Exposure: open
       6.6.1. Rationale: Part of OpenSolaris

7. Prototype Availability:
   7.1. Prototype Availability:
 
   7.2. Prototype Cost:
 

Reply via email to