juhp / fbrnch

Tool to update fedora packages branches
https://hackage.haskell.org/package/fbrnch
GNU General Public License v2.0
23 stars 3 forks source link

RFE "rebuild-dependents" #50

Open LecrisUT opened 1 month ago

LecrisUT commented 1 month ago

Just to have a tracker for the discussion on matrix. The feature request is to be able to bump, push, build, etc. starting from a branch update, e.g. a rust library, up to the leaf consumers (rust binary in the example). Would also be useful to create a file or outputting to text so that we can start restart from different points in bump, push, build step without having to recompile the list each time.

Another idea in the discussion was that tools like fedrq wr cannot be 100% accurate due to arch specific dependencies, but this could be complemented by scraping a build.log/root.log. Maybe would require to store some database of dependencies locally, though no complaints if there was a hosted one or directly inside koji ;)

juhp commented 3 weeks ago

The feature request is to be able to bump, push, build, etc. starting from a branch update, e.g. a rust library, up to the leaf consumers (rust binary in the example). Would also be useful to create a file or outputting to text so that we can start restart from different points in bump, push, build step without having to recompile the list each time.

That was a little hard to understand - re-reading, okay I think you talking about a dependency tree of packages. But I am still not completely clear what you are after here: sounds almost like you want fbrnch scripting...

Maybe you could give a small concrete real example to make it clear: currently fbrnch only run one command at a time, though there is fbrnch command ....

Another idea in the discussion was that tools like fedrq wr cannot be 100% accurate due to arch specific dependencies, but this could be complemented by scraping a build.log/root.log. Maybe would require to store some database of dependencies locally, though no complaints if there was a hosted one or directly inside koji ;)

Interesting idea - probably good to start from some example again. The thing is once you have built the package then you can directly query it for dependencies though.

LecrisUT commented 3 weeks ago

Basically, let's say we have LibA that is having a SOVERSION bump, the workflow there is to bump all dependent packages as if queried by fedrq wr LibA. 2nd more complex level, let's say we have a rust package update, we need to do the same steps recursively up to bin packages.

juhp commented 3 weeks ago

Ah gotcha: so you want something like rebuild-dependents - yes that definitely makes sense and should be doable for trivial cases (if there are major dependency changes of course it gets more complicated, but we can ignore that for now).

BTW rpmbuild-order can already generate a dependent tree list of packages, based on adjacent package checkouts.

juhp commented 3 weeks ago

(Also just for reference there is fbrnch install --recursive again based on adjacent package repo checkouts: ie does the opposite of what you want - builds from leaf down dep branches.)

juhp commented 3 weeks ago

(Also pushing is already done automatically by build and parallel.)

LecrisUT commented 3 weeks ago

(Also pushing is already done automatically by build and parallel.)

Yeah, but we might need to have these supported separately if we don't have write access to all dependencies. Or maybe we can assume #51 would take care of that.