In the case of existing g-prefixed utils, I think it would make sense to have the "non-prefixed" version in /usr/gnu. The g-prefix isn't compatible with many configure scripts and it ends up that quite often the GNU equivalent simply isn't found. If the /usr/gnu could be added to the front of a user's path (if they desire of course) then such scripts can be used without complexity.

To implement this I would propose that the /usr/bin/gXXXX be a hard-link to /usr/gnu/bin/XXXX

So what happens to the existing /usr/sfw tools that conflict here - can it be presumed that they will be decomissioned in preference for the /usr/gnu equivalent? Just seems to make sense to me...

Darren.

Stephen Hahn wrote:
   With various corrections and enhancements.  More suggestions?  (Take
   your time; I'm learning Mailman's layout.)

   - Stephen

----

  PSARC/2006/xxx
  /usr/gnu
  Stephen Hahn ([EMAIL PROTECTED]) and Bart Smaalders ([EMAIL PROTECTED])
1. Summary A new directory hierarchy, to contain otherwise-name-conflicting GNU
      utilities under their original names, is proposed.  A guideline for
      the provision of 'g'-prefixed variants in /usr/bin is also
      presented.
This case seeks Minor release binding. 2. Discussion In an attempt to provide a more complete offering for software
      developers on OpenSolaris distributions (as well as other goals),
      this case proposes the introduction of /usr/gnu as a location for
      alternate implementations of standard tools produced by the GNU
      project.  This case supplements PSARC/2005/185, "Enabling
      serendipitous discovery" [1].  The goals of the two cases are
      aligned; this case may propose refinements to the handling of
      specific scenarios.
| For the purposes of determining candidates for the GNU environment,
|     the GNU packages of the FSF/UNESCO Free Software Directory are
|     considered the authoritative list [2].
| 2.1. Expected use | Much like the use of the XPG4 [3] and XPG6 [4] environments, the
      expected use of the /usr/gnu environment is to prefer its
      binary components to the system defaults, via a setting like
PATH=/usr/gnu/bin:...:/usr/bin Traditionally, the commands environments are incomplete: they do
      not provide entries for each and every command available in
      /usr/bin.  The environments are also proper subsets:  there are no
      commands that are not also present in the system's default command
      environment.  Although an environment could be modified to be a full
      alternative commands environment, that aspect is left to a future
      discussion.
2.2. Reliance on /usr/gnu/bin utilities The individual utilities' stability levels dictate their
      appropriateness for use by other components.
2.3. Utility parity requirements | PSARC, in its opinion for PSARC/2005/683 [5 - 6], made policy a
      technical requirement that XPG4 and XPG6 extensions be also made
      available in the /usr/bin variant of the affected utility.  This
|     policy is not a requirement for the /usr/gnu environment; project
|     teams may choose to enhance partially or completely the /usr/bin
|     variant as part of providing a /usr/gnu utility.
2.4. 'g' Prefixing Historically, introduction of GNU utilities into /usr/bin has been
      done with a 'g' character prefixed to the utility name.  This
|     proposal amends this practice:  the 'g'-prefixed variant should be
      provided if already introduced.  In cases where another operating
|     system has provided a 'g'-prefixed variant, the project team
|     introducing an otherwise-name-conflicting GNU component may choose
      to also provide one; otherwise, additional 'g'-prefixed components
      in /usr/bin are discouraged.
GNU components that do not conflict with existing or anticipated
      components in the system's default commands environment should not
      be placed in /usr/gnu, and do not require 'g'-prefixing.
2.5. Manual pages In the interest of reducing manual page scavenger hunts, this
      proposal recommends the introduction of a new manual page section,
|     to be represented in manual page text as "1GNU", to cover the
|     introduced utilities.  (Sections 1MGNU, 3GNU, and so forth can be
|     added as necessary.)
Management of the manual path then proceeds along similar lines as
      the executable path in Section 2.1:
MANPATH=/usr/man,1gnu,1 to prefer the GNU project environment reference manual, and MANPATH=/usr/man,1,1gnu | to use the GNU environment manual as a fallback (for searches of the
|     entire manual page collection).  If additional manual page sections
|     are required, they should also be named with a "GNU" suffix and the
|     section directory extended with a "gnu" suffix.
| In the standard configuration, the 1GNU section will follow the
|     default 1 section in the default search order.
| | 2.6. Other filesystem locations | | With the introduction of zones, customizable directories must be
|     kept out of /usr to make sparse zones practical.  This case reserves
|     /etc/gnu and /var/gnu as locations for customizable files required
|     by the tools present in the environment, but does not mandate their
|     introduction until an explicit consumer is proposed.
| | 2.7. Future possibilities One possible future direction is to extract the legacy tools from
      /usr/{bin,sbin} and provide them in a new, stable path like
      /usr/sunos/{bin,sbin}.  The selection of the top-level /usr
      components can then be made a configurable aspect of the system, via
      one or more mechanisms.  This change might also involve the
      provision of complete commands environments, as mentioned in Section
      2.1.
3. Interfaces | /usr/gnu Directory hierarchy Stable
|                 /bin
|                 /sbin
|                 /lib
|                 /info
| /etc/gnu Directory hierarchy Stable | | /var/gnu Directory hierarchy Stable | | /usr/share/man/man1gnu
|                         Manual page section     Stable
4. References [1] B. Smaalders, PSARC/2005/185: Enabling serendipitous discovery,
      2005.
| [2] Free Software Foundation, FSF/UNESCO Free Software Directory, "All
|     GNU Packages", 2006 (http://directory.fsf.org/GNU/).
| | [3] J. Tornatore, PSARC/1994/161: XCU4 Conformance (XPG4
      Commands/Utilities component), 1994.
| [4] J. Farley, PSARC/2003/418 SUSv3 Project Update, 2003. | [5] C. Fields, PSARC/2005/683: Add /usr/xpg4/bin/crontab and
      /usr/xpg6/bin/crontab, 2005.
| [6] B. Sommerfeld et al, PSARC/2005/683 Opinion, 2005.
_______________________________________________
tools-discuss mailing list
[email protected]

Reply via email to