Package: dpkg
Version: 1.15.8.10
Severity: normal
Heyho,

we want a new field to be put into .dsc files please. This should be a
list of all "override" entries for this package. That is, a list
consisting of every single binary and one line for the source package
itself.

The list should be handled similar to the Files: field, listing every
single binary *and* its overrides that CAN be built by this
source. (Unlike for example the Binaries field in .changes only listing
what was built on that particular architecture)

Assuming we name the field "Package-Set", a hypotetical linux-4.2 source
could look like:

[... whatever else is in a dsc ...]
Package-Set:
 linux-tools-4.2.21 kernel optional
 xen-linux-system-4.2.21-2-xen-amd64 kernel extra
 linux-headers-4.2.21-2-parisc-smp kernel optional
 linux-headers-4.2.21-5-all-ia64 kernel optional
 linux-image-4.2.21-2-amd64 kernel required
 [... all the rest of the three million and one entries ...]

As we just had a short discussion on irc, let me bring some points from
there:

I would love if the source itself also appears in that field, but could
deal also without. Having the source in would mean there is one single
place to run through for ALL possible override entries. Having it out
means looking at Source: too. If its implemented WITH source, then the
definition should be like "the first line is the source entry, the
package name prefixed with src:" and it should always be only one such
line.

buxy mentioned to optimize this by leaving out all the binary entries
that are using the "default overrides". I don't much like this for two
reasons: First you would need to add two more fields, section/priority
to show what those defaults are, they aren't in the dsc now. Second the
assumption that one can go through "Package-Set" and have all of them
would fail, one would actually have to do the work of merging
Package-Set together with a merge of binary/section/priority.

The argument of saving something in terms of sizes is not much
convincing to me, looking at the usual size of stuff we are dealing with
anyways. A few more lines of text dont seem to matter, imo. It is also
easier to work with them in shell scripts.

And the background for this stunt: This way we can process NEW adding
overrides for every package, not requiring a new NEW run for every
single arch of packages that build different names on different
architectures. While we COULD do it by extracting the source, looking at
the debian/control and parsing that, this gets increasingly hard with
different source formats, possible source tarballs being elsewhere
(think of -2 uploads and source in pool) and other processing
trouble. Compared to the relative ease dpkg-* can do it at build time it
seems better to do it there. (also, this way others profit too)

Oh, and just before I hit send:
<buxy> Ganneff: my current preference for the field name goes to 
"Categorization"

--
bye, Joerg
Some NM:
>A developer contacts you and asks you to met for a keysign. What is
>your response and why?
Do you like beer? When do we meet? [...]

Attachment: pgpMbNMHiAnqX.pgp
Description: PGP signature

Reply via email to