commit: e03f20522f819495ef8decd2a80261da3abacd68
Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Wed Nov 16 14:43:10 2022 +0000
Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Wed Nov 16 14:43:10 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e03f2052
databases.eclass: add "required use" stuff
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
eclass/databases.eclass | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/eclass/databases.eclass b/eclass/databases.eclass
index fbf653435..079325a90 100644
--- a/eclass/databases.eclass
+++ b/eclass/databases.eclass
@@ -28,7 +28,7 @@
#
# @SUBSECTION Helper usage
#
-# --die [msg...]
+# --die [msg]
#
# Prints the path to the server's log file to the console and aborts the
# current merge process with the given message.
@@ -37,7 +37,7 @@
#
# Returns the directory where the server stores database files.
#
-# --get-depend
+# --get-depend [use1,use2,...]
#
# Returns a dependency string (to be included in BDEPEND).
#
@@ -104,31 +104,41 @@ _DATABASES_ECLASS=1
#
==============================================================================
# @FUNCTION: _databases_gen_depend
-# @USAGE: <funcname>
+# @USAGE: <funcname> <required use>
# @INTERNAL
# @DESCRIPTION:
# Get a dependency string for the given helper function.
_databases_gen_depend() {
local srvname=${1:1}
+ local req_use=${2}
+
+ local pkg_dep
case ${srvname} in
memcached)
- echo "net-misc/memcached"
+ pkg_dep="net-misc/memcached"
;;
mongod)
- echo "dev-db/mongodb"
+ pkg_dep="dev-db/mongodb"
;;
mysql)
- echo "virtual/mysql[server]"
+ pkg_dep="virtual/mysql"
+ req_use="server,${req_use}"
;;
postgres)
- echo "dev-db/postgresql[server]"
+ pkg_dep="dev-db/postgresql"
+ req_use="server,${req_use}"
;;
redis)
- echo "dev-db/redis"
+ pkg_dep="dev-db/redis"
;;
*)
die "${ECLASS}: unknown database: ${srvname}"
esac
+
+ req_use=${req_use%,} # strip trailing comma
+ printf "%s" "${pkg_dep}"
+ [[ ${req_use} ]] && \
+ printf "[%s]" "${req_use}"
}
# @FUNCTION: _databases_die
@@ -189,7 +199,7 @@ _databases_dispatch() {
_databases_die ${funcname} "${@}"
;;
--get-depend)
- _databases_gen_depend ${funcname}
+ _databases_gen_depend ${funcname} "${@}"
;;
--get-dbpath)
echo "${T}"/${funcname}/db/