From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pa0-f47.google.com ([209.85.220.47]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1TrmXL-00036y-NV for openembedded-devel@lists.openembedded.org; Sun, 06 Jan 2013 10:29:01 +0100 Received: by mail-pa0-f47.google.com with SMTP id fa10so10079247pad.20 for ; Sun, 06 Jan 2013 01:13:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=3jWHhcwjCXVcqUlfiCXx9H99b6Az6gdilKmVyOtvtU8=; b=PgUhvMNE+SgLVz0axpSs1v51jiYNyMptFwD79AsPwAmZrN3f1todFGIopLW0rE80gW tlTIpDFxmXQNQU2nA/uVxWd9cuYq7ozbzzIC4S7qNakQGyuhTzDf429T80MhvRvr90bo HbiDemBocQgmCN6Zb+KRIuN9Hi9wqv0FfcXBShQYLwC2JoQ+CyBrNXNJy+4w1AaQ+Xch VIH9R1SG5DuZjM7nrBofrfLwwN4QThrPNnF15vysvcowSOWSAlhlj0VWtTTSoly9cuhh M1yVwZA278wONaV19aebdk4oRL2UVI3tQbgfP5fDqqK/hElHyOiAy2pQT2xh8KAsxPqB D8tg== X-Received: by 10.66.87.67 with SMTP id v3mr33276628paz.63.1357463631480; Sun, 06 Jan 2013 01:13:51 -0800 (PST) Received: from agate.agate.openembedded.org (oldbuilder.nslu2-linux.org. [140.211.169.168]) by mx.google.com with ESMTPS id qw8sm5137145pbc.39.2013.01.06.01.13.50 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 06 Jan 2013 01:13:50 -0800 (PST) From: Khem Raj To: openembedded-devel@lists.openembedded.org Date: Sun, 6 Jan 2013 01:12:41 -0800 Message-Id: <1357463568-26241-18-git-send-email-raj.khem@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1357463568-26241-1-git-send-email-raj.khem@gmail.com> References: <1357463568-26241-1-git-send-email-raj.khem@gmail.com> Subject: [meta-systemd][PATCH V2 18/25] systemd: Fix build when base_libdir is not /lib X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 09:29:04 -0000 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 --- 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