[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packages naming convention



On Tue, Jul 16, 2013 at 09:59:31AM +0200, Joachim Breitner wrote:
> I made an attempt to update it three years ago, but did not complete it.
> The darcs repo is at darcs.debian.org/pkg-haskell/policy; once we have
> discussed it here feel free to put the final wording there (and put your
> name prominently in the Copyright Notice :-)), and link it from the
> Processes wiki.

Sure! I only wanted to write something informal in the wiki but I think
that the writing can be easly adapted to fit in the policy.

> > | == Package naming convention ==
> > |
> > | There are three kind of packages maintained by this team:
> > |  1. Applications
> > |  2. Libraries
> > |  3. Applications that also produces library binary packages
> > |
> > | For the first group, the convention is to name the source and binary
> > | packages with the upstream software name.
> > |
> > | For the second group, the convention is to name the source package with
> > | "haskell-<upstream>", and the library binary packages with
> > | libghc-<upstream>-(dev|doc|prof).
> 
> Just for completeness: Add that the name is lower-cased.
> 
> Also add that a possibly “haskell-” component in the upstream name, if
> it just refers to how it is implemented (e.g. haskell-cnc and other
> bindings packages) can be dropped. It should be kept if the library
> works _on_ haskell (haskell-docs, haskell-packages etc.).
> 
> > | For the third group, the convention is to name the source package and the
> > | application binary package with the upstream software name, and the
> > | library binary packages with the convention used by the second group.
> 
> I’d say it depends: Is it primarily an application that happens to build
> a library, treat it like group 1 (agda, xmonad). If it is primarily a
> library with some helper commands, treat it like group 2.
> 
> All well, although care should be taken in group 1 and 3 if the name is
> generic: Even if the Diff package would provide a binary, the source
> package should still be haskell-diff or something the like.

I've updated the document with your advises. It'll be great to read your
opinions. Remember I'm not a native english speaker, so it would be awesome
if someone wants to double check the grammar.

| == Package naming convention ==
| As it is usual with Debian packages, the source and binary package names
| derive from the upstream software name. This team uses the following
| convention for naming its packages:
|  1. All characters are lower-cased.
|  2. Underscores are turned into dashes.
|  3. If upstream name contains a ''haskell-'' or similar component, it will
|    be dropped only if it refers to how the software is implemented
|    (e.g. haskell-cnc and other). It should be kept if the library works
|    ''on'' haskell (e.g. haskell-docs, haskell-packages etc.).
|
| There are three kind of packages maintained by this team:
|  1. Applications
|  2. Libraries
|  3. Source packages that produces applications and library binary packages
|
| For the first group, the convention is to name the source and binary
| packages with the upstream software name.
|
| For the second group, the convention is to name the source package with
| "haskell-<upstream>", and the library binary packages with
| libghc-<upstream>-(dev|doc|prof).
|
| For the third group, the convention depends on the software. If it is
| primarily an application that happens to build a library, 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. agda,
| xmonad). 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.
|
| In all cases, care should be taken when the upstream name is generic. For
| example, if the Diff package would provide a binary, the source package
| should still be "haskell-diff" or something similar in order to avoid name
| clashes with the main archive.

Cheers.
--
rul

Attachment: signature.asc
Description: Digital signature


Reply to: