This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

GLEP:32

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
Warning
This GLEP is no longer maintained in the Gentoo Wiki and remains here only as a historical record. Please visit https://www.gentoo.org/glep/glep-0032.html for the current version of this GLEP.
GLEP 32: Maildir Location
Type Standards Track
Status Deferred
Author Georgi Georgiev <chutz@gg3.net>
Editor
Replaces
Replaced by (none)
Requires
Post History

Abstract

Ebuilds that install mail delivery agents often need to know the default location of users' mailbox. When the mailbox is of a maildir type, there is no set standard what the name of the directory should be. The most popular extensions are "Maildir", ".Maildir" and Gentoo has adopted its own ".maildir" name.

This GLEP proposes a user-definable maildir location.

Motivation

To provide the means to change the default location of a maildir, that is currently hardcoded in ebuilds.

The ".maildir" name is not adequate for most situations.

  • "Maildir" is the defacto standard name for maildir mailboxes.
  • People transferring e-mail configuration from other systems prefer to keep the original naming conventions.
  • In a virtual hosting environment, having a hidden file in a directory dedicated for e-mail delivery is not a plus.
  • All postfix and qmail related documentation gives "Maildir" as an example name.

Rationale

The following comments were made in a discussion [1] on the Gentoo bugzilla

  • The default location should be specified in rc.conf
  • Preventing users from shooting themselves in the foot is not an issue

Implementation

A maildir.eclass has been submitted to Bug 52076 [1]

Patches that implement features similar to this GLEP have already been submitted to Bug 52076 [1].

MAILDIR variable

The default location for maildir delivery is specified by the $MAILDIR variable. This variable is specified in rc.conf.

maildir.eclass

This eclass exports a $MAILDIR variable to the ebuilds that inherit it. If $MAILDIR has not been specified in rc.conf the eclass exports MAILDIR=.maildir for backwards compatibility reasons.

Patching ebuilds

Since most ebuilds that currently need to know what the maildir delivery location is already take the default .maildir location into account when installing, modifying ebuilds to implement this GLEP is as simple as inheriting the maildir.eclass and substituting .maildir in the ebuild with the $MAILDIR variable. Care should be taken, to also modify any patches or scripts that are used by the ebuild, that already have .maildir hardcoded (vpopmail, exim).

Backwards Compatibility

The default location is ".maildir", unless it is overridden. This way, there would be no backwards compatibility issues.

References

Copyright

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.