pkgcheck
pkgcheck copied to clipboard
[Commits Bug]: Traceback during pkgdev push when a later commit deletes a changed ebuild
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
When trying to pkgdev push
the changeset that ended up in ::gentoo as 976c25abd584cc82adada7e80fcfead902dabe01..74b1ce4d40e78ea5a34a82ed1dc414ee169bb69e
I got the following traceback from pkgdev push:
pkgdev push: error: Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/pkgcheck/pipeline.py", line 237, in _run
if results := tuple(runner.run(restriction)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pkgcheck/runners.py", line 71, in run
yield from check.feed(item)
File "/usr/lib/python3.12/site-packages/pkgcheck/checks/git.py", line 527, in feed
yield from self.removal_checks(list(pkg_map["D"]))
File "/usr/lib/python3.12/site-packages/pkgcheck/checks/git.py", line 358, in removal_checks
old_keywords = set().union(*(p.keywords for p in removal_repo.match(pkg.unversioned_atom)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pkgcore/repository/prototype.py", line 224, in match
return list(self.itermatch(atom, **kwds))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pkgcore/repository/prototype.py", line 314, in _internal_match
for pkg in self._internal_gen_candidates(candidates, **kwargs):
File "/usr/lib/python3.12/site-packages/pkgcore/repository/prototype.py", line 309, in _internal_gen_candidates
yield from sorter(pkg_filter(pkgs))
File "/usr/lib/python3.12/site-packages/pkgcore/ebuild/repository.py", line 591, in _pkg_filter
if not pkg.is_supported:
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/snakeoil/klass.py", line 389, in __call__
return self.getter(obj)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pkgcore/package/base.py", line 95, in dynamic_getattr_dict
val = functor(self)
^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pkgcore/ebuild/ebuild_src.py", line 289, in eapi
i = fileutils.readlines_utf8(ebuild.path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/snakeoil/_fileutils.py", line 85, in native_readlines
handle = open(mypath, mode, encoding=encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp-pkgcheck-7oftddfy.repo/media-libs/gst-plugins-bad/gst-plugins-bad-1.22.10.ebuild'
It looks like the commits scan broke because an earlier commit adds gst-plugins-bad-1.22.10, but then a later one moves it to gst-plugins-bad-1.22.11 instead in the same push. That's just an educated guess though.
Expected Behavior
No traceback and successful pkgdev push
master commit id
74b1ce4d40e78ea5a34a82ed1dc414ee169bb69e
HEAD link
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=976c25abd584cc82adada7e80fcfead902dabe01
pkgcheck version
pkgcheck 0.10.26
pkgcore version
pkgcore 0.12.23
git remotes configuration
leio [email protected]:leio/gentoo.git (fetch) leio [email protected]:leio/gentoo.git (push) origin git+ssh://[email protected]/repo/gentoo.git (fetch) origin git+ssh://[email protected]/repo/gentoo.git (push)