/[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.3 - (show annotations) (download)
Mon Oct 25 16:53:16 2004 UTC (10 years ago) by g2boojum
Branch: MAIN
Changes since 1.2: +11 -4 lines
File MIME type: text/plain
update

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

  ViewVC Help
Powered by ViewVC 1.1.20