Mark Hymers mhy@debian.org writes:
On Mon, 14, Mar, 2011 at 02:04:30PM +0000, Hector Oron spoke thus..
Hi,
2009/11/2 Mark Hymers mhy@debian.org:
On Mon, 02, Nov, 2009 at 12:43:42PM +0000, Philipp Kern spoke thus..
Of course it is a sane approach but very special care needs to be taken when releasing to ensure GPL compliance. Â So what we should get is support in the toolchain to declare against what source package the upload was built to keep that around.
Ok, I'm only going to comment on this part. This is nearly implemented and should be there by the end of the day (I need to run up some test packages to work with).
The current design is the Binary packages can contain an additional control field: Built-Using.
The specification of this field is that it *must* contain only strict version dependencies and these must be to source packages. I.e.
Built-Using: gcc-4.5 (= 4.5.2-5)
So ia32-libs could contain
Built-using: acl (= 2.2.49-4), ... 112 more entries
and drop the source copies (75% of the source package)?
It isn't exactly "using" the packages to build but it contains copies of the prebuild debs of those versions. The GPL requirement for the source to exist is the same though.
If dak can't parse this field, or the source versions which are declared are not present when the binary package is uploaded, it will reject the upload. If it can parse and find these dependencies, it stores them in an extra table in projectb which prevents us from throwing away the relevant source files until these binaries no longer exist anywhere in the archive, the same way as we handle it for the normal source case.
What exactly means "not present"? The ia32-libs packages are curently build against testing. Would an upload to unstable be allowed with a Built-Using string listing versions only in testing?
Also does the testing transition consider the Built-Using? If I specify 'Built-Using: gcc-4.5 (= 4.5.2-5)' will the package be blocked from entering testing until gcc-4.5 (= 4.5.2-5) has entered and block gcc-4.5 (= 4.5.2-5) from being replaced from testing?
I'm not entirely sure where this should be documented, it's not really a policy thing as it's specific to the archive. Suggestions welcome. We'll obviously include it in the minutes to d-d-a at the end of the meeting (the main people this should be used by, as far as I know are cross-compiler builders and the d-i and kernel-wedge people).
Mark
MfG Goswin