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

Re: Novice to Debian packaging



Álex R. Mosteo writes:
>> There are lots of tutorials for packaging beginners, but usually these
>> stick to the author's workflow of choice, and I haven't found a clear
>> comparison between alternatives. Also some of these are, while seemingly
>> still valid, possibly somewhat outdated in regard to recent developments.
>> E.g. I see different compat values (which everybody is happy to dismiss as
>> "you don't need to understand this yet") that tell me that I might be
>> reading stale information.
> 
> OK, a follow-up. I had missed the obvious "packaging-tutorial" package, 
> which has helped me a lot to understand the status of affairs. It says that 
> dh is the safest way so it narrows down a bit the priority of my reading.
> 
> Nonetheless, any insights, particular to Ada or not, that you might want to 
> share are welcome.

The need for a tutorial specific to Ada has been identified several
times in the past.  The reasons why such a tutorial does not exist yet
include:

- lack of time on everyone's part
- the "recommended" packaging scheme is a moving target
- we'd feel forced to upgrade all existing packages to this "standard"
  i.e. extra packaging work

When I started packaging in 2003, dh did not exist and I used the
predefined dh_make templates of the era as a starting point.  After
some time, as I gained better understanding of each command, I started
removing all unnecessary bits such as the autotools; I even went so far
as to patch some upstream sources not to require autotools anymore.
The result is that each package that I made is pretty minimal (that
does not mean small), hand-written and there is no "standard template".

More recently, Nicolas Boulenguez revisited several of my packages and
invented the ALDH system, which I think is the current state of the
art.  It is clean, maintainable and uses "dh" as recommended by recent
versions of debhelper.  The drawback of Nicolas' system is that it
requires good knowledge of Makefile syntax, as it uses GNU Make
macros.  Also, it only uses recent debhelper compatibility levels;
this may make it more difficult to backport packages to old stable
versions of Debian, should the need arise.

A note about debian/compat: it contains the "debhelper compatibility
level", a version number (in ASCII) that all debhelper commands read
before anything.  The value of this version number affects the behaviour
of some commands.  For details, see the man page, debhelper(7).  From
time to time, the minimum value that debian/compat can contain is
incremented by a new version of debhelper, forcing all packages using
debhelper to upgrade.  The values currently accepted by debhelper are
5..9 (8 is recommended and 9 is experimental ATM).

Nicolas, would you have time to write at least a one-page description of
ALDH for the novice packager, as an appendix in the Debian Policy for
Ada? That would make it possible for more packagers to consider using
it the next time they upgrade their packaging scripts.

In the mean time, I concur with Xavier: looking at small, simple existing
packages is the best way to learn.

-- 
Ludovic Brenta.



Reply to: