[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 14:04:51 +0200
hoefle marco <marco.hoefle@nanotronic.ch> wrote:

> Hello,
> I am experimenting with the debian/emdebian tools. The goal is to have
> an "emdebianized" library.

For which you must first have a working, Policy compliant, Debian
library package with supporting metadata. Packaging libraries for
Debian is a lot of work and requires a lot of preparation - but then
that is part of the reason why libraries then work more easily in
Debian at runtime than they might in other packaging systems.

Emdebian is Debian - everything you would need to do to get the package
into the next stable release of Debian needs to be done to get an
Emdebian package from that.

> The library we use in our project uses autoreconv and a configure
> script. make + the arm-linux-gnu works perfectly and I can use the
> library on the emdebian crush target (by hand copying the files)

You need to run those via debian/rules which in turn is then run by
dpkg-buildpackage.
 
> 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.

The dh_make template files need considerable editing before they will
generally make a useful package.

Check with a native build first - dpkg-buildpackage or just 'debuild'.
Read the Developers Reference and New Maintainer Guide on the debian
docs website. 

You need a SONAME in that package name, you need to decide how you are
going to deal with the -dev package, whether to create a -dbg package,
whether there are debconf issues, translation issues, maintainer script
requirements, symbol versioning support, documentation package(s),
manpages and then all the cross-building support in the debian/rules
file too.

libfoo0
libfoo-dev | libfoo0-dev
foo | foo0
foo-data
libfoo-doc
libfoo0-dbg

Read the Debian docs for library packaging too. (All indexed from the
Developers Corner of the main Debian website.)

> emdebuild has generated libdbusapihasler_0.0.0-1em1_arm.deb but
> data.tar.gz is missing the libraries + the symbolic links.
> 
> Does anybody know what I am missing?

You are missing 99.9% of the work of packaging a library for
Debian. What you do now depends on the options you gave to dh_make and
which build system you chose for the Debian packaging. Read the docs
but if you are using debhelper, you are probably missing a
$package.install file for each binary package, listing exactly which
files go where.

Check the source of any library package in Debian and read the
Debian docs. 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.

-- 


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

Attachment: pgpaAKfYRoNP7.pgp
Description: PGP signature


Reply to: