<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>