#7 Switch to using depchase
Merged by ncoghlan. Opened by ncoghlan.
modularity/ ncoghlan/fedmod switch-to-depchase  into  master

Download 7.patch
  • module deps differ is gone
  • refactored fedmod._depchase to expose
    a resolve() functions as its main API
  • added a metadata download command

@ignatenkobrain I'm having some issues with depchase, where I don't think I'm initialising libsolv correctly. Attempting to call make_pool("x86_64") gives the following tracebacks:

>>> fedmod._depchase.make_pool("x86_64")
Traceback (most recent call last):
  File "/home/ncoghlan/fedoradevel/fedmod/fedmod/_depchase.py", line 305, in load_stub
    repo = repodata.repo.appdata
TypeError: in method 'XRepodata_repo_get', argument 1 of type 'XRepodata *'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ncoghlan/fedoradevel/fedmod/fedmod/_depchase.py", line 484, in make_pool
    return setup_pool(arch, setup_repos())
  File "/home/ncoghlan/fedoradevel/fedmod/fedmod/_depchase.py", line 331, in setup_pool
    addedprovides = pool.addfileprovides_queue()
  File "/usr/lib64/python3.6/site-packages/solv.py", line 1173, in addfileprovides_queue
    return _solv.Pool_addfileprovides_queue(self)
SystemError: <built-in function Pool_addfileprovides_queue> returned a result with an error set

it's hard to say from first glance, but I guess your repo.handle.appdata is not pointing to repo...

please don't do this. libsolv parses repomd.xml and can tell you proper URL.

this should be Repo object, not string

This is currently just automating the instructions from https://github.com/fedora-modularity/depchase#installation

Switching to parsing repomd.xml would make sense, but I figure it isn't going to be the cause of the current problem.

The bug turned out to be really mundane, and I fixed it by resolving the unresolved pylint errors: I'd changed the name of one of the metadata loading methods, and missed updating one of the calls to that method.

I also fixed the harcoded repo metadata loading to set repo.srcrepo correctly for the x86_64 repo object.

The tests are still failing, but they're failing complaining about a missing dependency for a package that was last successfully built in Fedora 24 (rubygems-shoulda-matchers): https://koji.fedoraproject.org/koji/packageinfo?packageID=18740

The missing dependency is rubygems-protected_attributes: https://koji.fedoraproject.org/koji/packageinfo?packageID=16831

1 new commit added

  • Fix some problems

1 new commit added

  • More fixes & workarounds:

Pull-Request has been merged by ncoghlan

Pull-Request has been merged by ncoghlan

I went ahead and merged this, with the workaround of not actually including the build dependencies yet.

My rationale for that is that it gets the test suite to a much happier place, since a run completes in 20 seconds rather than a few minutes.

Metadata