On 2012-06-09 00:16, Jonathan Nieder wrote:
> Wookey wrote:
> 
>>                                                      an uploadable
>> build should always be done against complete build-deps - anything
>> built against 'staged' packages must be considered 'tainted'.
> 
> Sounds good.  If I understand correctly:
> 
> * dpkg-checkbuilddeps: in a stage-N build, use Build-Depends-Stage<N>
>   instead of Build-Depends.

Correct.  And the current revision of the patch already handles this.

> * dpkg-checkbuilddeps: in a stage-N build, build-time dependencies
>   must have Build-Stage >= N-1.

In probably most cases, there is only one staged binary package
installed at any one time (only long enough to build and install all of
the source package's full build dependencies).  Also, the order of
package building will be determined by the bootstrap build ordering tool
[1] that my fellow GSoC student Johannes Schauer will be developing.

> * dpkg-checkbuilddeps: in an untainted build, build-time dependencies
>   must not have a Build-Stage field.

Correct, but not really something that (according to the current plan –
see below) would be tracked by dpkg.

> * dpkg-gencontrol: stage-N builds get "Build-Stage: N".

Correct, this is what has been proposed.

> * dpkg-gencontrol: tainted builds, including stage-N builds, get
>   "Do-Not-Upload: yes".

This could be useful, but staged builds are already marked with a field.

"Tainted" builds could indeed be marked with "Do-Not-Upload: yes" or
similar, but as Wookey said it may or may not be easy to detect whether
a package fulfilling a build dependency was staged or complete.  The
current plan though is to simply track this information within the build
ordering tool.

> How does dpkg-gencontrol learn the build stage?  Is an envvar or a
> file under debian/ used to communicate that information?

The build stage is given in DEB_BUILD_OPTIONS, e.g.:

    $ DEB_BUILD_OPTIONS=stage=1 dpkg-buildpackage ...

I think the best way for dpkg-gencontrol to get this information is to
parse DEB_BUILD_OPTIONS for it directly (rather than through a
command-line option which would have to be given by debhelper and
anything else that calls dpkg-gencontrol).


[1]:
http://wiki.debian.org/SummerOfCode2012/StudentApplications/JohannesSchauer

-- 
P. J. McDermott                                        (_/@\_)    ,--.
http://www.pehjota.net/                           o    < o o >   / oo \
http://www.pehjota.net/contact.html                 o   \ `-/    | <> |.
                                                o o o    "~v    /_\--/_/



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to