Re: request: check installability of Depends before building
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
On February 12, 2018 4:55:09 PM EST, Philipp Kernwrote: >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
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
On February 12, 2018 6:10:18 AM EST, Julien Cristauwrote: >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
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
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
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