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

[HELP][LONG] Multiple-binaries packages



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear Mentors,
I'm trying to package integcheck before ITPing it (see RFP #230769). Since I'm
just starting with packaging stuff, I encountrered some problems with this one
(never created multiple-binaries packages before).

I should create two packages: integcheck-server and -client. For that, I created
two Package sections in debian/control, and created the various
integcheck-*.{dirs,post*,pre*,*} files.

Now, let's go to debian/rules. What should I edit here? I've seen *-indep and
*-arch targets, but they are supposed to be used with different archs, aren't
they? My package runs on any arch, so are they of any use?

Secondly, the Makefile is totally useless in this case. Here is it:

- ---8<---
etc=/etc
prefix=/usr

package:
       dpkg-buildpackage -us -uc -rfakeroot

install-client:
       install -m 755 -o root -g root bin/integcheck-shell.pl
$(prefix)/bin/integcheck-shell

install-server:
       install -m 755 -o root -g root bin/integcheck-compare.pl
$(prefix)/bin/integcheck-compare
       install -m 755 -o root -g root bin/integcheck-run.sh
$(prefix)/bin/integcheck-run
       install -m 644 -o root -g root etc/integcheck.cron $(etc)/cron.d/integcheck
- ---8<---

The upstream author provides a debian/ directory (building from it causes
lintian complain about *tons* of things), and the Makefile contains a "package"
target which used dpkg-buildpackage. That's not what we want to use for official
packages, don't we?
Now, I tried to use dh_install into the install-arch target of debian/rules, but
the manpage says it can't rename files. Ok. So I use /usr/bin/install, and
debuild complains about the inability to find ./bin/integcheck-*.
So I changed approach: I used `mv` to rename those files, and used `cp` to put
them in the right dirs (all this into debian/rules). This did not work either,
as the process kept creating debian/integcheck-server/bin/ (instead of
*/usr/bin/), while not creating debian/integcheck-client/ at all.

Now my question is: what is the right way to build a multiple-binary package?
This one I'm doing doesn't seem so difficult to package, it doesn't even have
compilation of any sort (it's just a cronfile, two perl scripts and a bash
script), I didn't expect all these problems when I downloaded it.

Hope I can get help,
David

P.S.: sorry if the description of the errors is inaccurate, but I've been
working on that from last night, I'm a bit confused about what to do and even
reading the upstream's debian/rules doesn't help too much, because it just calls
the Makefile and creates the directory with `mkdir` (which is a dirty-hack IMHO,
instead of using *.dirs and dh_installdirs).

- --
         Linux Registered User #334216
Get FireFox! >> http://snipurl.com/gofoxygo/ <<
Blog         >>  http://www.hanskalabs.net/  <<
Staff        >> http://www.debianizzati.org/ <<
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGMIKS5qqQFxOSsXQRApqgAJ9pHzrBOMx9c0ypuvDZ60l5Tm6KjwCgmPFU
2bXKfy4QX9rrmf1gIFS0AuY=
=e5oK
-----END PGP SIGNATURE-----



Reply to: