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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.20