Re: limitation in build-depends

2001-01-10 Thread Julian Gilbey
On Wed, Jan 10, 2001 at 03:12:42PM +1100, Brian May wrote:
 Hello,
 
 The build-depends is limited when it comes to compiling a package
 based on a number of different and incompatible libraries.
 
 Take Kerberos for an example - it has two implementations MIT and
 Heimdal. Currently, this requires two separate source packages, in
 order to set the build-depends correctly. This is despite the fact
 that most of the code is exactly the same.
 [...]

So if you only have one source package, you would have to run the
debian/rules build rule *twice*, once for each different set of
installed libraries to make the binary packages.  My understanding of
the build system is that all binary packages are required to be built
from a single run of debian/rules build.  Otherwise craziness ensues
for the autobuilders.  I would recommend for these few isolated
instances that two separate (essentially identical) source packages
would be sensible.  If this starts becoming a common issue, it might
be worth investigating further.

(NB It might be worth then putting a check into the package build that
the correct library is installed.  You may well have already done
this, though.)

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

 Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
   Debian GNU/Linux Developer,  see http://people.debian.org/~jdg
  Donate free food to the world's hungry: see http://www.thehungersite.com/




limitation in build-depends

2001-01-09 Thread Brian May
Hello,

The build-depends is limited when it comes to compiling a package
based on a number of different and incompatible libraries.

Take Kerberos for an example - it has two implementations MIT and
Heimdal. Currently, this requires two separate source packages, in
order to set the build-depends correctly. This is despite the fact
that most of the code is exactly the same.

Ideally, you need to be able to do something like:

- cut -
Source: libpam-heimdal
Section: non-US/main
Priority: optional
Maintainer: Brian May [EMAIL PROTECTED]
Standards-Version: 3.0.1
Build-Depends: debhelper

Package: libpam-heimdal
Architecture: any
Depends: ${shlibs:Depends}
Build-Depends: heimdal-dev
Description: PAM module for Heimdal
 A Kerberos v5 pam module for use with Heimdal kerberos. This
 module should only be used for local logins unless you really know
 what you are doing.

Package: libpam-krb5
Architecture: any
Depends: ${shlibs:Depends}
Build-Depends: libkrb5-dev
Description: PAM module for MIT Kerberos 5
 A Kerberos v5 pam module for use with MIT Kerberos 5 kerberos. This
 module should only be used for local logins unless you really know
 what you are doing.
- cut -

So, if heimdal-dev is installed the libpam-heimdal will get built,
otherwise if libkrb5-dev is installed, then libpam-krb5 will get
built. (Note: heimdal-dev and libkrb5-dev can not be installed at the
same time).

The list of packages which can be built would need to be passed
somehow to debian/rules, so it does not have to duplicate this logic.

The only disadvantage I can see in this is if the package must be
rebuilt, say for Heimdal because of library changes in Heimdal. If the
maintainer forces the package to be rebuilt by uploading a new
version, then it would have to be rebuilt for the MIT version, too.

Perhaps this is a problem with using the debian release number to
reflect the version of the source *and* the version of the build.  Or,
put another way, just recompiling the source shouldn't change the
source version, but the version of the binary package must be higher
or it won't get installed.

Comments?
-- 
Brian May [EMAIL PROTECTED]