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

Re: emdebuild -v: generated package_em1_arm.deb->data.tar.gz empty



On Thu, 18 Jun 2009 15:10:28 +0100
Wookey <wookey@wookware.org> wrote:

> > > What I did now to get an emdebian package:
> > > 
> > > -dh_make -e marco.hoefle@haslerrail.com
> > > -f ../libdbusapihasler-0.0.0.tar.gz
> > 
> > That is nowhere near enough to generate a Debian package and therefore
> > insufficient to create an Emdebian package from that. Packaging for
> > Debian is not a trivial task, especially for libraries.
> > 
> > > This creates the ./debian/control file + several others. I edited the
> > > control file,  dh_make suggests the package name, so
> > > libdbusapihaslerBROKEN was changed to libdbusapihasler.

You've probably got a lot of cruft in the debian/ directory that needs
to be removed too. Example files etc.

> > The dh_make template files need considerable editing before they will
> > generally make a useful package.
> 
> Yes - there is a fair amount more fettling you need to do, although
> for a simple library package it's not that difficult. The main thing
> is to be careful about naming, and so-names. The Debian policy
> document explains how it should be done.

It isn't easy to automate based on metadata already available within
the upstream sources either, which is why dh_make is such a partial
solution.

The majority of lintian warnings are relevant for an Emdebian package -
the reason we only check a subset is due to a bug in lintian itself. It
is worth fixing as many lintian errors as possible as some will have
direct implications for the cross-build.

> > You are missing 99.9% of the work of packaging a library for
> > Debian.
> 
> That's a bit harsh. For a simple package dh_make could easily have
> done 60% of the work, but it leaves you the hard parts :-)

OK, I was taking the difficulty and the amount of work as one because
working out which of the difficult bits need to be changed, especially
for a library package, can take a significant amount of reading for
those people unfamiliar with Debian Policy - if the debian-mentors list
is anything to go by.

> > This issue has nothing to do with Emdebian and everything
> > to do with learning Debian packaging requirements. All Emdebian
> > packages need to start out as Policy-compliant Debian packages.
> 
> Like I said, all you really need is a working library package. We
> package a couple of libraries locally for our projects and there is a
> certain amount of whinging from Lintian, but they work fine in a Grip
> system. But yes, this is all about 'how do I package a library for
> Debian'. There is very little special about emdebian packaging: an
> xcontrol file and making sure the rules file is cross-build compatible
> are the only extra requirements. 

The cross-build additions are fairly simple - the autotools-dev
README.Debian has most of the necessary information. xcontrol is
evolving and isn't automated but there is some help on what needs to be
done on the Wiki. Basically separate the tools (like autoconf,
debhelper and quilt) from the cross-dependencies (like libfoo-dev) and
move all the tools into a new field, Build-Depends-Tools in
debian/xcontrol. Other than that, simple xcontrol files are copies of
the debian/control file.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpYMt6XKtT8T.pgp
Description: PGP signature


Reply to: