diff options
author | 2021-08-10 16:48:22 +0200 | |
---|---|---|
committer | 2021-08-10 18:26:06 +0200 | |
commit | af7dba769693a706174ea2177ff7fde23eb8a394 (patch) | |
tree | a46d33a7e6318ade048ab639590213de6e96aff5 /dev-db/mariadb/mariadb-10.5.12.ebuild | |
parent | dev-db/mariadb: bump to v10.2.40 (diff) | |
download | gentoo-af7dba769693a706174ea2177ff7fde23eb8a394.tar.gz gentoo-af7dba769693a706174ea2177ff7fde23eb8a394.tar.bz2 gentoo-af7dba769693a706174ea2177ff7fde23eb8a394.zip |
dev-db/mariadb: fix parameter parsing in pkg_config
Bug: https://bugs.gentoo.org/801898
Package-Manager: Portage-3.0.21, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'dev-db/mariadb/mariadb-10.5.12.ebuild')
-rw-r--r-- | dev-db/mariadb/mariadb-10.5.12.ebuild | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/dev-db/mariadb/mariadb-10.5.12.ebuild b/dev-db/mariadb/mariadb-10.5.12.ebuild index 633f14472c20..845b70ab1fb2 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 } |