Description of problem: I am unable to complete a Bodhi build in Rawhide because dogpile cache cannot be imported. I do not yet fully understand what is causing the issue, but it does seem potentially connected to the recent mass rebuild. The reason I think this is that I could not reproduce this problem until I upgraded my Rawhide box to the versions of dogpile cache and core in Koji, which are not yet synced out to the mirrors. Version-Release number of selected component (if applicable): python-dogpile-cache-0.6.2-3.fc26.noarch python-dogpile-core-0.4.1-11.fc26.noarch How reproducible: Every time. Steps to Reproduce: 1. $ python -c "import dogpile.cache" Actual results: $ python -c "import dogpile.cache" Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.7/site-packages/dogpile/cache/__init__.py", line 1, in <module> from .region import CacheRegion, register_backend, make_region # noqa File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 2, in <module> from .. import Lock, NeedRegenerationException ImportError: cannot import name Lock Expected results: dogpile.cache should be possible to import.
If I dnf downgrade my system to python-dogpile-cache-0.6.2-2.fc26.noarch and python-dogpile-core-0.4.1-10.fc26.noarch, this problem goes away. This is why I think it's connected to the mass rebuild in some way. Neither of the packages' spec files were altered other than to bump the release and add a changelog entry, which makes this a bit strange.
Another observation I made when trying to debug this: I first found that I could not reproduce this on my Rawhide box, but it would happen in Koji and in mock. My first thought was the mass rebuild, so I upgraded python-dogpile-cache to the rebuilt version. The issue still did not occur. It wasn't until I also upgraded python-dogpile-core to the newer version that I could reproduce this problem on my Rawhide box.
One more note (sorry for so many independent comments): You can reproduce this by just upgrading python-dogpile-core to the new version and leaving dogpile-cache at python-dogpile-cache-0.6.2-2.fc26.noarch.
Here's another interesting observation. With dogpile-core-0.4.1-10.fc26.noarch: $ python -c "import dogpile; print dir(dogpile)" ['Lock', 'NeedRegenerationException', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'lock'] With python-dogpile-core-0.4.1-11.fc26.noarch: $ python -c "import dogpile; print dir(dogpile)" ['__doc__', '__name__', '__path__'] I believe this might be a problem in dogpile-core, but I'm not 100%.
Created attachment 1250747 [details] The old nspkg.pth file.
Created attachment 1250748 [details] The new nspkg.pth file.
Created attachment 1250749 [details] A readable verion of the old nspkg.pth file.
Created attachment 1250750 [details] A readable verion of the new nspkg.pth file.
Created attachment 1250751 [details] A diff of the two files.
Looks like the nspkg.pth file has changed, and is very likely the culprit. I've attached several files. I attached the old and new files, and then I attached versions of them that have semicolons replaced with newlines. Then I attached a diff.txt that shows the meaningful difference between them.
It appears that dogpile.core may be EOL and rolled into dogpile.cache, based on the most recent commit on dogpile.core: https://bitbucket.org/zzzeek/dogpile.core/commits/661aac8411f9f2ee5c5baebefee960fdbeda5c21
And this commit brings dogpile.core into dogpile.cache: https://bitbucket.org/zzzeek/dogpile.cache/commits/761dc0a9e4c08f9af4b732ced3604e72d74f09af?at=master I strongly suspect that we just need to retire dogpile.core, and probably make dogpile.cache stop depending on it.
I have retired this package in Rawhide.