Re: F35 Change: Broken RPATH will fail rpmbuild (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 16, 2021 at 10:58:13PM -0700, Tom Stellard wrote:
> On 6/16/21 2:11 PM, Charalampos Stratakis wrote:
> >On Wed, Jun 16, 2021 at 1:56 AM Tom Stellard <tstellar@xxxxxxxxxx <mailto:tstellar@xxxxxxxxxx>> wrote:
> >
> >    On 5/7/21 10:48 AM, Ben Cotton wrote:
> >     > https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild <https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild>
> >     >
> >     > == Summary ==
> >     > Enable broken RPATH detection
> >     > [https://docs.fedoraproject.org/en-US/packaging-guidelines/#_brp_buildroot_policy_scripts <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_brp_buildroot_policy_scripts>
> >     > buildroot policy] script by default. This will make the RPM build fail
> >     > once a broken RPATH was detected within a binary or a shared library
> >     > file. An opt-out mechanism will be provided as well.
> >     >
> >     > == Owner ==
> >     > * Name: [[User:cstratak| Charalampos Stratakis]]
> >     > * Email: cstratak AT redhat.com <http://redhat.com>
> >     >
> >     >
> >
> >    Hi,
> >
> >    Was there any testing done to determine how much this script would increase
> >    build times?  I've noticed it takes quite a while on the kernel builds, and
> >    I'm curious what factors influence how long the script takes.  Is it
> >    number of binaries, binary sizes, etc?
> >
> >    -Tom
> >    _______________________________________________
> >    devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx <mailto:devel@xxxxxxxxxxxxxxxxxxxxxxx>
> >    To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx <mailto:devel-leave@xxxxxxxxxxxxxxxxxxxxxxx>
> >    Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ <https://docs.fedoraproject.org/en-US/project/code-of-conduct/>
> >    List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines <https://fedoraproject.org/wiki/Mailing_list_guidelines>
> >    List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx <https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx>
> >    Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure <https://pagure.io/fedora-infrastructure>
> >
> >
> >Hey Tom,
> >
> >Unfortunately no, a potential increase in build time was not taken into account at the time of the implementation of this change, as it never came up when considering other buildroot policy scripts as well.
> >
> >Here is the actual script that runs: https://github.com/rpm-software-management/rpm/blob/rpm-4.16.x/scripts/check-rpaths-worker <https://github.com/rpm-software-management/rpm/blob/rpm-4.16.x/scripts/check-rpaths-worker>
> >
> >Could you try and compare two scratch builds? One as is and one by adding |%global __brp_check_rpaths %{nil} |at the SPEC?|
> >|
> >
> 
> Instead of doing two scratch builds, I just added:
> %global __brp_check_rpaths time /usr/lib/rpm/check-rpaths to the spec file
> and did a scratch build[1].
> 
> The results on x86_64 were:
> 
> real	13m51.517s
> user	8m53.216s
> sys	7m34.105s

An fairly easy fix might be to stuff 'parallel --group' there, to at
least process different files concurrently.

> Overall build time for the scratch build was 88m37s, so  that means check-rpaths
> accounted for 15% of the build time.  I'm going to do some more tests on some
> of the larger packages I maintain (llvm and clang) and see what the impact is.
> 
> I do think it would be worth trying to profile the script and see if there is
> room for optimization.
> 
> - Tom
> 
> [1] https://koji.fedoraproject.org/koji/taskinfo?taskID=70270039
> 
> 
> 
> >Also adding here for completion that the script will also check for RUNPATH as of rpm 4.17: https://github.com/rpm-software-management/rpm/pull/1487/files <https://github.com/rpm-software-management/rpm/pull/1487/files>

>From a quick look, that looks like it'll double the time.

What about:
-    check_rpath $i "RPATH"
-    check_rpath $i "RUNPATH"
+    check_rpath $i "RPATH|RUNPATH"

Zbyszek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux