Summary: | app-admin/eselect doesn't depend on app-shells/bash-completion | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jacob Godserv <jacobgodserv> |
Component: | Current packages | Assignee: | Gentoo eselect Team <eselect> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | armin76, lucazorzo |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jacob Godserv
2009-12-31 03:04:39 UTC
(In reply to comment #0) > Steps to Reproduce: > Something like this: > 1. USE="bash-completion" emerge eselect > 2. eselect bashcomp enable --global eselect > 3. (reload bash, try to use "eselect <tab><tab>" and note the lack of useful > help) > 4. emerge gentoo-bashcomp > 5. (now it works) It is not that I don't believe you but given that gentoo-bashcomp is just 3 useful files[1]. They actually won't do anything unless you enable them like you do for eselect completion. For what its worth, they don't have anything to do with eselect completion either. [1]: %% qlist gentoo-bashcomp /usr/share/doc/gentoo-bashcomp-20090613/ChangeLog.bz2 /usr/share/doc/gentoo-bashcomp-20090613/TODO.bz2 /usr/share/doc/gentoo-bashcomp-20090613/AUTHORS.bz2 /usr/share/bash-completion/layman /usr/share/bash-completion/gentoo /usr/share/bash-completion/repoman %% So, please elaborate. You are absolutely right. It's app-shells/bash-completion which provides this functionality to eselect. I "emerge -C gentoo-bashcomp" and bash completion was still there. But as soon as I ran "emerge --depclean -a" bash-completion vanished and reloading my bash prompt meant no more fancy bash completion. Specifically, bash-completion provides /etc/profile.d/bash-completion.sh which is what eselect relies upon for bash completion to work, afaict. eselect is modeled after bash-completion.eclass (which it cannot use since the eclass has eselect itself in RDEPEND). bash-completion.eclass also doesn't depend on app-shells/bash-completion for some reason unknown to me. @darkside: Can you answer this? I also propose to change the eclass to do something like: if [[ ${CATEGORY}/${PN} != app-admin/eselect ]]; then RDEPEND="bash-completion? ( app-admin/eselect )" fi so that eselect could make use of it. (In reply to comment #4) > eselect is modeled after bash-completion.eclass (which it cannot use since the > eclass has eselect itself in RDEPEND). > > bash-completion.eclass also doesn't depend on app-shells/bash-completion for > some reason unknown to me. historical. Not sure. Maybe eselect can PDEPEND on "bash-completion? ( app-shells/bash-completion )" ?? > > @darkside: Can you answer this? > > I also propose to change the eclass to do something like: > if [[ ${CATEGORY}/${PN} != app-admin/eselect ]]; then > RDEPEND="bash-completion? ( app-admin/eselect )" > fi > so that eselect could make use of it. > That would allow for less code duplication in app-admin/eselect, I can't see any reason to not commit it. Please add a comment that makes sense too. (In reply to comment #5) > That would allow for less code duplication in app-admin/eselect, I can't see > any reason to not commit it. Please add a comment that makes sense too. Done. I'll convert the eselect ebuild to use the eclass then. > historical. Not sure. Maybe eselect can PDEPEND on > "bash-completion? ( app-shells/bash-completion )" ?? I suggest to put this PDEPEND into the eclass, too. (In fact, it doesn't make any practical difference if the bash-completion dependency is in the eclass or in the eselect ebuild: Since the eclass RDEPENDs on eselect, all packages inheriting bash-completion.eclass will pull in app-shells/bash-completion.) (In reply to comment #6) > I suggest to put this PDEPEND into the eclass, too. Done, as discussed on IRC. Jacob, thank you for reporting this issue. Jus' doin' my job. you fail, sh doesn't have bash-completion keyworded!! (In reply to comment #9) > you fail, sh doesn't have bash-completion keyworded!! > It is a dev profile. Make it so, if you care. sh done Adding arch teams to CC. Please keyword app-shells/bash-completion or use.mask bash-completion in your profile. Target keywords: ~m68k ~sparc-fbsd ~x86-fbsd m68k done, as requested by armin76. bsd done All done. |