package-manager.bash supports only portage and paludis. We should have support for pkgcore too.
@ferringb: Any news about this one? I can't do this without your help.
Created attachment 275057 [details, diff] adds pkgcore support This is reliant on pkgcore 0.6.3, which will be released w/in this week (likely the next few days).
@@ -137,6 +142,7 @@ get_repo_news_dir() { case $(package_manager) in portage) echo "$(portageq get_repo_path \ "${ROOT:-/}" "${repo}")/metadata/news" ;; + pkgcore) portageq pinspect get_repo_news_path "${repo}" ;; paludis) run_paludis print-repository-metadata ${repo} \ --raw-name newsdir --format '%v\n' ;; esac This doesn't look right to me. I guess it should be "pinspect portageq"?
should be pinspect portageq, yep. Whoops. :)
This is included in eselect-1.2.16.
(In reply to Brian Harring from comment #2) > Created attachment 275057 [details, diff] [details, diff] > adds pkgcore support > > This is reliant on pkgcore 0.6.3, which will be released w/in this week > (likely the next few days). With pkgcore-0.9.4, this doesn't appear to work anymore. Especially: + pkgcore) pinspect portageq get_repositories ;; $ pinspect portageq get_repositories pinspect portageq: error: argument subcommand: invalid choice: 'get_repositories' (choose from 'best_version', 'envvar', 'envvar2', 'get_repo_news_path', 'get_repo_path', 'get_repos', 'has_version', 'mass_best_version', 'match') + pkgcore) pinspect portageq get_repo_news_path "${repo}" ;; $ pinspect portageq get_repo_news_path gentoo pinspect: error: Parsing failed: while loading portage config unsupported operand type(s) for +=: 'NoneType' and 'str'
Created attachment 455042 [details, diff] Fix pkgcore support Is attached patch correct? I am not entirely sure about get_repo_news_path. pinspect(1) says that [root] is optional but apparently it isn't. pinspect portageq get_repo_news_path synopsis pinspect portageq get_repo_news_path [-h] [--version] [--debug] [-q] [-v] [--color BOOLEAN] [--eapi ATOM_KLS] [--use USE] [root] repo_id
Looks like this commit removed the get_repositories subcommand: https://github.com/pkgcore/pkgcore/commit/b9b702fc49c4238af772e4a08d0b3e6272addb21 So eselect is broken since at least pkgcore version 0.9. Must eselect still remain compatible with pkgcore-0.8*? The oldest version in the tree is 0.9.1.
(In reply to Ulrich Müller from comment #8) > Looks like this commit removed the get_repositories subcommand: > https://github.com/pkgcore/pkgcore/commit/ > b9b702fc49c4238af772e4a08d0b3e6272addb21 > > So eselect is broken since at least pkgcore version 0.9. > > Must eselect still remain compatible with pkgcore-0.8*? The oldest version > in the tree is 0.9.1. The patch looks fine. Feel free to drop support for pkgcore-0.8*.
Fixed in eselect-1.4.8. commit eb8e92c757d14ed3c1769d622a5588a5d47f3a3e Author: Ulrich Müller <ulm@gentoo.org> Date: Sun Dec 4 07:04:34 2016 +0100 Fix pkgcore support. * libs/package-manager.bash.in (get_repositories) (get_repo_news_dir): Fix pinspect calls, bug 304011.