Re: request: check installability of Depends before building

2018-02-12 Thread Philipp Kern
On 02/13/2018 02:05 AM, Afif Elghraoui wrote:
> All I was asking for is to have the run-time dependencies (at least the 
> explicitly specified ones; the autogenerated ones usually come from 
> Build-Depends anyway) checked before starting the build for exactly the 
> reason you're mentioning.
> 
> Based on what you and Julien are saying, I guess I should copy them and use 
> .

The problem is that with our current infrastructure if the build
dependency is not available it's not scheduled. If the build dependency
is available but it fails to build, it will loop being retried and fail
until someone steps in to marks it as permanently failed. Unfortunately
to reduce maintenance burden permanently failed builds are reset on the
next upload. So the other solution is to put it into not-for-us or
Packages-arch-specific. We reduced the content of the latter file
massively thanks to the automation the build dependency check gives us.

Unfortunately I cannot speak to build profiles. But it sounds fair on
first glance.

Kind regards
Philipp Kern



signature.asc
Description: OpenPGP digital signature


Re: request: check installability of Depends before building

2018-02-12 Thread Afif Elghraoui


On February 12, 2018 4:55:09 PM EST, Philipp Kern  wrote:
>On 02/12/2018 10:16 PM, Afif Elghraoui wrote:
>> Besides unnecessary repetition in d/control, lying to the build
>server in telling it that it needs a package in order to build could
>cause unnecesssary problems in bootstrapping.
>
>Well, but we're running a real-world system here. In an optimal world
>these runtime dependencies would be build dependencies because unit
>tests would run the code and depend on the libraries being present.

And for those situations, we have the nocheck build profile to allow building 
without running the test suite if necessary.

>Alas, sometimes that's not possible and packages are still not going to
>be useful (or installable) on architectures where those dependencies
>are
>missing. Making them explicit as build dependencies avoids having
>useless, uninstallable packages on those architectures.
>
>So it's about trade-offs and I think Julien's right.

All I was asking for is to have the run-time dependencies (at least the 
explicitly specified ones; the autogenerated ones usually come from 
Build-Depends anyway) checked before starting the build for exactly the reason 
you're mentioning.

Based on what you and Julien are saying, I guess I should copy them and use 
.

regards
Afif



Re: request: check installability of Depends before building

2018-02-12 Thread Philipp Kern
On 02/12/2018 10:16 PM, Afif Elghraoui wrote:
> Besides unnecessary repetition in d/control, lying to the build server in 
> telling it that it needs a package in order to build could cause unnecesssary 
> problems in bootstrapping.

Well, but we're running a real-world system here. In an optimal world
these runtime dependencies would be build dependencies because unit
tests would run the code and depend on the libraries being present.
Alas, sometimes that's not possible and packages are still not going to
be useful (or installable) on architectures where those dependencies are
missing. Making them explicit as build dependencies avoids having
useless, uninstallable packages on those architectures.

So it's about trade-offs and I think Julien's right.

Kind regards
Philipp Kern



signature.asc
Description: OpenPGP digital signature


Re: request: check installability of Depends before building

2018-02-12 Thread Afif Elghraoui


On February 12, 2018 6:10:18 AM EST, Julien Cristau  wrote:
>On 12/03/2017 07:38 PM, Afif Elghraoui wrote:
>> 
>> 
>> على السبت  2 كانون الأول 2017 ‫06:14، كتب Julien Cristau:
>>> On Wed, Oct 18, 2017 at 00:40:12 -0400, Afif Elghraoui wrote:
>>>


>~~~https://anonscm.debian.org/cgit/debian-med/sga.git/tree/debian/control
 Priority: optional
 Build-Depends: debhelper (>= 10),
dh-autoreconf,
libsparsehash-dev,
zlib1g-dev | libz-dev,
libbamtools-dev,
gawk,
help2man,
 # Run-Time Depends
 # (to prevent building on architectures where it won't be
>installable)
   samtools,
   python,
   python-ruffus,
python-pysam
 Standards-Version: 4.1.0
 ~~~

 ...which is an abuse of the build-depends field since those at the
 bottom are not actually needed for building the package.

>>> I think this is actually a reasonable use of build-depends.
>> 
>> How? They are packages not needed during the build process. Do you
>think
>> this needs a special build profile?
>> 
>No, I don't?

