The ebuild creates a /usr/share/bash-completion/tree.bashcomp whereas every other file in that directory does not have the bashcomp extension. This is most likely related to the switch from the bash-completion eclass to bash-completion-r1. Solution: replace dobashcomp "${FILESDIR}"/${PN}.bashcomp by newbashcomp "${FILESDIR}"/${PN}.bashcomp tree Reproducible: Always
Why does it matter what the file is called?
(In reply to comment #1) > Why does it matter what the file is called? In eselect bashcomp list, you will see, for instance: [183] tcpdump [184] tig * [185] tree.bashcomp [186] udisks * [187] unace It just feels weird an incorrect. Moreover, with the previous eclass, it was simply named 'tree'; I don't think the change was intentional (the behavior was to use ${PN}, it's not enforced anymore in the newer eclass.) That reminds me, it's probably better to use: newbashcomp "${FILESDIR}"/${PN}.bashcomp ${PN}
consistent eselect output is a good argument. fixed in portage.