Ticket #1354 (new enhancement)

Opened 11 years ago

Last modified 11 years ago

config-package-dev: Add Built-Using field to binary packages involving transforms

Reported by: geofft Owned by: geofft
Priority: normal Milestone: The Distant Future
Component: config-package-dev Keywords:
Cc: Fixed in version:
Upstream bug:

Description

It's useful for lots of reasons to know what version of a package was the base for a transformation; among other things, this lets us easily check if a config package is out of date and needs to be rebuilt. There might also be some licensing compliance reasons to track these and hold on to the base packages, although I can't really think of any.

 Debian Policy §7.8 specifies the Built-Using field for this purpose:

Some binary packages incorporate parts of other packages when built but do not have to depend on those packages. Examples include linking with static libraries or incorporating source code from another package during the build. In this case, the source packages of those other packages are a required part of the complete source (the binary package is not reproducible without them).

A Built-Using field must list the corresponding source package for any such binary package incorporated during the build, including an "exactly equal" ("=") version relation on the version that was used to build that binary package.

We should make sure that binary packages that run dh_transform have this field present, and set appropriately. I think the right way is to add the package providing the file to the ${misc:Built-Using} substvar, and make sure packages list Built-Using: ${misc-Built-Using} in their own control files.

Change History

comment:1 Changed 11 years ago by andersk

It would be easier to have the package remember the md5sums of the pre-transformed base files, so we don’t need to go dig the Built-Using version out of the archive.

(I wonder if Debian is interested in a header for that.)

Don’t forget that we need to handle the case where the pre-transformed base file is a maintainer script.

Note: See TracTickets for help on using tickets.