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



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 <jul...@cristau.org> 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 Afif Elghraoui


On February 12, 2018 4:55:09 PM EST, Philipp Kern <pk...@debian.org> 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