Summary: | app-portage/porthole - USE flags disappear when you choose USE flag | ||
---|---|---|---|
Product: | Portage Development | Reporter: | ehrich.weiss |
Component: | Tools | Assignee: | Portage Tools Team <tools-portage> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | dolsen, treecleaner |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Deadline: | 2020-03-18 | ||
Attachments: |
Porthole package before adding use flag
Porthole package after adding use flag |
Description
ehrich.weiss
2019-03-10 18:46:27 UTC
Created attachment 568484 [details]
Porthole package before adding use flag
Created attachment 568486 [details]
Porthole package after adding use flag
This is still happening and it's happening on 2 systems now. I'm having a harder and harder time working with porthole at all(and kuroo crashes far too often for me to use with any regularity). Any hints as to what I could use to debug this would be greatly appreciated. I think I have solved the problem. Several years ago I was trying to cross-compile for the AVR and other things and in order to do so portage, at the time, required you to put your package.use, package.mask, etc. into folders of the same name. So my package.use folder was actually in /etc/portage/package.use/package.use, and so on for the others. Today I renamed the package.use folder and copied the package.use file into /etc/portage and I seem to have my use flags back. I don't remember reading to change everything back, and actually thought the folder system was the path forward regardless of whether you were cross-compiling but apparently all that changed and I didn't pay attention somewhere. I'm going to continue testing but for the moment you can consider this bug closed. Unfortunately after more testing, the problem still exists. When I run porthole from commandline and add USE flags via Advanced Emerge, I get the following error. Hopefully this helps someone. File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 228, in version_changed self.build_use_flag_widget(verInfo["use_flags"], verInfo["name"]) File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 621, in build_use_flag_widget ebuild_use_flags = get_reduced_flags(ebuild) File "/usr/lib64/python2.7/site-packages/porthole/backends/utilities.py", line 166, in get_reduced_flags package_use_flags = USERCONFIGS.get_user_config('USE', ebuild=ebuild) File "/usr/lib64/python2.7/site-packages/porthole/db/user_configs.py", line 268, in get_user_config match = portage_lib.xmatch('match-list', acpv, mylist=[ebuild]) File "/usr/lib64/python2.7/site-packages/porthole/backends/portagelib.py", line 328, in xmatch results = settings.portdb.xmatch(*args, **kwargs)[:] # make a copy. needed for <portage-svn-r5382 File "/usr/lib64/python2.7/site-packages/portage/dbapi/porttree.py", line 1093, in xmatch self.async_xmatch(level, origdep, loop=loop)) File "/usr/lib64/python2.7/site-packages/portage/util/_eventloop/EventLoop.py", line 833, in run_until_complete return future.result() File "/usr/lib64/python2.7/site-packages/portage/util/futures/futures.py", line 131, in result raise self._exception AssertionError: Invalid level argument: 'match-list' Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 271, in on_package_use_commit remove=removelist, callback=self.reload, parent_window = self.window ) File "/usr/lib64/python2.7/site-packages/porthole/db/user_configs.py", line 369, in set_user_config self.set_config_callback() File "/usr/lib64/python2.7/site-packages/porthole/db/user_configs.py", line 413, in set_config_callback self.set_callback() File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 361, in reload self.display_emerge_command() File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 566, in display_emerge_command command = self.get_command() File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 526, in get_command use_flags = self.get_use_flags(verInfo["name"]) File "/usr/lib64/python2.7/site-packages/porthole/advancedemerge/advemerge.py", line 457, in get_use_flags ebuild_use_flags = get_reduced_flags(ebuild) File "/usr/lib64/python2.7/site-packages/porthole/backends/utilities.py", line 166, in get_reduced_flags package_use_flags = USERCONFIGS.get_user_config('USE', ebuild=ebuild) File "/usr/lib64/python2.7/site-packages/porthole/db/user_configs.py", line 268, in get_user_config match = portage_lib.xmatch('match-list', acpv, mylist=[ebuild]) File "/usr/lib64/python2.7/site-packages/porthole/backends/portagelib.py", line 328, in xmatch results = settings.portdb.xmatch(*args, **kwargs)[:] # make a copy. needed for <portage-svn-r5382 File "/usr/lib64/python2.7/site-packages/portage/dbapi/porttree.py", line 1093, in xmatch self.async_xmatch(level, origdep, loop=loop)) File "/usr/lib64/python2.7/site-packages/portage/util/_eventloop/EventLoop.py", line 833, in run_until_complete return future.result() File "/usr/lib64/python2.7/site-packages/portage/util/futures/futures.py", line 131, in result raise self._exception AssertionError: Invalid level argument: 'match-list' BTW, bug confirmed and discussed here.. https://sourceforge.net/p/porthole/bugs/153/ I'm going to confirm that the solution mentioned on the sourceforge link does indeed fix my problem. Please someone merge this. (In reply to ehrich.weiss from comment #8) > I'm going to confirm that the solution mentioned on the sourceforge link > does indeed fix my problem. Please someone merge this. Unfortunately, https://github.com/schiffsratte/Porthole does not contain any of the history from the https://sourceforge.net/p/porthole/code/ci/master/tree/ git repository, so it's not easy to see what the differences should be. Removed. |