Note that this is an open case and the e-mail discussion is being
distributed to addresses outside of Sun...

I am submitting this case for Garrett D'Amore (OpenSolaris contributor)
and Carol Fields (Sun sponsor).  This case seeks a patch binding.

I believe it qualifies for self-review, but if anyone disagrees, let me
know and I'll promote it to a fast track.  This case gets rid of the
only difference between /usr/bin/xargs and /usr/xpg6/bin/xargs and
replaces /usr/xpg6/bin/xargs with a symlink to /usr/bin/xargs for
backwards compatibility.

        Sincerely,
        Don Cragun

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Sun Proprietary: Need-to-Know
1. Introduction
    1.1. Project/Component Working Name:
         /usr/bin/xargs and /usr/xpg6/bin/xargs consolidation
    1.2. Name of Document Author/Supplier:
         Author:  Carol Fields
    1.3  Date of This Document:
        08 November, 2006
4. Technical Description

Problem
-------

Solaris currently ships two versions of the "xargs" utility: one is the
standard version located in /usr/bin, and the other is the POSIX
version located in /usr/xpg6/bin.

The xargs utility allows the use of the -E option to indicate that a
different logical "EOF" string can be supplied in the standard input to
terminate processing.

The sole difference in the POSIX version is that it allows the use of
an empty string ("") as an argument to the -E option, which it takes to
mean that no logical EOF string is assumed.  (I.e., the utility will
continue processing until a real EOF is encountered on standard input.)

The Sun version will produce an error message and exit code if provided
the empty string.

We believe that the POSIX behavior can be applied to the Sun code in a
manner that is fully backwards compatible with existing usage, unifying
this utility, simplifying documentation and removing the need to build
and ship a different version of the program.

This will also reduce by one the number of variances that the default
/usr/bin utilities have against the corresponding POSIX utilities.

Proposed Solution
-----------------

We propose to eliminate the special check in the code that errors out
for non-XPG6 code when "" is supplied as an argument to -E.

We also propose to replace the file /usr/xpg6/bin/xargs with a link to
/usr/bin/xargs, so that old programs that may have hardcoded the path
to the XPG6 version of xargs can continue to operate properly.

There will be a minor edit required for the xargs(1) man page to remove
references to the XPG6 version of xargs, and to copy the text from the
XPG6 version of the -E argument to the stock version.

Binding
-------

We are seeking patch binding for this change.

Interface Taxonomy
------------------

      Interface            Stability Level                 Comments
-------------------- ---------------------------- -------------------------
/usr/bin/xargs:      Committed: See standards(5)
/usr/xpg6/bin/xargs: Committed                    Symlink to /usr/bin/xargs

5.  Reference Documents

    1.  Bug report 6487582: xargs: /usr/bin/xargs should acquire the
        same /usr/xpg6/bin/xargs behavior

    2.  updated xargs(1) man page:
         materials/xargs.1

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                ON
    6.5. ARC review type: FastTrack


Reply via email to