diff options
author | Florian Schmaus <flow@gentoo.org> | 2023-03-14 15:23:07 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2023-03-14 17:54:40 +0100 |
commit | c7e76fc0b9add97eda8cf406cbd168a1997e9ae3 (patch) | |
tree | 1865b0bfbcdc4344b71f61b8b445d263a43ea5fe | |
parent | Support NO_COLOR (diff) | |
download | eselect-c7e76fc0b9add97eda8cf406cbd168a1997e9ae3.tar.gz eselect-c7e76fc0b9add97eda8cf406cbd168a1997e9ae3.tar.bz2 eselect-c7e76fc0b9add97eda8cf406cbd168a1997e9ae3.zip |
Allow to specify modules by path
* libs/core.bash.in (find_module): Allow to specify an absolute
path as the module's filename.
Bug: https://bugs.gentoo.org/901205
Signed-off-by: Florian Schmaus <flow@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | libs/core.bash.in | 11 |
2 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2023-03-14 Florian Schmaus <flow@gentoo.org> + + * libs/core.bash.in (find_module): Allow to specify an absolute + path as the module's filename. + 2023-02-28 Ulrich Müller <ulm@gentoo.org> * bin/eselect.in: Disable colours if NO_COLOR is nonempty. diff --git a/libs/core.bash.in b/libs/core.bash.in index 740354e..2800cc5 100644 --- a/libs/core.bash.in +++ b/libs/core.bash.in @@ -1,5 +1,5 @@ # -*-eselect-*- vim: ft=eselect -# Copyright (c) 2005-2020 Gentoo Authors +# Copyright (c) 2005-2023 Gentoo Authors # # This file is part of the 'eselect' tools framework. # @@ -69,6 +69,15 @@ die() { # Find module and echo its filename. Die if module doesn't exist. find_module() { local modname=$1 modpath + + if [[ ${modname} == */* ]]; then + if [[ ${modname} == *.eselect && -f ${modname} ]]; then + echo "${modname}" + return + fi + die -q "Can't load module ${modname}" + fi + for modpath in "${ESELECT_MODULES_PATH[@]}"; do if [[ -f ${modpath}/${modname}.eselect ]]; then echo "${modpath}/${modname}.eselect" |