Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-systemd][PATCH V2 18/25] systemd: Fix build when base_libdir is not /lib
Date: Sun,  6 Jan 2013 01:12:41 -0800	[thread overview]
Message-ID: <1357463568-26241-18-git-send-email-raj.khem@gmail.com> (raw)
In-Reply-To: <1357463568-26241-1-git-send-email-raj.khem@gmail.com>

we were carrying a wrong patch to fix rootlibdir
to adapt systemd to OE's notion of base_libdir
but thats not right and the units dont get initialised
properly when we have base_libdir which is not /lib

This patch fixes the use of base_libdir where
it should have been catering to notions of systemd/udev
for putting unit files and init scripts in /lib
and not in base_libdir

It also ignores the lib32-* packages so that systemd
build works for multilib enabled systems.

Adapt to nativesdk renaming

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta-systemd/classes/systemd.bbclass             |    7 +-
 meta-systemd/recipes-core/systemd/systemd_git.bb |   77 ++++++++++++----------
 2 files changed, 45 insertions(+), 39 deletions(-)

diff --git a/meta-systemd/classes/systemd.bbclass b/meta-systemd/classes/systemd.bbclass
index f26c6d1..9582492 100644
--- a/meta-systemd/classes/systemd.bbclass
+++ b/meta-systemd/classes/systemd.bbclass
@@ -70,7 +70,8 @@ def systemd_after_parse(d):
     bpn = d.getVar('BPN', 1)
     if bpn + "-native" != d.getVar('PN', 1) and \
             bpn + "-cross" != d.getVar('PN', 1) and \
-            bpn + "-nativesdk" != d.getVar('PN', 1):
+            not d.getVar('MLPREFIX', 1) and \
+            "nativesdk-" + bpn != d.getVar('PN', 1):
         systemd_check_vars()
         for pkg_systemd in d.getVar('SYSTEMD_PACKAGES', 1).split():
             systemd_create_package(pkg_systemd)
