Hi, actually this breaks build of systemd.bb itself, because it installs its system recipes using paths from Makefile.am:
> userunitdir=$(prefix)/lib/systemd/user > systemunitdir=$(rootprefix)/lib/systemd/system > And in the recipe for systemd_219.bb we have: > # Helper variables to clarify locations. This mirrors the logic in > systemd's > # build system. > rootprefix ?= "${base_prefix}" > rootlibdir ?= "${base_libdir}" > rootlibexecdir = "${rootprefix}/lib" > So, that means it installs its own services into /lib, not /usr/lib. The changes done in systemd.bbclass in this patch remove the search path of /lib, allowing only ${system_system_unitdir} which is "/usr/lib/systemd/system". I tried changing rootprefix to use "${prefix}" but then I get other problems: > ERROR: QA Issue: systemd: Files/directories were installed but not shipped > /usr/bin/udevadm > /usr/bin/journalctl > /usr/bin/loginctl > /usr/bin/machinectl > /usr/bin/systemctl > /usr/lib/udev/.debug > /usr/lib/udev/.debug/cdrom_id > /usr/lib/udev/.debug/collect > /usr/lib/udev/.debug/ata_id > /usr/lib/udev/.debug/v4l_id > /usr/lib/udev/.debug/mtd_probe > /usr/lib/udev/.debug/scsi_id > /usr/lib/udev/.debug/accelerometer > /usr/lib/udev/rules.d/70-uaccess.rules > /usr/lib/udev/rules.d/73-seat-late.rules > /usr/lib/udev/rules.d/71-seat.rules > /usr/lib/udev/rules.d/99-systemd.rules > Which at the end makes me think... is it really a good idea to set systemd_unitdir and system_system_unitdir to use "${nonarch_libdir}"? I think we should be better using ${nonarch_base_libdir} for those, as systemd guys themselves make distinction between both (prefix vs rootprefix). Any thoughts on this? I will redo the patches accordingly once I get some more opinions. Pau Espin Pedrol mail/jabber: pespin.s...@gmail.com http://blog.espeweb.net 2015-07-24 16:02 GMT+02:00 Pau Espin Pedrol <pau.es...@aweurope.be>: > Signed-off-by: Pau Espin Pedrol <pau.es...@aweurope.be> > --- > meta/classes/systemd.bbclass | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass > index cfe1eb5..46e72c7 100644 > --- a/meta/classes/systemd.bbclass > +++ b/meta/classes/systemd.bbclass > @@ -136,8 +136,7 @@ python systemd_populate_packages() { > # Check service-files and call systemd_add_files_and_parse for each > entry > def systemd_check_services(): > searchpaths = [oe.path.join(d.getVar("sysconfdir", True), > "systemd", "system"),] > - searchpaths.append(oe.path.join(d.getVar("nonarch_base_libdir", > True), "systemd", "system")) > - searchpaths.append(oe.path.join(d.getVar("exec_prefix", True), > d.getVar("nonarch_base_libdir", True), "systemd", "system")) > + searchpaths.append(d.getVar("systemd_system_unitdir", True)) > systemd_packages = d.getVar('SYSTEMD_PACKAGES', True) > > keys = 'Also' > @@ -185,10 +184,10 @@ python rm_sysvinit_initddir (){ > if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) > and \ > not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, > d) and \ > os.path.exists(sysv_initddir): > - systemd_unitdir = oe.path.join(d.getVar("D", True), > d.getVar('systemd_unitdir', True), "system") > + systemd_system_unitdir = oe.path.join(d.getVar("D", True), > d.getVar('systemd_system_unitdir', True)) > > - # If systemd_unitdir contains anything, delete sysv_initddir > - if (os.path.exists(systemd_unitdir) and > os.listdir(systemd_unitdir)): > + # If systemd_system_unitdir contains anything, delete > sysv_initddir > + if (os.path.exists(systemd_system_unitdir) and > os.listdir(systemd_system_unitdir)): > shutil.rmtree(sysv_initddir) > } > do_install[postfuncs] += "rm_sysvinit_initddir " > -- > 1.9.1 > >
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core