Re: tool to order packages by build dependencies (rpmbuild-order)
Le jeudi 26 juillet 2018 à 21:01 +0900, Jens-Ulrik Petersen a écrit : > On Thu, Jul 26, 2018 at 7:10 PM Nicolas Mailhot < > > > To be complete it should also be boostrap-aware : do intermediary > > bootsrap builds whenever there is a cycle and one or more links in > > the > > cycle have bootstraping instructions in their spec. > > I see: hmm cyclic deps are tricky... > Currently it gives up if there is a cycle in the graph. > Maybe an example would help me, if you have one. Basically if there is a cycle and the packager anticipated it one or more specs of the cycle will include bootstrap-specific conditionals as per https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping When the conditional is activated the package builds with reduced functionality and reduced requirements, breaking the cycle Of course once you've built the packages depending on the boostrapped spec you need to rebuild it in normal (full) mode) You have an exemple of the result here https://copr.fedorainfracloud.org/coprs/nim/More_Go_Packaging/builds/ There are quite a lot of cycles requiring bootstraping there. The devel builds are probably obsolete by now, but I doubt the el7 situation changed much since Regards, -- Nicolas Mailhot ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/735WI6Y7XK5MTUI7TYJ5ZHAU6HZJO5VJ/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Fri, Jul 27, 2018 at 1:21 PM Michal Novotny wrote: > On Fri, Jul 27, 2018 at 4:56 AM Jens-Ulrik Petersen > wrote: > >> On Fri, Jul 27, 2018 at 12:54 AM Jens-Ulrik Petersen >> wrote: >> >>> I should test some larger package sets to see how well rpmbuild-order >>> scales too... >>> >> >> BTW are there any tarballs of all the fedora spec files available >> somewhere these days? >> > > They are here: > https://src.fedoraproject.org/lookaside/rpm-specs-latest.tar.xz > Thanks, Michal I played with them a bit. python-* had some circular BRs. perl* worked fine. Of course I tried ghc* before. * got down to broken bcg729.spec. php* had one circular BR pair. nodejs-* seemed okay. (I may not have all the required macros etc installed though.) It seems to be a good way of finding broken or more exotic spec files anyway. ;) I wrote a small script to see the most common package prefices in Fedora: 2915 perl 1995 python 1564 nodejs 729 php 661 rubygem 616 golang 461 ghc 403 rust 284 *-fonts 264 mingw 256 R 139 gnome 123 kf5 122 hunspell 110 erlang 99 drupal7 98 ocaml 85 maven 74 jboss 69 eclipse 67 sugar 58 globus 52 gap 50 apache ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UEP6QJF5VS65N3IYK73EJ3CTXPGRMIJL/
Re: tool to order packages by build dependencies (rpmbuild-order)
On 07/26/2018 11:52 AM, Igor Gnatenko wrote: >>> Note that mizdebsk already had such tool for quite some time. >>> >> >> Do you have a reference? >> > > CCing Mikolaj. Latest version of the code Igor is talking about is available at [1]. The tool is targeted for solving specific problem - generating modulemd files, with correct and optimal buildorder, but it can be adapted for other things. It supports: * conditionals (parsing spec files is done by rpmbuild,, so you can use any construct supported by rpm, you can define macros to enable/disable features, do bootstrap builds etc.). * auto-provides (packages are built before generating final build order) * rich deps (for dependency solving it uses libsolv via hawkey API) [1] https://github.com/fedora-java/modularity-utils/blob/master/generate-modulemd.py -- Mikolaj Izdebski Senior Software Engineer, Red Hat IRC: mizdebsk ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/JR4ZQXNUOHRPBN63IXBESI7DVDAEHBNV/
Re: tool to order packages by build dependencies (rpmbuild-order)
Hello, On Fri, Jul 27, 2018 at 4:56 AM Jens-Ulrik Petersen wrote: > On Fri, Jul 27, 2018 at 12:54 AM Jens-Ulrik Petersen > wrote: > >> I should test some larger package sets to see how well rpmbuild-order >> scales too... >> > > BTW are there any tarballs of all the fedora spec files available > somewhere these days? > They are here: https://src.fedoraproject.org/lookaside/rpm-specs-latest.tar.xz > Of course I could download srpms, or better: script pulling spec files > from dist git. > Just wondered if something is already available? > > Jens > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/M3UMMZ273MX5OMOTQIAWZVUOS4OB3Y7N/ > ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/L5YRQMPGBDRMJ27UGRA3LJMZZ2Q5BEBU/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Fri, Jul 27, 2018 at 12:54 AM Jens-Ulrik Petersen wrote: > I should test some larger package sets to see how well rpmbuild-order > scales too... > BTW are there any tarballs of all the fedora spec files available somewhere these days? Of course I could download srpms, or better: script pulling spec files from dist git. Just wondered if something is already available? Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/M3UMMZ273MX5OMOTQIAWZVUOS4OB3Y7N/
Re: tool to order packages by build dependencies (rpmbuild-order)
You are absolutely correct: there are times, e.g., that drinking coffee is "more important" to me than say, replying to e-mail. However I don't think that Haskel is the best language to feature up an already existing uglix tool. Meanwhile I do not know of a tool that schedules rpm builds efficiently. I'd be happy to be wrong. See the build scheduler for the Hurd in NixOS for what I was referring to http://hubble.gforge.inria.fr/hubble.html ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/HM64XDUEBJJPXEG43DUWIQVSL5WJVQHA/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, 2018-07-26 at 15:40 +, Jeff Johnson wrote: > There are easier ways to accomplish build ordering using tsort(1) and a minor > amount of scripting with the same simplifying assumptions your program is > making: > 1) no cycles > 2) every package provides its own name > 3) every package supplies prerequisite package names without versions > > tsort(1) just needs 1 line of input for each package containing the name > followed by a list of prerequisites ending with a new line > > More important than build ordering is scheduling a set of builds > efficiently across multiple build machines to complete in the > shortest amount of time taking into account the cost in memory and > cpu time of each package build. This is a rather over-bold claim. What's "more important" depends on what you're doing at the time. If you just need to bump and rebuild a bunch of packages on Rawhide for an soname bump (just to give an *ENTIRELY RANDOM EXAMPLE*, right juhp? :>), then a tool like this is what you need. Since you won't be scheduling the builds - that's Koji's job - you don't need a tool that does that. -- Adam Williamson Fedora QA Community Monkey IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net http://www.happyassassin.net ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/VRPULCYYOBUBTPJ5NXRAM45NAQUH5LK7/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 6:04 PM Jens-Ulrik Petersen wrote: > On Fri, Jul 27, 2018 at 12:42 AM Jeff Johnson wrote: > >> There are easier ways to accomplish build ordering using tsort(1) and a >> minor amount of scripting with the same simplifying assumptions your >> program is making: >> 1) no cycles >> 2) every package provides its own name >> 3) every package supplies prerequisite package names without versions >> > > Yes that is essentially what my program does (just using a graph library). > (But I don't think tsort can determine reverse deps etc - but it could be > scripted too sure.) > I should test some larger package sets to see how well rpmbuild-order > scales too... > Just take ripgrep and try to revdep it. > More important than build ordering is scheduling a set of builds >> efficiently across multiple build machines to complete in the shortest >> amount of time taking into account the cost in memory and cpu time of each >> package build. > > > That's correct, and I want to do ordered parallel builds over such > dependency graphs. > > Jens > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/RFLLWLFFPAJON5UX7ORXJOZXRBFMIIBV/ > -- -Igor Gnatenko ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/POXRTHEDMEPSWMRJTSW77SF6BVWGSJC3/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Fri, Jul 27, 2018 at 12:42 AM Jeff Johnson wrote: > There are easier ways to accomplish build ordering using tsort(1) and a > minor amount of scripting with the same simplifying assumptions your > program is making: > 1) no cycles > 2) every package provides its own name > 3) every package supplies prerequisite package names without versions > Yes that is essentially what my program does (just using a graph library). (But I don't think tsort can determine reverse deps etc - but it could be scripted too sure.) I should test some larger package sets to see how well rpmbuild-order scales too... More important than build ordering is scheduling a set of builds > efficiently across multiple build machines to complete in the shortest > amount of time taking into account the cost in memory and cpu time of each > package build. That's correct, and I want to do ordered parallel builds over such dependency graphs. Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/RFLLWLFFPAJON5UX7ORXJOZXRBFMIIBV/
Re: tool to order packages by build dependencies (rpmbuild-order)
There are easier ways to accomplish build ordering using tsort(1) and a minor amount of scripting with the same simplifying assumptions your program is making: 1) no cycles 2) every package provides its own name 3) every package supplies prerequisite package names without versions tsort(1) just needs 1 line of input for each package containing the name followed by a list of prerequisites ending with a new line More important than build ordering is scheduling a set of builds efficiently across multiple build machines to complete in the shortest amount of time taking into account the cost in memory and cpu time of each package build. ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/NSQZKDOHSTZLI2LJXTLIVJRFKAZT4VEM/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 7:10 PM Nicolas Mailhot wrote: > Le 2018-07-26 07:20, Jens-Ulrik Petersen a écrit : > > https://github.com/juhp/rpmbuild-order > > It works by reading the BRs in spec files of the packages you want to > > build, generating a graph of their interdependencies internally, from > > which it outputs the packages in a build dependency order. If you have > > a complete family of packages checked out, it can also output the > > dependencies or reverse dependency of any of the packages. > > That's very nice. > Thanks To be complete it should also be boostrap-aware : do intermediary > bootsrap builds whenever there is a cycle and one or more links in the > cycle have bootstraping instructions in their spec. I see: hmm cyclic deps are tricky... Currently it gives up if there is a cycle in the graph. Maybe an example would help me, if you have one. Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/4YZCHZ3AFQSVUFUEKGUIWD2XHUS3SBK3/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 6:53 PM Igor Gnatenko < ignatenkobr...@fedoraproject.org> wrote: > On Thu, Jul 26, 2018 at 11:44 AM Jens-Ulrik Petersen > wrote: > >> On Thu, Jul 26, 2018 at 2:44 PM Igor Gnatenko < >> ignatenkobr...@fedoraproject.org> wrote: >> >>> So… Since I have hard times understanding code, I will just ask >>> questions here: >>> * Does it use libsolv? I guess not. >>> * Does it handle rich dependencies? I guess not. >>> >> >> It only uses BuildRequires directly from .spec files. >> > > So what will happen if I have bunch of spec files where I have > BuildRequires: (foo >= 1.0.0 with foo < 2.0.0), will it work in that case? > Currently, it ignores bounds (for BRs). * How does it know Provides if package is not built yet? >>> >> >> I could add Provides too perhaps. >> > > That doesn't help for packages which use dependency generators to generate > Requires/Provides (99% of packages). > Do you have any examples? 99% is a lot... :) Not sure if we have different use-cases in mind. Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/TP6WTWPCS5TKVRCURUDZJ6SAKCNMSLFA/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 3:58 PM David Tardon wrote: > On Thu, 2018-07-26 at 14:20 +0900, Jens-Ulrik Petersen wrote: > > You can try it from my copr repo: > > https://copr.fedorainfracloud.org/coprs/petersen/rpmbuild-order > > - nothing provides > libHSexplicit-exception-0.1.9.2-6IciBnUHzJA6pzrqvgpq00-ghc8.2.2.so()(64bit) > needed by rpmbuild-order-0.1-1.fc28.x86_64 Oops, I should have tested -- I meant to do static builds in copr. I just pushed a new build to copr which should fix this - thanks for the feedback. Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/MVWCK7ZHUTOCQFBZG4SMOYENTDN5VS3S/
Re: tool to order packages by build dependencies (rpmbuild-order)
Le 2018-07-26 07:20, Jens-Ulrik Petersen a écrit : Hi https://github.com/juhp/rpmbuild-order It works by reading the BRs in spec files of the packages you want to build, generating a graph of their interdependencies internally, from which it outputs the packages in a build dependency order. If you have a complete family of packages checked out, it can also output the dependencies or reverse dependency of any of the packages. That's very nice. To be complete it should also be boostrap-aware : do intermediary bootsrap builds whenever there is a cycle and one or more links in the cycle have bootstraping instructions in their spec. Regards, -- Nicolas Mailhot ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/DQ7ZOFXI2WDF2JYK3RRSLZ6MFKTXJZIC/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 11:44 AM Jens-Ulrik Petersen wrote: > On Thu, Jul 26, 2018 at 2:44 PM Igor Gnatenko < > ignatenkobr...@fedoraproject.org> wrote: > >> So… Since I have hard times understanding code, I will just ask questions >> here: >> * Does it use libsolv? I guess not. >> * Does it handle rich dependencies? I guess not. >> > > It only uses BuildRequires directly from .spec files. > So what will happen if I have bunch of spec files where I have BuildRequires: (foo >= 1.0.0 with foo < 2.0.0), will it work in that case? > * How does it know Provides if package is not built yet? >> > > I could add Provides too perhaps. > That doesn't help for packages which use dependency generators to generate Requires/Provides (99% of packages). * How does it handle conditions in specs? >> > > It leaves that to rpmspec. > > >> Note that mizdebsk already had such tool for quite some time. >> > > Do you have a reference? > CCing Mikolaj. > Thanks, Jens > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/PLOXTMGYWV3KFOGTCIXVMIWRZQKD5ERD/ > -- -Igor Gnatenko ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7EE7EGWLSBUQNJBLGISBT3NQJT4VPCEN/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 2:44 PM Igor Gnatenko < ignatenkobr...@fedoraproject.org> wrote: > So… Since I have hard times understanding code, I will just ask questions > here: > * Does it use libsolv? I guess not. > * Does it handle rich dependencies? I guess not. > It only uses BuildRequires directly from .spec files. * How does it know Provides if package is not built yet? > I could add Provides too perhaps. * How does it handle conditions in specs? > It leaves that to rpmspec. > Note that mizdebsk already had such tool for quite some time. > Do you have a reference? Thanks, Jens ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/PLOXTMGYWV3KFOGTCIXVMIWRZQKD5ERD/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 1:21 PM Jens-Ulrik Petersen wrote: > > Hi, > > This is an early announcement about a tool called 'rpmbuild-order' I made to > sort RPM-based packages in build dependency order. I am not sure if such a > tool exists already? Certainly some tools like `mockchain` can already order > builds in this way, but I don't know of such a standalone utility. > > https://github.com/juhp/rpmbuild-order > > It works by reading the BRs in spec files of the packages you want to build, > generating a graph of their interdependencies internally, from which it > outputs the packages in a build dependency order. If you have a complete > family of packages checked out, it can also output the dependencies or > reverse dependency of any of the packages. > > You can try it from my copr repo: > https://copr.fedorainfracloud.org/coprs/petersen/rpmbuild-order > > Let me know if you if it works for you or you find any problems. > I have tested it lightly a set of about 400 packages. There are probably > optimization that could be made. I feel it would be good to do mass-rebuilds > for example in dependency order perhaps. > > Also, I am planning to add this package to Fedora: before doing that I am > open to suggestions for alternative names for the tool - I couldn't really > think of a better one.. > > Cheers, Jens > > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/ECWHXZHDJ5UEPTLRHGYYGN65EW7Y6GRU/ I use a tool with similar function named Planex[1] [1] https://github.com/xenserver/planex -robin ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QCX6C33POZMAHXQSBVWUOVWLUR2NVRHJ/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, 2018-07-26 at 14:20 +0900, Jens-Ulrik Petersen wrote: > You can try it from my copr repo: > https://copr.fedorainfracloud.org/coprs/petersen/rpmbuild-order Error: Problem: conflicting requests - nothing provides libHSexplicit-exception-0.1.9.2-6IciBnUHzJA6pzrqvgpq00-ghc8.2.2.so()(64bit) needed by rpmbuild-order-0.1-1.fc28.x86_64 Tried on F-27 and F-28, with the same result. D. ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/MR6CJSB5NESO57PZLBKSJNN52KERKCWX/
Re: tool to order packages by build dependencies (rpmbuild-order)
On Thu, Jul 26, 2018 at 7:29 AM Jens-Ulrik Petersen wrote: > Hi, > > This is an early announcement about a tool called 'rpmbuild-order' I made > to sort RPM-based packages in build dependency order. I am not sure if such > a tool exists already? Certainly some tools like `mockchain` can already > order builds in this way, but I don't know of such a standalone utility. > > https://github.com/juhp/rpmbuild-order > > It works by reading the BRs in spec files of the packages you want to > build, generating a graph of their interdependencies internally, from which > it outputs the packages in a build dependency order. If you have a complete > family of packages checked out, it can also output the dependencies or > reverse dependency of any of the packages. > > You can try it from my copr repo: > https://copr.fedorainfracloud.org/coprs/petersen/rpmbuild-order > > Let me know if you if it works for you or you find any problems. > I have tested it lightly a set of about 400 packages. There are probably > optimization that could be made. I feel it would be good to do > mass-rebuilds for example in dependency order perhaps. > Well, the main problem would be that it's written in Haskell which makes it impossible for me to contribute ;) So… Since I have hard times understanding code, I will just ask questions here: * Does it use libsolv? I guess not. * Does it handle rich dependencies? I guess not. * How does it know Provides if package is not built yet? * How does it handle conditions in specs? Note that mizdebsk already had such tool for quite some time. Also, I am planning to add this package to Fedora: before doing that I am > open to suggestions for alternative names for the tool - I couldn't really > think of a better one.. > > Cheers, Jens > > ___ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/ECWHXZHDJ5UEPTLRHGYYGN65EW7Y6GRU/ > -- -Igor Gnatenko ___ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/VGL4GRU7YR6C4S64NO7F7BDXJ6Q5RKKP/