[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