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