<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
<br>
<div class="moz-cite-prefix">On 10/10/2018 08:59 AM, Milan Kovacik
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAHRBwgAi_f5ume555ud-5sAdwWsDuAUo3kHFdBOKmnbP8w0H-w@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>...that might be the question we should ask ourselves
once again when it comes to recursive copying of units
between repositories.<br>
</div>
<div><br>
</div>
<div>I'd like to poll folks opinions about the possibilities
that we may have when it comes to integrating third party
solvers in Pulp. My yesterday's chat with the
#fedora-modularity folks about us integrating the Fus[1]
solver in order to reuse the Fus algorithm ran into a
couple of bumps:</div>
<div><br>
</div>
<div>* it would be laborous to create a programmatic Python
API between Fus and Pulp because we can't directly use the
libsolv thingies (pools, solvables and friends) in such an
API because Fus is written utilizing GObject, which is
incompatible with Swig, which in turn is used in libsolv
to expose the python bindings. One would have to either
re-wrap libsolv code in Fus to work with pygobject or
submit PRs against libsolv to support GObject
introspection. I dunno the details of either approach
(yet) but from the sad faces on the IRC and the Fus PR[1]
it seemed like a lot of work but it's still an option<br>
</div>
<div><br>
</div>
<div>* we still should be able to integrate thru a pipe into
Fus, that would make it possible to dump modular and
ursine metadata into Fus to perform the dependency solving
in a separate subprocess. We should probably re-check the
reasons behind our previous decision not to do the same
with DNF[2].<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
How is Integration with Fus via pipe (CLI) easier than with
gobject? Either way, you "can't directly use the libsolv thingies
(pools, solvables and friends)". Right? What am I missing?<br>
<br>
<blockquote type="cite"
cite="mid:CAHRBwgAi_f5ume555ud-5sAdwWsDuAUo3kHFdBOKmnbP8w0H-w@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div><br>
</div>
<div>* we should be able to extend current libsolv solver in
Pulp, reimplementing the algorithm from Fus. This might be
as laborous as the first option. It would probably give us
more flexibility as well as more room for screwing things
up but the responsibility would be ours alone.<br>
</div>
<div><br>
</div>
<div>Please let me know what option seems more appealing to
you; other option suggestion are welcome too.<br>
</div>
<div><br>
</div>
<div>Cheers,</div>
<div>milan</div>
<div><br>
</div>
<div>[1] <a
href="https://github.com/fedora-modularity/fus/pull/46"
moz-do-not-send="true">https://github.com/fedora-modularity/fus/pull/46</a></div>
<div>[2] <a href="https://pulp.plan.io/issues/3528#note-7"
moz-do-not-send="true">https://pulp.plan.io/issues/3528#note-7</a><br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Pulp-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/pulp-dev">https://www.redhat.com/mailman/listinfo/pulp-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>