From Fedora Project Wiki

Revision as of 18:11, 27 February 2009 by Laubersm (talk | contribs) (PackagingDrafts/ASCIINaming moved to Archive:PackagingDrafts/ASCIINaming: wiki cleanup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Common Character Set for Package Naming

While Fedora is an international community, for consistency and usability, there needs to be a common character set for package naming.

Specifically, all Fedora packages must be named using only the following ASCII characters. These characters are displayed here:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789-._+

Separators

Fedora packages may use - as a separator, where necessary. A separator is used to join multiple identifiers that are not present in the upstream name, like a prefix (perl-Foo-Bar).

Special Characters

Some Fedora packages use . _ + as part of their upstream name. This use is permitted in Fedora packages, however, these characters may not be used as separators.

Acceptable:

gcc-c++
lm_sensors
openoffice.org

Unacceptable:

perl+Module+Random
ruby_Module_Random
python.Module.Random

When Upstream Naming is outside of the specified character set

Fedora recognizes that the task of converting text to the specified ASCII character set (aka transliteration) is difficult. Accordingly, when the upstream name is outside of the specified ASCII character set, the Fedora package maintainer should first contact the upstream for that software and ask them for a transliteration of the name for Fedora to use.

If (and only if) the upstream is unable, unwilling, or unavailable to provide a transliterated name, the Fedora packager must choose to either perform their own transliteration, or withdraw the package from consideration in Fedora.

When deciding how to transliterate a package name, the Fedora packager should look to see what (if any) other distributions have done for that package's name, and take that into account.

Extra Provides

Transliterated packages may Provide: the original, non-transliterated name, but are not required to do so.