summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mariadb')
-rw-r--r--dev-db/mariadb/mariadb-10.2.40.ebuild25
-rw-r--r--dev-db/mariadb/mariadb-10.3.31.ebuild25
-rw-r--r--dev-db/mariadb/mariadb-10.4.21.ebuild25
-rw-r--r--dev-db/mariadb/mariadb-10.5.12.ebuild25
4 files changed, 80 insertions, 20 deletions
diff --git a/dev-db/mariadb/mariadb-10.2.40.ebuild b/dev-db/mariadb/mariadb-10.2.40.ebuild
index f3462ac3ca6..a5fc6881ea9 100644
--- a/dev-db/mariadb/mariadb-10.2.40.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.40.ebuild
@@ -788,18 +788,33 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local section="${1}"
- local flag="--${2}="
+ local option="--${2}"
local extra_options="${3}"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
- local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
- if [[ ${#results[@]} -gt 0 ]] ; then
- # When option is set multiple times only return last value
- echo "${results[-1]}"
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-1]}"
fi
}
diff --git a/dev-db/mariadb/mariadb-10.3.31.ebuild b/dev-db/mariadb/mariadb-10.3.31.ebuild
index d3463517487..cbbc8dfba20 100644
--- a/dev-db/mariadb/mariadb-10.3.31.ebuild
+++ b/dev-db/mariadb/mariadb-10.3.31.ebuild
@@ -779,18 +779,33 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local section="${1}"
- local flag="--${2}="
+ local option="--${2}"
local extra_options="${3}"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
- local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
- if [[ ${#results[@]} -gt 0 ]] ; then
- # When option is set multiple times only return last value
- echo "${results[-1]}"
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-1]}"
fi
}
diff --git a/dev-db/mariadb/mariadb-10.4.21.ebuild b/dev-db/mariadb/mariadb-10.4.21.ebuild
index 2c6e7495a0f..e41458e1ca6 100644
--- a/dev-db/mariadb/mariadb-10.4.21.ebuild
+++ b/dev-db/mariadb/mariadb-10.4.21.ebuild
@@ -800,18 +800,33 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local section="${1}"
- local flag="--${2}="
+ local option="--${2}"
local extra_options="${3}"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
- local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
- if [[ ${#results[@]} -gt 0 ]] ; then
- # When option is set multiple times only return last value
- echo "${results[-1]}"
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-1]}"
fi
}
diff --git a/dev-db/mariadb/mariadb-10.5.12.ebuild b/dev-db/mariadb/mariadb-10.5.12.ebuild
index 633f14472c2..845b70ab1fb 100644
--- a/dev-db/mariadb/mariadb-10.5.12.ebuild
+++ b/dev-db/mariadb/mariadb-10.5.12.ebuild
@@ -794,18 +794,33 @@ pkg_postinst() {
pkg_config() {
_getoptval() {
local section="${1}"
- local flag="--${2}="
+ local option="--${2}"
local extra_options="${3}"
local cmd=(
"${my_print_defaults_binary}"
"${extra_options}"
"${section}"
)
- local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") )
- if [[ ${#results[@]} -gt 0 ]] ; then
- # When option is set multiple times only return last value
- echo "${results[-1]}"
+ local values=()
+ local parameters=( $(eval "${cmd[@]}" 2>/dev/null) )
+ for parameter in "${parameters[@]}"
+ do
+ # my_print_defaults guarantees output of options, one per line,
+ # in the form that they would be specified on the command line.
+ # So checking for --option=* should be safe.
+ case ${parameter} in
+ ${option}=*)
+ values+=( "${parameter#*=}" )
+ ;;
+ esac
+ done
+
+ if [[ ${#values[@]} -gt 0 ]] ; then
+ # Option could have been set multiple times
+ # in which case only the last occurrence
+ # contains the current value
+ echo "${values[-1]}"
fi
}