| Summary: | =sys-apps/systemd-201 installs hidden bash-completion functions | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Sergei Trofimovich (RETIRED) <slyfox> |
| Component: | Current packages | Assignee: | Gentoo systemd Team <systemd> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
sys-fs/udev puts udevadm to /usr/share/bash-completion/ instead of /usr/share/bash-completion/completions/ because in Fedora, Debian, and co. the bash-completion pkg-config file has the default of completionsdir= /usr/share/bash-completion/completions/ many upstreams use it as the default in their configure files too Gentoo is a oddball with it's directory and I think this is something we should change to be more compatible with other major distros... :-/ Oh, I see the problem...
AC_ARG_WITH([bashcompletiondir],
AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
[],
[AS_IF([$($PKG_CONFIG --exists bash-completion)], [
with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
] , [
with_bashcompletiondir=${datadir}/bash-completion/completions
])])
I have no idea why they're having that weird default.
Anyway, it should be fixed now. I'm not revbumping since I will be adding -202 soon anyway.
(In reply to comment #1) > sys-fs/udev puts udevadm to /usr/share/bash-completion/ instead of > /usr/share/bash-completion/completions/ > > because in Fedora, Debian, and co. the bash-completion pkg-config file has > the default of completionsdir= /usr/share/bash-completion/completions/ many > upstreams use it as the default in their configure files too > > Gentoo is a oddball with it's directory and I think this is something we > should change to be more compatible with other major distros... :-/ Please suggest that on the ml. In the meantime, I'll add getbashcompdir() to the eclass. |
The completions are installed: # equery f systemd | grep completion /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/bash-completion/completions/hostnamectl /usr/share/bash-completion/completions/journalctl /usr/share/bash-completion/completions/localectl /usr/share/bash-completion/completions/loginctl /usr/share/bash-completion/completions/systemctl /usr/share/bash-completion/completions/systemd-coredumpctl /usr/share/bash-completion/completions/timedatectl /usr/share/bash-completion/completions/udevadm but not seen by standard tools due to directory offset: # eselect bashcomp --list --global | grep systemctl # bashcomp-config | grep systemctl They seem to work if I link them to, say, manually to ~/.bash_completion.d.