[Pkg-haskell-commits] darcs: policy: Update naming convention
Raúl Benencia
rul at kalgan.cc
Sat Jul 20 10:01:29 UTC 2013
Fri Jul 19 23:09:42 UTC 2013 Ra[_<U+00FA>_]l Benencia <rul at kalgan.cc>
* Update naming convention
Now that the naming convention section also covers application packages, it
should be moved to a proper location as it currently is in the Haskell
Libraries page. The policy version should also be bumped.
M ./haskell-policy.sgml -11 +47
Fri Jul 19 23:09:42 UTC 2013 Raúl Benencia <rul at kalgan.cc>
* Update naming convention
Now that the naming convention section also covers application packages, it
should be moved to a proper location as it currently is in the Haskell
Libraries page. The policy version should also be bumped.
diff -rN -u old-policy/haskell-policy.sgml new-policy/haskell-policy.sgml
--- old-policy/haskell-policy.sgml 2013-07-20 10:01:28.614038993 +0000
+++ new-policy/haskell-policy.sgml 2013-07-20 10:01:28.618038420 +0000
@@ -112,21 +112,57 @@
<sect id="libs-bin-names">
<heading>Package names</heading>
<p>
- The name of the Debian packages for a given haskell library are
- derived from the Cabal name of the library in question, following
- these rules:
+ As it is usual with Debian packages, the source and binary
+ package names derive from the upstream software name. Haskell
+ packages are named using the following convention:
<enumlist>
<item>All characters are lower-cased.
<item>Underscores are turned into dashes.
- <item>The name is prepended with <tt>libghc6-</tt>. This name
- will change if the major version of GHC used in Debian changes.
- <item>If there is more than one version of this Cabal package to
- be shipped with Debian, a significant part of the Version number
- is appended.
- <item>The name is appended with <tt>-dev</tt>, <tt>-doc</tt> or
- <tt>-prof</tt>, depending on the type of the package.
+ <item>If upstream name contains a <tt>haskell-</tt> or
+ similar component, it will be dropped if it only refers to
+ how the software is implemented (e.g. <tt>haskell-cnc</tt>
+ and other). It should be kept if the library
+ works <em>on</em> haskell (e.g. <tt>haskell-docs</tt>,
+ <tt>haskell-packages</tt>, etc.).
</enumlist>
- </p>
+
+ <p>
+ Haskell packages can be classified in the following way:
+ <enumlist>
+ <item>Applications
+ <item>Libraries
+ <item>Source packages that produces applications and
+ library binary packages
+ </enumlist>
+
+ <p>
+ For the first group, the convention is to name the source and
+ binary packages with the upstream software name.
+
+ <p>
+ For the second group, the convention is to name the source
+ package with <tt>haskell-<em>upstream</em></tt>, and the
+ library binary packages with
+ <tt>libghc-<em>upstream</em>-(dev|doc|prof)</tt>.
+
+ <p>
+ For the third group, the convention depends on the software. If
+ it is primarily an application that happens to build a library
+ as well, then it shall be treated it like the first group,
+ naming the source package and the application binary package
+ with the upstream name, and the library binary packages with
+ the convention used by the second group
+ (e.g. <tt>agda</tt>, <tt>xmonad</tt>). If it is primarily a
+ library with some helper commands, then it shall be treated it
+ like the second group, naming the application binary package
+ with the convention used by the first group.
+
+ <p>
+ In all cases, care should be taken when the upstream name is
+ generic. For example, if the <tt>Diff</tt> package would
+ provide a binary, the source package should still
+ be <tt>haskell-diff</tt> or something similar in order to avoid
+ name clashes with the main archive.
<sect id="libs-bin-abi-names">
<heading>Virtual ABI packages</heading>
More information about the Pkg-haskell-commits
mailing list