commit: 9737be28efe8cf3668d4f0625382f9184db4c49a
Author: Vadim A. Misbakh-Soloviov <git <AT> mva <DOT> name>
AuthorDate: Tue Apr 28 14:55:39 2015 +0000
Commit: Vadim A. Misbakh-Soloviov <mva <AT> mva <DOT> name>
CommitDate: Tue Apr 28 14:55:39 2015 +0000
URL:
https://gitweb.gentoo.org/proj/zsh-completion.git/commit/?id=9737be28
_gentoo_repos: some algo rework. Probably fixes #3
Signed-off-by: Vadim A. Misbakh-Soloviov <git <AT> mva.name>
src/_gentoo_repos | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/_gentoo_repos b/src/_gentoo_repos
index 7f88a64..85f3936 100644
--- a/src/_gentoo_repos
+++ b/src/_gentoo_repos
@@ -6,9 +6,12 @@
# _gentoo_repos -o -> returns the list of non-main repos
_gentoo_repos() {
- local main_repo main_repo_path overlay overlay_paths
+ local main_repo main_repo_path overlay overlay_paths result
- if [[ -e /usr/share/portage/config/repos.conf ]]; then
+ overlay_paths=();
+ result=();
+
+ if [[ -e /usr/share/portage/config/repos.conf || -e /etc/portage/repos.conf
]]; then
main_repo=$(_repos_conf DEFAULT main-repo)
main_repo_path=$(_repos_conf ${main_repo} location)
@@ -30,16 +33,20 @@ _gentoo_repos() {
fi
if [[ $1 == "-m" ]]; then
- echo "${main_repo_path}"
+ result+=(${main_repo_path})
elif [[ $1 == "-o" ]]; then
- echo "${(@u)overlay_paths}"
+ result+=(${(@)overlay_paths})
else
- echo "${main_repo_path} ${(@u)overlay_paths}"
+ result+=(${main_repo_path} ${(@)overlay_paths})
fi
+
+ echo ${(u)result}
}
_repos_conf() {
- local v file insection section arr
+ local v file insection section arr secname
+
+ secname=();
for file in /usr/share/portage/config/repos.conf \
/etc/portage/repos.conf \
@@ -74,7 +81,7 @@ _repos_conf() {
done
if [[ ${1} == "-l" ]]; then
- echo "${(@)secname}"
+ echo "${(@u)secname}"
else
echo "${v}"
fi