On Tuesday 03 April 2007 19:07, andremachado wrote: > I am trying to create a multiple binaries debian package. > Unable to find enough documentation at policy, maintainers guide and site. > Examined some source packages and then found clamav, that seems to leverage > debhelper. Tried to modify my previous monolithic package to split. > But found some weird things. It's not too hard. Read the manpages for the debhelper commands and learn what the -i, -a, and -p<package> parameters do. For clarity, create one .install file, one .docs file etc. per binary package. A file named just "install" or "docs", without a package name, applies to the first package in debian/control. I don't think it's good packaging style to mix "file-lists-in-files" and "file-lists-on-commandline" too much (except for specifying the upstream changelog name to dh_installchangelogs). But if you do specify files to install on the command line, dh_install* will generally operate on the first package specified. > 1- why the "dh_install java.ini mono.ini etc/php5/conf.d" line cross rule > limits when in multiple packages Found that must be one file and one dest > per line. "dh_install java.ini mono.ini etc/php5/conf.d" should work. Can you explain more what happens when you try? > 2- unable to find yet documentation about phony rules not having "-" > character in name. Maybe I misunderstood or did not read some fine print. That shouldn't be a problem either. > 3- why -p$@ sometimes is needed sometimes is not. > the lintian seems to not catch this thing. If I use -p$@, do I need to > create the package_name.dir, .docs, .install files. obscure for me. Is > there documentation. I think clamav might be unnecessarily complicated as an example. It has one make target per package, which explains the -p$@. The reason it's not on all the debhelper command lines has to do with what the various debhelpers *do*. Please read the manual pages (man debhelper, man dh_install, man dh_checkroot etc.). But usually you just need two targets: binary-arch and binary-indep. In the binary-arch target, all the debhelpers should be called with -a, and in the binary-indep target they should be called with -i. > Please, examine the /debian directory of > http://php-java-bridge.cvs.sourceforge.net/php-java-bridge/php-java-bridge/ >debian/ First, I don't think the -docs packages contain any architecture-specific files. At least they shouldn't. Thus they must have Architecture: all in debian/control. Second, you should remove all the unneeded, commented-out debhelper commands. And third, if you put the lists of files to install in files instead of on the command line, you only need two targets and debian/rules becomes cleaner (on the other hand, providing a way to build just a single binary package, just compiling exactly what's needed, is a nice service to users that want to build a customized package, especially if the source package is big). -- Magnus Holmgren holmgren@lysator.liu.se (No Cc of list mail needed, thanks)
Attachment:
pgpHPPf2cRMZw.pgp
Description: PGP signature