[oe] [meta-oe v2][for-denzil][PATCH] systemd: use system variables instead of hardcoded paths

b28495 at freescale.com b28495 at freescale.com
Fri Sep 14 10:17:19 UTC 2012


From: Ting Liu <b28495 at freescale.com>

Back port commit 980b338fb5100ff4c779335a86f3d9450ea8c54a
Below is the original commit message:

Fix build for ppc64

Consider /lib64 and /usr/lib64

Some 64bit architectures chose lib64 instead of lib
for default library dirnames. So we dig this from metadata
vars base_libdir and libdir instead of hardcoding 'lib'

ppc64 in OE uses lib64 for default libdir
and this leaves lot of udev/systemd
files unpackaged since 'lib' was hardcoded

Signed-off-by: Khem Raj <raj.khem at gmail.com>
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
Signed-off-by: Ting Liu <b28495 at freescale.com>
---
 meta-oe/classes/systemd.bbclass                    |    5 +-
 .../systemd/systemd/use-rootlibdir.patch           |   94 ++++++++++++++++++++
 meta-oe/recipes-core/systemd/systemd_git.bb        |    3 +-
 3 files changed, 100 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-core/systemd/systemd/use-rootlibdir.patch

diff --git a/meta-oe/classes/systemd.bbclass b/meta-oe/classes/systemd.bbclass
index a2c8ddf..0d88c64 100644
--- a/meta-oe/classes/systemd.bbclass
+++ b/meta-oe/classes/systemd.bbclass
@@ -154,7 +154,10 @@ python populate_packages_prepend () {
 
 	# check service-files and call systemd_add_files_and_parse for each entry
 	def systemd_check_services():
-		searchpaths = '/etc/systemd/system/ /lib/systemd/system/ /usr/lib/systemd/system/'
+		base_libdir = d.getVar('base_libdir', 1)
+		searchpaths = '/etc/systemd/system/' + ' '
+		searchpaths += d.getVar('base_libdir', 1) + '/systemd/system/' + ' '
+		searchpaths += d.getVar('libdir', 1) + '/systemd/system/' + ' '
 		systemd_packages = d.getVar('SYSTEMD_PACKAGES', 1)
 		has_exactly_one_service = len(systemd_packages.split()) == 1
 		if has_exactly_one_service:
diff --git a/meta-oe/recipes-core/systemd/systemd/use-rootlibdir.patch b/meta-oe/recipes-core/systemd/systemd/use-rootlibdir.patch
new file mode 100644
index 0000000..26973c4
--- /dev/null
+++ b/meta-oe/recipes-core/systemd/systemd/use-rootlibdir.patch
@@ -0,0 +1,94 @@
+From 5210f67d0c637f4fbd8bb0a94e9b11da25a9c76c Mon Sep 17 00:00:00 2001
+From: Ting Liu <b28495 at freescale.com>
+Date: Fri, 14 Sep 2012 16:56:30 +0800
+Subject: [PATCH] use rootlibdir
+
+Back port from meta-oe 980b338fb5100ff4c779335a86f3d9450ea8c54a.
+Below is the original message in the patch:
+
+Upstream-Status: Undecided
+
+This patch removes some of hardcoded references to /lib
+and /usr/lib since on some architectures it should be
+/lib64 and /usr/lib64 atleast in OE
+
+I am not sure about the intention of hardcoded values
+thats why status is undecided
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+Signed-off-by: Ting Liu <b28495 at freescale.com>
+---
+ Makefile.am |   20 ++++++++++----------
+ 1 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 219d8de..b96ac74 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -50,19 +50,19 @@ bashcompletiondir=$(sysconfdir)/bash_completion.d
+ 
+ # Our own, non-special dirs
+ pkgsysconfdir=$(sysconfdir)/systemd
+-userunitdir=$(prefix)/lib/systemd/user
+-tmpfilesdir=$(prefix)/lib/tmpfiles.d
+-sysctldir=$(prefix)/lib/sysctl.d
++userunitdir=$(prefix)/$(rootlibdir)/gcsystemd/user
++tmpfilesdir=$(prefix)/$(rootlibdir)/gctmpfiles.d
++sysctldir=$(prefix)/$(rootlibdir)/gcsysctl.d
+ usergeneratordir=$(pkglibexecdir)/user-generators
+ pkgincludedir=$(includedir)/systemd
+ 
+ # And these are the special ones for /
+ rootprefix=@rootprefix@
+ rootbindir=$(rootprefix)/bin
+-rootlibexecdir=$(rootprefix)/lib/systemd
++rootlibexecdir=$(rootprefix)/$(rootlibdir)/gcsystemd
+ systemgeneratordir=$(rootlibexecdir)/system-generators
+ systemshutdowndir=$(rootlibexecdir)/system-shutdown
+-systemunitdir=$(rootprefix)/lib/systemd/system
++systemunitdir=$(rootprefix)/$(rootlibdir)/gcsystemd/system
+ 
+ CLEANFILES =
+ EXTRA_DIST =
+@@ -93,7 +93,7 @@ AM_CPPFLAGS = \
+ 	-DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
+ 	-DROOTPREFIX=\"$(rootprefix)\" \
+ 	-DRUNTIME_DIR=\"/run\" \
+-	-DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
++	-DRANDOM_SEED=\"$(localstatedir)/$(rootlibdir)/gcrandom-seed\" \
+ 	-DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
+ 	-DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
+ 	-DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
+@@ -1408,7 +1408,7 @@ nodist_systemunit_DATA += \
+ 
+ binfmt-install-data-hook:
+ 	$(MKDIR_P) -m 0755 \
+-		$(DESTDIR)$(prefix)/lib/binfmt.d \
++		$(DESTDIR)$(prefix)/$(rootlibdir)/gcbinfmt.d \
+ 		$(DESTDIR)$(sysconfdir)/binfmt.d \
+ 		$(DESTDIR)$(systemunitdir)/sysinit.target.wants
+ 	( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
+@@ -1940,7 +1940,7 @@ polkitpolicy_in_files += \
+ logind-install-data-hook:
+ 	$(MKDIR_P) -m 0755 \
+ 		$(DESTDIR)$(systemunitdir)/multi-user.target.wants \
+-                $(DESTDIR)$(localstatedir)/lib/systemd
++                $(DESTDIR)$(localstatedir)/$(rootlibdir)/gcsystemd
+ 	( cd $(DESTDIR)$(systemunitdir) && \
+ 		rm -f dbus-org.freedesktop.login1.service && \
+ 		$(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
+@@ -2196,9 +2196,9 @@ systemd-install-data-hook:
+ 	$(MKDIR_P) -m 0755 \
+ 		$(DESTDIR)$(tmpfilesdir) \
+ 		$(DESTDIR)$(sysconfdir)/tmpfiles.d \
+-		$(DESTDIR)$(prefix)/lib/modules-load.d \
++		$(DESTDIR)$(prefix)/$(rootlibdir)/gcmodules-load.d \
+ 		$(DESTDIR)$(sysconfdir)/modules-load.d \
+-		$(DESTDIR)$(prefix)/lib/sysctl.d \
++		$(DESTDIR)$(prefix)/$(rootlibdir)/gcsysctl.d \
+ 		$(DESTDIR)$(sysconfdir)/sysctl.d \
+ 		$(DESTDIR)$(systemshutdowndir) \
+ 		$(DESTDIR)$(systemgeneratordir) \
+-- 
+1.7.5
+
diff --git a/meta-oe/recipes-core/systemd/systemd_git.bb b/meta-oe/recipes-core/systemd/systemd_git.bb
index b9c8a19..21a6326 100644
--- a/meta-oe/recipes-core/systemd/systemd_git.bb
+++ b/meta-oe/recipes-core/systemd/systemd_git.bb
@@ -14,13 +14,14 @@ inherit gitpkgv
 PKGV = "v${GITPKGVTAG}"
 
 PV = "git"
-PR = "r28"
+PR = "r29"
 
 inherit useradd pkgconfig autotools vala perlnative
 
 SRCREV = "3eff4208ffecedd778fec260f0d4b18e94dab443"
 
 SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;protocol=git \
+           file://use-rootlibdir.patch \
            ${UCLIBCPATCHES} \
            file://var-run.conf \
           "
-- 
1.7.5






More information about the Openembedded-devel mailing list