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.
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.