Description of problem: This is the DNF backtrace (actually, the 'local' plugin) when a local RPM package is installed using DNF. Version-Release number of selected component: dnf-1.0.0-1.fc22 Additional info: reporter: libreport-2.5.1 cmdline: /usr/bin/python -OO /usr/bin/dnf install /mnt/var/lib/yum/plugins/local_f21/akmod-nvidia-340xx-340.76-2.fc21.x86_64.rpm executable: /usr/bin/dnf kernel: 4.0.4-301.fc22.x86_64 runlevel: N 5 type: Python uid: 0 Truncated backtrace: package.py:108:repo:KeyError: u'@commandline' Traceback (most recent call last): File "/usr/bin/dnf", line 36, in <module> main.user_main(sys.argv[1:], exit_code=True) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 185, in user_main errcode = main(args) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 84, in main return _main(base, args) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 141, in _main ret = resolving(cli, base) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 170, in resolving base.plugins.run_transaction() File "/usr/lib/python2.7/site-packages/dnf/plugin.py", line 82, in fn dnf.util.mapall(operator.methodcaller(method), self.plugins) File "/usr/lib/python2.7/site-packages/dnf/util.py", line 157, in mapall return list(map(fn, *seq)) File "/usr/lib/python2.7/site-packages/dnf-plugins/local.py", line 125, in transaction if pkg.repo.pkgdir == repodir: File "/usr/lib/python2.7/site-packages/dnf/package.py", line 108, in repo return self.base.repos[self.reponame] KeyError: u'@commandline' Local variables in innermost frame: self: <hawkey.Package object id 52522, akmod-nvidia-340xx-1:340.76-2.fc21.x86_64, @commandline>
Created attachment 1033109 [details] File: backtrace
Created attachment 1033110 [details] File: dso_list
Created attachment 1033111 [details] File: environ
Thanks for the report. @commandline is a fake repository for local rpms loaded from command line and the repo is not (and should not be) accessible from DNF. Igor, don't call `repo` on Package object - this is not in API and probably will be erased. Use `base.repos` and watch out for KeyError instead. Thanks.
I got the same error, doing a local install of plexmediaserver: Traceback (most recent call last): File "/bin/dnf", line 36, in <module> main.user_main(sys.argv[1:], exit_code=True) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 185, in user_main errcode = main(args) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 84, in main return _main(base, args) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 141, in _main ret = resolving(cli, base) File "/usr/lib/python2.7/site-packages/dnf/cli/main.py", line 170, in resolving base.plugins.run_transaction() File "/usr/lib/python2.7/site-packages/dnf/plugin.py", line 82, in fn dnf.util.mapall(operator.methodcaller(method), self.plugins) File "/usr/lib/python2.7/site-packages/dnf/util.py", line 157, in mapall return list(map(fn, *seq)) File "/usr/lib/python2.7/site-packages/dnf-plugins/local.py", line 123, in transaction if pkg.repo.pkgdir == repodir: File "/usr/lib/python2.7/site-packages/dnf/package.py", line 108, in repo return self.base.repos[self.reponame] KeyError: u'@commandline'
*** Bug 1236727 has been marked as a duplicate of this bug. ***
*** Bug 1236742 has been marked as a duplicate of this bug. ***
Will fix ASAP.
*** Bug 1268856 has been marked as a duplicate of this bug. ***
*** Bug 1278631 has been marked as a duplicate of this bug. ***
https://github.com/rpm-software-management/dnf-plugins-extras/commit/25a5c50a9b95e9b55327cd28d3d310f6b60be4f6
*** Bug 1289231 has been marked as a duplicate of this bug. ***