Re: tool to order packages by build dependencies (rpmbuild-order)

2018-07-27 Thread Nicolas Mailhot
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)

2018-07-27 Thread Jens-Ulrik Petersen
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)

2018-07-27 Thread Mikolaj Izdebski
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)

2018-07-26 Thread Michal Novotny
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Jeff Johnson
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)

2018-07-26 Thread Adam Williamson
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)

2018-07-26 Thread Igor Gnatenko
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Jeff Johnson
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Nicolas Mailhot

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)

2018-07-26 Thread Igor Gnatenko
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)

2018-07-26 Thread Jens-Ulrik Petersen
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)

2018-07-26 Thread Robin Lee
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)

2018-07-26 Thread David Tardon
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)

2018-07-25 Thread Igor Gnatenko
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/