GLEP 32: Maildir 位置

作者 Georgi Georgiev <chutz@gg3.net>
类型 标准跟踪
状态 延迟
版本 1
创建 2004-11-03
最后修改 2014-01-17
发布历史 2004-11-03
GLEP 源代码 glep-0032.rst

摘要

安装邮件传递代理的 ebuild 通常需要知道用户的邮箱默认位置。 当邮箱是 maildir 类型时,没有关于目录名称应该是什么的设定标准。 最受欢迎的扩展名是“Maildir”、“.Maildir”,而 Gentoo 采用了它自己的“.maildir”名称。

此 GLEP 提出一个用户可定义的 maildir 位置。

动机

提供更改 maildir 默认位置的方法,该位置目前在 ebuild 中是硬编码的。

“.maildir”名称不适合大多数情况。

  • “Maildir”是 maildir 邮箱的实际标准名称。
  • 从其他系统传输电子邮件配置的人更喜欢保留原始的命名约定。
  • 在虚拟主机环境中,在专用于电子邮件传递的目录中有一个隐藏文件并不是一件好事。
  • 所有与 postfix 和 qmail 相关的文档都将“Maildir”作为示例名称。

基本原理

在 Gentoo bugzilla 上进行的讨论 [1] 中提出了以下评论

  • 默认位置应在以下位置指定:rc.conf
  • 防止用户自残不是问题

实现

一个maildir.eclass已提交到 Bug 52076 [1]

实现与此 GLEP 类似功能的补丁已提交到 Bug 52076 [1]

MAILDIR 变量

maildir 传递的默认位置由以下内容指定:$MAILDIR变量。 此变量在以下位置指定:rc.conf.

maildir.eclass

此 eclass 向继承它的 ebuild 导出一个$MAILDIR变量。 如果$MAILDIR没有在rc.conf中指定,则 eclass 导出MAILDIR=.maildir以实现向后兼容性。

修补 ebuild

由于大多数目前需要知道 maildir 传递位置的 ebuild 在安装时已经考虑了默认的.maildir位置,因此修改 ebuild 以实现此 GLEP 就像继承maildir.eclass并将.maildir在 ebuild 中替换为$MAILDIR变量一样简单。 应注意,还要修改 ebuild 使用的任何补丁或脚本,这些补丁或脚本中已经包含.maildir硬编码(vpopmail、exim)。

向后兼容性

默认位置是“.maildir”,除非被覆盖。 这样,就不会出现向后兼容性问题。