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

Re: Starting to play with packaging -- which release to use?



On Wed, Mar 3, 2010 at 1:01 PM, Ludovic Brenta <ludovic@ludovic-brenta.org> wrote:

Alejandro R. Mosteo wrote on debian-ada@lists.debian.org:
> Hello everybody,
>
> I'm long due to contribute my robotic code to Debian, which is one of the
> goals of my PhD thesis. I talked about this long ago with Ludovic; he
> sent to me very useful pointers on how to get started.

Could you please post these pointers to this list for posterity?  Otherwise
I'll do it but I have to dig through my old mail :)

Behold, future generations:

As a prerequisite, you need a GPG or PGP key[1] signed by at least one
Debian developer[2]. I suggest this as your first step, as setting up
a physical meeting with a DD might take some time. In the mean time,
of course, don't let that stop you from starting your packaging.

[1] GPG mini-HOWTO: http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html
[2] Debian Key Signing Coordination page: https://nm.debian.org/gpg.php

Then dive into the technicalities:

[3] Debian New Maintainer's Guide: http://www.debian.org/doc/maint-guide/
[4] Work-Needing and Prospective Packages: http://www.debian.org/devel/wnpp/
[5] Debian Policy for Ada: http://www.ada-france.org/debian/debian-ada-policy.html
[6] Packaging scripts for all of my packages: http://www.ada-france.org/article131.html

OpenToken and TextTools are very simple packages you may want to look
at for inspiration.
 

> I have two questions, though:
>
> 1) I understand that if I want to eventually become an official
> maintainer,

By that I suppose you mean "if I want to have my packages in the official
Debian distribution", not "if I want to have voting an upload rights";
these are different things.

Yep, you're right.
 
> I should package for the "unstable" version? That would
> be "sid"?

Correct. However you can also provide a so-called "backport", i.e.
a package that you build and install on a stable version of Debian.
Reto has done that for polyorb; maybe he can explain how that's done.
Backports are not in the official Debian distribution; they are in
separate repositories such as http://www.backports.org.

> 2) Is there some "usefulness" rule about the things included in the
> official Debian? I ask this because some of the things I want to
> contribute (e.g. the Ada binding to the already packaged robot-player
> C library) are quite obviously of interest for the robotic community,
> while some others (e.g. some parts that are very specific to my thesis,
> or my wide-scope "general purpose tools" library) are not. If that's not
> a good candidate for Debian addition, I could start right away improving
> the separation between these parts.

I am not aware of a hard rule but let's use common sense, which dictates
the following:

- if your software requires specialized hardware that is not available to
 the public, do not include it in Debian.  Instead, create a separate
 repository where you place your .deb packages.  This gives you the
 option to provide packages for some stable version(s) of Debian instead
 of, or in addition to, unstable.

- split the software in packages according to the intended audience.
 For example, we split shared libraries into execution-time packages for
 users and compile-time packages for developers.  You can similarly
 split the software into generally useful and more specialized packages.

I think Xavier can tell you about his situation which is similar to yours
(when he comes back from vacation).  He is packaging his specialized
NARVAL system for Debian to ease deployment across several sites, so he
started by packaging the libraries that NARVAL uses (liblog4ada,
libxmlezout and polyorb) and including them in the official Debian
distribution.  Then, I understand he will place NARVAL itself in a private
repository in his lab because it requires bespoke hardware.

Ok, I see, and it makes sense for me too. I also planned to start with smallish libraries.
 
Of course, licenses may prevent inclusion of your software in Debian; I
mention this for completeness since I believe you are only talking about
Free software.  In case some of your software is non-Free, you can include
the Free parts in Debian and place the non-Free parts in a private
repository.

While my code is indeed GPLd, there's a point which you can clarify for me (although I imagine the answer). There's indeed a 3rd party library [1] I use which license, as far as I could find, is:

"available for academic research use; for other uses, contact William Cook for licensing options."

I guess this would require obtaining a more precise statement from the author. More troublesome is that this library furthermore requires another one which is supplied as a .a plus .h file, so no source. I guess this precludes any attempt at officially packaging it.

Alex.

[1] http://www.tsp.gatech.edu/concorde/downloads/downloads.htm
 

HTH

--
Ludovic Brenta.

Reply to: