Closed nethershaw closed 4 years ago
Wowza! Thanks a metric ton for both your detailed writeup and helpful changeset. As suspected, this is (of course) all my fault. We'll get this merged ASAP to appease my gnawing sense of guilt and shame.
(╯°□°)╯︵ ┻━┻
...in EAPI 7 ebuilds, this variable will default to
""
rather than the traditional"/"
within ebuilds when pointing to the root filesystem...
┬─┬ ノ( ゜-゜ノ)
Lastly, this is the most scholarly dissemination of a GitHub issue that I've ever seen. It's almost like... you're my open-source doppelgänger. ...umlaut for emphasis
I have now been suitably edumucated. I solemnly vow on an emoji dagger that this EAPI 7 ${EROOT}
oversight shall never trouble us again: :dagger:
Oh, boy. Manually inspecting /usr/lib64/python3.6/site-packages/powerline/config.py
shows additional badness:
DEFAULT_SYSTEM_CONFIG_DIR = 'etc/xdg'
I'll get this similarly patched up. This is why we test before pushing, people.
The prior comment's mini-issue resolved by 9452696.
@nethershaw: Because of that, you probably also want to update. With luck, this hallmarks the end of Powerline concerns for at least five minutes. crosses skeletal fingers
I believe a recent change may have caused very, very subtle and unintended consequences.
If installed by an ebuild following the linked commit, when launching Tmux using a standard configuration that was previously working with a prior version of the ebuild, Powerline may appear simply not to initialize. In that case, manual initialization will yield the following output (assuming a python3.6 interpreter):
This is traceable to
/usr/lib64/python3.6/site-packages/powerline/config.py
, where it can be observed that theBINDINGS_DIRECTORY
variable now takes the value'usr/share/powerline/'
(note the missing leading forward slash). This configuration variable is set by the ebuild here.This seems strange at first; additional digging reveals an important but easy to miss note from the Gentoo Development Guide. These are the salient bits (emphasis added):
Thus, changing the ebuild's API version without also changing the way the
BINDINGS_DIRECTORY
config variable is constructed has the consequence of removing from it the necessary leading forward slash, which in turn breaks thepowerline-config
tool since it can no longer locate thepowerline-base.conf
file by its absolute path.I am not sure how you would prefer to fix this, but it may be sufficient simply to change the definition of
POWERLINE_HOME_EROOTED
from:to:
...since
${EROOT}
will now reliably never contain a trailing slash.