@@ -158,8 +159,8 @@ python populate_packages_prepend () {
     def systemd_check_services():
         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/' + ' '
+        searchpaths += '/lib/systemd/system/' + ' '
+        searchpaths += '/usr/lib/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-systemd/recipes-core/systemd/systemd_git.bb b/meta-systemd/recipes-core/systemd/systemd_git.bb
index 7fa7ac6..5722d35 100644
--- a/meta-systemd/recipes-core/systemd/systemd_git.bb
+++ b/meta-systemd/recipes-core/systemd/systemd_git.bb
@@ -90,6 +90,7 @@ do_configure_prepend() {
 
 do_install() {
 	autotools_do_install
+	install -d ${D}${base_sbindir}
 	# provided by a seperate recipe
 	rm ${D}${systemd_unitdir}/system/serial-getty* -f
 
@@ -98,7 +99,10 @@ do_install() {
 
 	# create dir for journal
 	install -d ${D}${localstatedir}/log/journal
-
+	# udevd is needed in initramfs which was provided by udev in OE-Core
+	# so we need to provide that otherwise it pulls in both systemd and
+	# udev
+	ln -s ${systemd_unitdir}/systemd-udevd ${D}${base_sbindir}/udevd
 	# create machine-id
 	# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
 	touch ${D}${sysconfdir}/machine-id
@@ -159,24 +163,24 @@ FILES_${PN} = " ${base_bindir}/* \
                 ${sysconfdir}/init.d/README \
                 ${systemd_unitdir}/* \
                 ${systemd_unitdir}/system/* \
-                ${base_libdir}/udev/rules.d/99-systemd.rules \
+                /lib/udev/rules.d/99-systemd.rules \
                 ${base_libdir}/security/*.so \
                 /cgroup \
                 ${bindir}/systemd* \
                 ${bindir}/localectl \
                 ${bindir}/hostnamectl \
                 ${bindir}/timedatectl \
-                ${libdir}/tmpfiles.d/*.conf \
-                ${libdir}/systemd \
-                ${libdir}/binfmt.d \
-                ${libdir}/modules-load.d \
-                ${libdir}/sysctl.d \
+                ${exec_prefix}/lib/tmpfiles.d/*.conf \
+                ${exec_prefix}/lib/systemd \
+                ${exec_prefix}/lib/binfmt.d \
+                ${exec_prefix}/lib/modules-load.d \
+                ${exec_prefix}/lib/sysctl.d \
                 ${localstatedir} \
                 ${libexecdir} \
-                ${base_libdir}/udev/rules.d/70-uaccess.rules \
-                ${base_libdir}/udev/rules.d/71-seat.rules \
-                ${base_libdir}/udev/rules.d/73-seat-late.rules \
-                ${base_libdir}/udev/rules.d/99-systemd.rules \
+                /lib/udev/rules.d/70-uaccess.rules \
+                /lib/udev/rules.d/71-seat.rules \
+                /lib/udev/rules.d/73-seat-late.rules \
+                /lib/udev/rules.d/99-systemd.rules \
                "
 FILES_${PN}-dbg += "${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/ ${PYTHON_SITEPACKAGES_DIR}/systemd/.debug/"
 FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd ${PYTHON_SITEPACKAGES_DIR}/systemd/*.la"
@@ -200,42 +204,43 @@ RRECOMMENDS_${PN} += "systemd-serialgetty \
 
 PACKAGES =+ "udev-dbg udev udev-consolekit udev-utils udev-systemd"
 
-FILES_udev-dbg += "${base_libdir}/udev/.debug"
+FILES_udev-dbg += "/lib/udev/.debug"
 
 RDEPENDS_udev += "udev-utils"
 RPROVIDES_udev = "hotplug"
 
-FILES_udev += "${base_libdir}/udev/udevd \
-               ${base_libdir}/systemd/systemd-udevd \
-               ${base_libdir}/udev/accelerometer \
-               ${base_libdir}/udev/ata_id \
-               ${base_libdir}/udev/cdrom_id \
-               ${base_libdir}/udev/collect \
-               ${base_libdir}/udev/findkeyboards \
-               ${base_libdir}/udev/keyboard-force-release.sh \
-               ${base_libdir}/udev/keymap \
-               ${base_libdir}/udev/mtd_probe \
-               ${base_libdir}/udev/scsi_id \
-               ${base_libdir}/udev/v4l_id \
-               ${base_libdir}/udev/keymaps \
-               ${base_libdir}/udev/rules.d/4*.rules \
-               ${base_libdir}/udev/rules.d/5*.rules \
-               ${base_libdir}/udev/rules.d/6*.rules \
-               ${base_libdir}/udev/rules.d/70-power-switch.rules \
-               ${base_libdir}/udev/rules.d/75*.rules \
-               ${base_libdir}/udev/rules.d/78*.rules \
-               ${base_libdir}/udev/rules.d/8*.rules \
-               ${base_libdir}/udev/rules.d/95*.rules \
-               ${base_libdir}/udev/hwdb.d \
+FILES_udev += "${base_sbindir}/udevd \
+               /lib/udev/udevd \
+               /lib/systemd/systemd-udevd \
+               /lib/udev/accelerometer \
+               /lib/udev/ata_id \
+               /lib/udev/cdrom_id \
+               /lib/udev/collect \
+               /lib/udev/findkeyboards \
+               /lib/udev/keyboard-force-release.sh \
+               /lib/udev/keymap \
+               /lib/udev/mtd_probe \
+               /lib/udev/scsi_id \
+               /lib/udev/v4l_id \
+               /lib/udev/keymaps \
+               /lib/udev/rules.d/4*.rules \
+               /lib/udev/rules.d/5*.rules \
+               /lib/udev/rules.d/6*.rules \
+               /lib/udev/rules.d/70-power-switch.rules \
+               /lib/udev/rules.d/75*.rules \
+               /lib/udev/rules.d/78*.rules \
+               /lib/udev/rules.d/8*.rules \
+               /lib/udev/rules.d/95*.rules \
+               /lib/udev/hwdb.d \
                ${sysconfdir}/udev \
               "
 
-FILES_udev-consolekit += "${libdir}/ConsoleKit"
+FILES_udev-consolekit += "/lib/ConsoleKit"
 RDEPENDS_udev-consolekit += "${@base_contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
 
 FILES_udev-utils = "${bindir}/udevadm"
 
-FILES_udev-systemd = "${base_libdir}/systemd/system/*udev* ${base_libdir}/systemd/system/*.wants/*udev*"
+FILES_udev-systemd = "${systemd_unitdir}/system/*udev* ${systemd_unitdir}/system/*.wants/*udev*"
 RDEPENDS_udev-systemd = "udev"
 
 # TODO:
-- 
1.7.9.5




  parent reply	other threads:[~2013-01-06  9:29 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-06  9:12 [meta-networking][PATCH V2 01/25] arptables: Import recipe from OE-Classic and update to latest Khem Raj
2013-01-06  9:12 ` [meta-networking][PATCH V2 02/25] ebtables: Fix segfault by linking with no-as-needed Khem Raj
2013-01-06  9:12 ` [meta-networking][PATCH V2 03/25] autofs: Add recipes for 5.0.7 Khem Raj
2013-01-07 15:58   ` Joe MacDonald
2013-01-07 22:48     ` Khem Raj
2013-01-08 17:33       ` Khem Raj
2013-01-08 19:03         ` Joe MacDonald
2013-01-08 22:19           ` Martin Jansa
2013-01-08 22:22             ` Joe MacDonald
2013-01-06  9:12 ` [meta-networking][PATCH V2 04/25] nis: Import recipes from OE classic Khem Raj
2013-01-06  9:12 ` [meta-networking][PATCH V2 05/25] ndisc6: Forward port recipe " Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 06/25] net-snmp: Use ${PN} instead of hardcoding net-snmp Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 07/25] jansson_2.3.1.bb: Fix multilib use BPN in SRC_URI instead of PN Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 08/25] liblockfile: Upgrade 1.06 -> 1.09 Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 09/25] atftp: Upgrade to latest from git Khem Raj
2013-01-06  9:36   ` Martin Jansa
2013-01-07  1:23     ` Khem Raj
2013-01-07 15:36       ` Joe MacDonald
2013-01-07 16:01         ` Khem Raj
2013-01-07 16:04           ` Joe MacDonald
2013-01-06  9:12 ` [meta-oe][PATCH V2 10/25] tcpdump: Upgrade from 4.1.1 -> 4.3.0 Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 11/25] cppunit: Upgrade recipes from 1.12.1 -> 1.13.1 Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 12/25] luajit: Add recipes Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 13/25] concurrencykit: Add recipe for latest from git Khem Raj
2013-01-07 18:15   ` Martin Jansa
2013-01-07 21:58     ` Khem Raj
2013-01-08 17:33       ` Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 14/25] tcsh: Add recipes for package Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 15/25] dmidecode: Forward port from OE-Classic Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 16/25] libuio: Add recipe for version 0.2.1 Khem Raj
2013-01-06  9:12 ` [meta-oe][PATCH V2 17/25] uml-utilities: Forward port recipe from OE classic Khem Raj
2013-01-06  9:12 ` Khem Raj [this message]
2013-01-09 10:18   ` [meta-systemd][PATCH V2 18/25] systemd: Fix build when base_libdir is not /lib Martin Jansa
2013-01-06  9:12 ` [meta-systemd][PATCH V2 19/25] systemd.bbclass: Fixes for living along with multilib Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 20/25] at: Add systemd unit file Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 21/25] dhcp: Add systemd unit file for dhclient Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 22/25] nis: Add support for systemd launch of NIS services Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 23/25] rpcbind: Add systemd service unit file Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 24/25] dhclient.service: Rearrange the cmdline for dhclient Khem Raj
2013-01-06  9:12 ` [meta-systemd][PATCH V2 25/25] meta-systemd/atftpd: Adjust bbappend to match to recipe upgrade Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1357463568-26241-18-git-send-email-raj.khem@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox