replication of stuff in /usr/gnu
Stephen Hahn
sch at sun.com
Fri Jul 6 10:20:05 PDT 2007
* Garrett D'Amore <garrett at damore.org> [2007-07-03 15:12]:
> I happened to notice that we ship two different versions of a few very
> trivial programs:
>
> -r-xr-xr-x 1 root bin 7860 Jun 17 14:37 /usr/bin/yes
> -r-xr-xr-x 1 root bin 19616 Jun 14 13:06 /usr/gnu/bin/yes
>
>
> -r-xr-xr-x 1 root bin 7708 Jun 17 14:21 /usr/bin/true
> -r-xr-xr-x 1 root bin 15100 Jun 14 13:06 /usr/gnu/bin/true
>
> -r-xr-xr-x 1 root bin 7888 Jun 17 14:36 /usr/bin/logname
> -r-xr-xr-x 1 root bin 19748 Jun 14 13:06 /usr/gnu/bin/logname
>
> -r-xr-xr-x 1 root bin 8084 Jun 17 14:21 /usr/bin/pwd
> -r-xr-xr-x 1 root bin 24176 Jun 14 13:06 /usr/gnu/bin/pwd
>
> -r-xr-xr-x 1 root bin 7948 Jun 17 14:20 /usr/bin/hostid
> -r-xr-xr-x 1 root bin 19692 Jun 14 13:06 /usr/gnu/bin/hostid
>
> The GNU versions only differ in that they accept a pointless --help and
> --version option.
>
> and a few that where the GNU differences are so trivial that it hardly
> seems worth shipping a separate binary:
>
> nohup: The Sun version is a superset of the GNU version
>
> -r-xr-xr-x 72 root bin 8100 Jun 17 14:21 /usr/bin/nohup
> -r-xr-xr-x 1 root bin 23032 Jun 14 13:06 /usr/gnu/bin/nohup
>
> cksum: The only difference is the type of whitespace separating the
> checksums (tabs vs. spaces)
>
>
> It strikes me as a really unfortunate thing to deliver two versions of
> the same programs, when there is no differentiating functionality, or
> even command line options.
>
> Is there anything we can do to clean this up, and to avoid it in the future?
(Although you find --help and --version pointless, many *ix users now
expect commands to process these options.)
The current choice to ship GNU command variants was made to economize
utility developer time, in that it's a questionable use of time to
enhance our commands to be supersets of their Solaris-historic,
XPG4/XPG6, and GNU behaviours, rather than to ship the upstream
versions in a separate location. During the discussion that led up to
2007/048, it was noted that deviations from the standard GNU coreutils
installation pattern would also lead to dissatisfied populations; as a
result, we elected to minimize the differences in our installation (to
omitting the su(1M) variant and following the "alternative
environment" pattern for /usr/xpg[46]/bin). People assembling
distributions have the SUNWgnu-coreutils package boundary to base
their decision on, or can repackage the SFW proto area to their
liking.
I suppose my question is "what engineering quality are you trying to
optimize?", since your example involves 12 pathnames and ~200k of disk
space. In any case, sfwnv-discuss is the correct place to have the
conversation, since we're continuing to integrate OSS tools and
utilities of this kind.
- Stephen
--
sch at sun.com http://blogs.sun.com/sch/
More information about the opensolaris-arc
mailing list