<div dir="ltr"><div>Hi,<br><br>actually this breaks build of <a href="http://systemd.bb">systemd.bb</a> itself, because it installs its system recipes using paths from Makefile.am:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">userunitdir=$(prefix)/lib/systemd/user<br>systemunitdir=$(rootprefix)/lib/systemd/system<br></blockquote><br>And in the recipe for <a href="http://systemd_219.bb">systemd_219.bb</a> we have:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"># Helper variables to clarify locations. This mirrors the logic in systemd's<br># build system.<br>rootprefix ?= "${base_prefix}"<br>rootlibdir ?= "${base_libdir}"<br>rootlibexecdir = "${rootprefix}/lib"<br></blockquote><br></div><div>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".<br><br></div>I tried changing rootprefix to use "${prefix}" but then I get other problems:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">ERROR: QA Issue: systemd: Files/directories were installed but not shipped<br> /usr/bin/udevadm<br> /usr/bin/journalctl<br> /usr/bin/loginctl<br> /usr/bin/machinectl<br> /usr/bin/systemctl<br> /usr/lib/udev/.debug<br> /usr/lib/udev/.debug/cdrom_id<br> /usr/lib/udev/.debug/collect<br> /usr/lib/udev/.debug/ata_id<br> /usr/lib/udev/.debug/v4l_id<br> /usr/lib/udev/.debug/mtd_probe<br> /usr/lib/udev/.debug/scsi_id<br> /usr/lib/udev/.debug/accelerometer<br> /usr/lib/udev/rules.d/70-uaccess.rules<br> /usr/lib/udev/rules.d/73-seat-late.rules<br> /usr/lib/udev/rules.d/71-seat.rules<br> /usr/lib/udev/rules.d/99-systemd.rules<br></blockquote><div><br></div><div>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).<br><br></div><div>Any thoughts on this? I will redo the patches accordingly once I get some more opinions.<br></div><br><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">Pau Espin Pedrol<br>mail/jabber: <a href="mailto:pespin.shar@gmail.com" target="_blank">pespin.shar@gmail.com</a><br><a href="http://blog.espeweb.net" target="_blank">http://blog.espeweb.net</a><br></div></div>
<br><div class="gmail_quote">2015-07-24 16:02 GMT+02:00 Pau Espin Pedrol <span dir="ltr"><<a href="mailto:pau.espin@aweurope.be" target="_blank">pau.espin@aweurope.be</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Signed-off-by: Pau Espin Pedrol <<a href="mailto:pau.espin@aweurope.be">pau.espin@aweurope.be</a>><br>
---<br>
meta/classes/systemd.bbclass | 9 ++++-----<br>
1 file changed, 4 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass<br>
index cfe1eb5..46e72c7 100644<br>
--- a/meta/classes/systemd.bbclass<br>
+++ b/meta/classes/systemd.bbclass<br>
@@ -136,8 +136,7 @@ python systemd_populate_packages() {<br>
# Check service-files and call systemd_add_files_and_parse for each entry<br>
def systemd_check_services():<br>
searchpaths = [oe.path.join(d.getVar("sysconfdir", True), "systemd", "system"),]<br>
- searchpaths.append(oe.path.join(d.getVar("nonarch_base_libdir", True), "systemd", "system"))<br>
- searchpaths.append(oe.path.join(d.getVar("exec_prefix", True), d.getVar("nonarch_base_libdir", True), "systemd", "system"))<br>
+ searchpaths.append(d.getVar("systemd_system_unitdir", True))<br>
systemd_packages = d.getVar('SYSTEMD_PACKAGES', True)<br>
<br>
keys = 'Also'<br>
@@ -185,10 +184,10 @@ python rm_sysvinit_initddir (){<br>
if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and \<br>
not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d) and \<br>
os.path.exists(sysv_initddir):<br>
- systemd_unitdir = oe.path.join(d.getVar("D", True), d.getVar('systemd_unitdir', True), "system")<br>
+ systemd_system_unitdir = oe.path.join(d.getVar("D", True), d.getVar('systemd_system_unitdir', True))<br>
<br>
- # If systemd_unitdir contains anything, delete sysv_initddir<br>
- if (os.path.exists(systemd_unitdir) and os.listdir(systemd_unitdir)):<br>
+ # If systemd_system_unitdir contains anything, delete sysv_initddir<br>
+ if (os.path.exists(systemd_system_unitdir) and os.listdir(systemd_system_unitdir)):<br>
shutil.rmtree(sysv_initddir)<br>
}<br>
do_install[postfuncs] += "rm_sysvinit_initddir "<br>
--<br>
1.9.1<br>
<br>
</div></div></blockquote></div><br></div>