/[gentoo]/xml/htdocs/proj/en/glep/glep-0024.txt
Gentoo

Contents of /xml/htdocs/proj/en/glep/glep-0024.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Wed Mar 17 14:17:26 2004 UTC (10 years, 7 months ago) by g2boojum
Branch: MAIN
File MIME type: text/plain
new glep

1 g2boojum 1.1 GLEP: 24
2     Title: Consistent Gentoo tool naming scheme
3     Version: $Revision: $
4     Last-Modified: $Date: $
5     Author: Donnie Berkholz <spyderous@gentoo.org>,
6     Status: Draft
7     Type: Standards
8     Content-Type: text/x-rst
9     Created: 16 March 2004
10     Post-History: 17-Mar-2004
11    
12    
13     Abstract
14     ========
15    
16     This GLEP proposes to create a more consistent, logical and usable naming
17     scheme for Gentoo-specific configuration and update tools. It proposes
18     changing the scheme to gentoo-config-<toolname> and gentoo-update-<toolname>.
19    
20    
21     Motivation
22     ==========
23    
24     A consistent prefix on these tools will allow users to easily find them on the
25     system by merely entering "gentoo-<tab><tab>" for a complete listing or
26     "gentoo-config-<tab><tab>" or "gentoo-update-<tab><tab>" to get a listing of
27     the specific category.
28    
29     In the current situation, it is trivial to miss a configuration tool unless one
30     reads a portage log of installed files for a package. Revamping the naming
31     scheme would enable users to find these tools more easily.
32    
33    
34     Specification
35     =============
36    
37     The following packages and tools are affected (gentoo- prefix removed for ease
38     of reading, current name follows suggested name)::
39    
40     ::
41    
42     config-kernel
43     x11-base/opengl-update -> config-opengl (opengl-update)
44     sys-devel/distcc -> config-distcc (distcc-config)
45     app-admin/zope-config -> config-zope (zope-config)
46     app-sci/blas-config -> config-blas (blas-config)
47     dev-java/java-config -> config-java (java-config)
48     dev-ruby/ruby-config -> config-ruby (ruby-config)
49     net-www/webapp-config -> config-webapp (webapp-config)
50     sys-devel/cc-config -> config-cc (cc-config)
51     sys-devel/gcc-config -> config-gcc (gcc-config)
52     dev-lang/python -> update-python (python-updater)
53     sys-apps/baselayout -> update-modules (modules-update)
54     sys-apps/baselayout -> update-env (env-update)
55     sys-apps/baselayout -> update-etc (etc-update)
56     sys-apps/baselayout -> config-rc (rc-update)
57    
58    
59     Rationale
60     =========
61    
62     Three primary options were presented for the naming scheme::
63    
64     * The current scheme, *-config and *-update. This scheme makes finding a
65     tool difficult, since there is no consistency in the beginning of the name.
66     However, it may be easier for people who already know such a tool exists and
67     remember that its name correlates with the package to be configured (except
68     in the case of many of the *-update tools).
69    
70     * A slightly modified version of the proposed scheme, with an abbreviated
71     prefix, shorter than gentoo-*. For example, the current gcc-config would
72     become gen-config-gcc or g-config-gcc. Although this is shorter to type, the
73     availability of tab completion renders that point largely moot. It may also
74     contribute to confusion through inexact specification of what it is.
75    
76     * The proposed scheme, gentoo-{config,update}-*. It provides a streamlined way
77     to discover and use various Gentoo-specific tools, even if one does not
78     remember the exact name. A minor downside is the length of the names, but
79     again this caveat is largely moot because of tab completion.
80    
81     In an example of another distribution, Red Hat moved to a redhat-config-*
82     scheme within the past couple of years to provide more consistent and
83     easier-to-find tools.
84    
85     After two discussions on gentoo-dev, the majority favored this unified prefix
86     for the tools, with a minority in objection, variously favoring one of the
87     first two schemes above.
88    
89    
90     Backwards Compatibility
91     =======================
92    
93     To ensure a smooth transition, a wrapper script will be provided in the old
94     location. This wrapper will print a warning, sleep 5 seconds, then run the
95     tool from its new location. The wrapper script should be provided for the next
96     two new ebuilds for the package, whether they are revision or version bumps.
97     On the third update, the wrapper script will be removed.
98    
99     In addition, einfo warnings will be added in the ebuilds for the first three
100     new ebuilds. They will run in one more ebuild beyond removal of the wrapper
101     script.
102    
103    
104     Reference Implementation
105     ========================
106    
107     not yet ..
108    
109    
110     Copyright
111     =========
112    
113     This document has been placed in the public domain.

  ViewVC Help
Powered by ViewVC 1.1.20