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