ppisar / pungi

Forked from pungi 2 years ago
Clone

ba0193c gather: Add a hybrid depsolver backend

Authored and Committed by lsedlar 5 years ago
    gather: Add a hybrid depsolver backend
    
    This patch adds a new gather method called `hybrid`, which uses a `fus`
    binary, which must exist somewhere on the `$PATH`. It will call it
    multiple times to add multilib packages.
    
    The solver can handle packages, modules and comps groups as input.
    However comps groups are never passed in. Pungi will expand it to a list
    of packages to avoid issues with comps handling in fus. It ignores
    optional packages, and if the group mentions a package that does not
    exist, nothing else from the group is included.
    
    Multilib is also handled outside of fus. Pungi will run it, parse the
    packages from output, determines multilib packages and adds them as
    input. Then it runs the solver again. This is done until nothing new is
    added. Usually two passes should be enough.
    
    Source packages and debuginfo are added as a final step. All debuginfo
    packages from any included source are added. If the source or debuginfo
    package is included in any lookaside repo, it will be skipped.
    
    The tool expects to get a platform stream that should be provided for
    modules to depend on. Pungi looks into the modules and gets the platform
    from there. If there are more requests, an error is raised.
    
    There is some missing functionality and options that are ignored.
    Particularly these are:
    
     * gather_fulltree
     * gather_selfhosting
     * greedy_method
    
    Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
    
        
file modified
+9 -6
file modified
+14 -6
file modified
+19 -8
file modified
+56 -23
file modified
+25 -0