[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: [gentoo-dev] [PATCH 1/8] systemd.eclass: Introduce a common getter for systemd directories
From: Michał Górny <mgorny () gentoo ! org>
Date: 2015-11-30 15:01:15
Message-ID: 1448895682-19312-2-git-send-email-mgorny () gentoo ! org
[Download RAW message or body]
Add a _systemd_get_dir function that serves as a common getter for
all directories returned by the eclass. Add proper error handling for
the variable getter.
---
eclass/systemd.eclass | 38 +++++++++++++++++++++++---------------
1 file changed, 23 insertions(+), 15 deletions(-)
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index 278d319..245e803 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -34,16 +34,32 @@ esac
DEPEND="virtual/pkgconfig"
-# @FUNCTION: _systemd_get_unitdir
+# @FUNCTION: _systemd_get_dir
+# @USAGE: <variable-name> <fallback-directory>
# @INTERNAL
# @DESCRIPTION:
-# Get unprefixed unitdir.
-_systemd_get_unitdir() {
+# Try to obtain the <variable-name> variable from systemd.pc.
+# If pkg-config or systemd is not installed, return <fallback-directory>
+# instead.
+_systemd_get_dir() {
+ [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <variable-name> <fallback-directory>"
+ local variable=${1} fallback=${2} d
+
if $(tc-getPKG_CONFIG) --exists systemd; then
- echo "$($(tc-getPKG_CONFIG) --variable=systemdsystemunitdir systemd)"
+ d=$($(tc-getPKG_CONFIG) --variable="${variable}" systemd) || die
else
- echo /usr/lib/systemd/system
+ d=${fallback}
fi
+
+ echo "${d}"
+}
+
+# @FUNCTION: _systemd_get_unitdir
+# @INTERNAL
+# @DESCRIPTION:
+# Get unprefixed unitdir.
+_systemd_get_unitdir() {
+ _systemd_get_dir systemdsystemunitdir /usr/lib/systemd/system
}
# @FUNCTION: systemd_get_unitdir
@@ -62,11 +78,7 @@ systemd_get_unitdir() {
# @DESCRIPTION:
# Get unprefixed userunitdir.
_systemd_get_userunitdir() {
- if $(tc-getPKG_CONFIG) --exists systemd; then
- echo "$($(tc-getPKG_CONFIG) --variable=systemduserunitdir systemd)"
- else
- echo /usr/lib/systemd/user
- fi
+ _systemd_get_dir systemduserunitdir /usr/lib/systemd/user
}
# @FUNCTION: systemd_get_userunitdir
@@ -86,11 +98,7 @@ systemd_get_userunitdir() {
# @DESCRIPTION:
# Get unprefixed utildir.
_systemd_get_utildir() {
- if $(tc-getPKG_CONFIG) --exists systemd; then
- echo "$($(tc-getPKG_CONFIG) --variable=systemdutildir systemd)"
- else
- echo /usr/lib/systemd
- fi
+ _systemd_get_dir systemdutildir /usr/lib/systemd
}
# @FUNCTION: systemd_get_utildir
--
2.6.3
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic