GLEP 24:一致的Gentoo工具命名方案

作者 Donnie Berkholz <dberkholz@gentoo.org>
类型 标准跟踪
状态 延期
版本 1
创建 2004-03-16
上次修改 2014-01-17
发布历史 2004-03-17, 2004-10-25
GLEP源代码 glep-0024.rst

摘要

本GLEP建议为Gentoo特定的配置和更新工具创建一个更一致、逻辑性和易用性的命名方案。它建议将方案更改为gentoo-config-<toolname>和gentoo-update-<toolname>。

状态更新

作者指出,此GLEP“需要大量工作”,这不太可能在冬季假期或明年夏天之前发生。暂时标记为延期。

动机

这些工具上的一致前缀将允许用户通过简单地输入“gentoo-<tab><tab>”获取完整列表或“gentoo-config-<tab><tab>”或“gentoo-update-<tab><tab>”获取特定类别的列表,从而轻松地在系统上找到它们。

在当前情况下,除非阅读软件包已安装文件的portage日志,否则很容易错过配置工具。改进命名方案将使用户能够更轻松地找到这些工具。

规范

以下软件包和工具受到影响(为方便阅读,已删除gentoo-前缀,当前名称后跟建议名称)

config-kernel
x11-base/opengl-update -> config-opengl (opengl-update)
sys-devel/distcc -> config-distcc (distcc-config)
app-admin/zope-config -> config-zope (zope-config)
app-sci/blas-config -> config-blas (blas-config)
dev-java/java-config -> config-java (java-config)
dev-ruby/ruby-config -> config-ruby (ruby-config)
net-www/webapp-config -> config-webapp (webapp-config)
sys-devel/cc-config -> config-cc (cc-config)
sys-devel/gcc-config -> config-gcc (gcc-config)
dev-lang/python -> update-python (python-updater)
sys-apps/baselayout -> update-modules (modules-update)
sys-apps/baselayout -> update-env (env-update)
sys-apps/baselayout -> update-etc (etc-update)
sys-apps/baselayout -> config-rc (rc-update)

基本原理

提出了三种主要的命名方案选项

  • 当前方案,*-config和*-update。此方案使查找工具变得困难,因为名称开头没有一致性。但是,对于已经知道此类工具存在并记得其名称与要配置的软件包相关联的人来说,它可能更容易(除了许多*-update工具的情况)。
  • 提议方案的略微修改版本,使用缩写前缀,比gentoo-*短。例如,当前的gcc-config将变为gen-config-gcc或g-config-gcc。虽然这输入起来更短,但制表符完成功能使得这一点基本上变得无关紧要。它也可能因对内容的不明确指定而导致混淆。
  • 提议的方案,gentoo-{config,update}-*。它提供了一种简化的方式来发现和使用各种Gentoo特定的工具,即使人们不记得确切的名称。一个小的缺点是名称的长度,但同样,由于制表符自动完成,此警告基本上变得无关紧要。

在另一个发行版的示例中,Red Hat在过去几年中转向了redhat-config-*方案,以提供更一致且更容易找到的工具。

在gentoo-dev上的两次讨论之后,大多数人赞成对工具使用此统一前缀,少数人表示反对,他们分别赞成上述前两种方案之一。

向后兼容性

为了确保平滑过渡,将在旧位置提供一个包装器脚本。此包装器将打印警告,休眠5秒,然后从其新位置运行工具。包装器脚本应为软件包的接下来的两个新ebuild提供,无论它们是修订版还是版本升级。在第三次更新时,将删除包装器脚本。

此外,将在前三个新ebuild中添加einfo警告。它们将在删除包装器脚本后的一个ebuild中运行。

参考实现

尚未…