I'm trying to understand how you think that's a reasonable use of 
build-depends, because I can't see how it's not an abuse.

>  What problem are you actually trying to solve?
>

Besides unnecessary repetition in d/control, lying to the build server in 
telling it that it needs a package in order to build could cause unnecesssary 
problems in bootstrapping.

Afif



Re: request: check installability of Depends before building

2018-02-12 Thread Julien Cristau
On 12/03/2017 07:38 PM, Afif Elghraoui wrote:
> 
> 
> على السبت  2 كانون الأول 2017 ‫06:14، كتب Julien Cristau:
>> On Wed, Oct 18, 2017 at 00:40:12 -0400, Afif Elghraoui wrote:
>>
>>>
>>> ~~~https://anonscm.debian.org/cgit/debian-med/sga.git/tree/debian/control
>>> Priority: optional
>>> Build-Depends: debhelper (>= 10),
>>>dh-autoreconf,
>>>libsparsehash-dev,
>>>zlib1g-dev | libz-dev,
>>>libbamtools-dev,
>>>gawk,
>>>help2man,
>>> # Run-Time Depends
>>> # (to prevent building on architectures where it won't be installable)
>>>samtools,
>>>python,
>>>python-ruffus,
>>>python-pysam
>>> Standards-Version: 4.1.0
>>> ~~~
>>>
>>> ...which is an abuse of the build-depends field since those at the
>>> bottom are not actually needed for building the package.
>>>
>> I think this is actually a reasonable use of build-depends.
> 
> How? They are packages not needed during the build process. Do you think
> this needs a special build profile?
> 
No, I don't?  What problem are you actually trying to solve?

Cheers,
Julien



Re: request: check installability of Depends before building

2017-12-02 Thread Julien Cristau
On Wed, Oct 18, 2017 at 00:40:12 -0400, Afif Elghraoui wrote:

> Hello,
> Currently, we have that packages don't build if any build-dependencies
> are not installable. I'd like to suggest that we do the same for
> run-time dependencies.
> 
> What ends up happening is that the package itself may build, but then it
> never migrates to testing because it's not installable on some of the
> architectures that it built on due to some run-time dependency being
> missing.
> 
> Examples of this that I know of offhand are canu (due to its indirect
> dependency on libssw via mhap) and sga.
> 
> If you look at d/control for sga, it looks like this:
> 
> ~~~https://anonscm.debian.org/cgit/debian-med/sga.git/tree/debian/control
> Priority: optional
> Build-Depends: debhelper (>= 10),
>dh-autoreconf,
>libsparsehash-dev,
>zlib1g-dev | libz-dev,
>libbamtools-dev,
>gawk,
>help2man,
> # Run-Time Depends
> # (to prevent building on architectures where it won't be installable)
>  samtools,
>  python,
>  python-ruffus,
>python-pysam
> Standards-Version: 4.1.0
> ~~~
> 
> ...which is an abuse of the build-depends field since those at the
> bottom are not actually needed for building the package.
> 
I think this is actually a reasonable use of build-depends.  The Depends
field in source packages can have a number of substvars that would make
any sort of pre-build parsing meaningless.

Cheers,
Julien



request: check installability of Depends before building

2017-10-17 Thread Afif Elghraoui
Hello,
Currently, we have that packages don't build if any build-dependencies
are not installable. I'd like to suggest that we do the same for
run-time dependencies.

What ends up happening is that the package itself may build, but then it
never migrates to testing because it's not installable on some of the
architectures that it built on due to some run-time dependency being
missing.

Examples of this that I know of offhand are canu (due to its indirect
dependency on libssw via mhap) and sga.

If you look at d/control for sga, it looks like this:

~~~https://anonscm.debian.org/cgit/debian-med/sga.git/tree/debian/control
Priority: optional
Build-Depends: debhelper (>= 10),
   dh-autoreconf,
   libsparsehash-dev,
   zlib1g-dev | libz-dev,
   libbamtools-dev,
   gawk,
   help2man,
# Run-Time Depends
# (to prevent building on architectures where it won't be installable)
   samtools,
   python,
   python-ruffus,
   python-pysam
Standards-Version: 4.1.0
~~~

...which is an abuse of the build-depends field since those at the
bottom are not actually needed for building the package.

Many thanks for your consideration and all that you do.

regards
Afif

-- 
Afif Elghraoui | عفيف الغراوي
http://afif.ghraoui.name