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. |