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

Re: Package modifying its own control at build?



On Thu, Mar 08, 2001 at 10:43:36PM -0500, Ben Collins wrote:
> On Thu, Mar 08, 2001 at 10:10:25PM -0500, Camm Maguire wrote:
> > Greetings!  Can a package be structured to build a variable number of
> > subarchitecture-specific binary packages depending on the architecture
> > running the compilation?  Perhaps control.i386, control.alpha, etc?
> 
> You should only have one control file, and use the Architecture field.
> Generating the control file it build time is considered bad, because
> then the .dsc does not contain all the binary package names that it
> builds, and this can do bad things in the archive.

Well, in this case this is correct. However, as a general rule, generating
the control file will become important for a lot of packages with the
increase of versioned dependencies on linux specific or virtual packages and
the Hurd port. The purpose is then not to build different packages, but to
have different dependency information in the package for Linux and for Hurd.

For example, libstdc++2.10-dev depends on libc6-dev (>= 2.1.95).
The Hurd libc0.2-dev provides libc6-dev, but that is not enough to fulfill
the dependency. The control file will have to be modified for the Hurd.

This can only be avoided by having architecture specific dependencies
like libc6-dev (>= 2.1.95) [linux], libc0.2-dev (>= 2.1.95) [hurd].
(Other example is gnupgs dependency on makedev (I will file a bug when I
have random implemented in the Hurd), and probably dpkgs dependency on
sysvinit (depending if anyone will ever post sysvinit to the Hurd or not)).

But the control file shipped with the source must of course list all
possibly generated binary packages.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



Reply to: