<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&#39;s<br># build system.<br>rootprefix ?= &quot;${base_prefix}&quot;<br>rootlibdir ?= &quot;${base_libdir}&quot;<br>rootlibexecdir = &quot;${rootprefix}/lib&quot;<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 &quot;/usr/lib/systemd/system&quot;.<br><br></div>I tried changing rootprefix to use &quot;${prefix}&quot; 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 &quot;${nonarch_libdir}&quot;? 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">&lt;<a href="mailto:pau.espin@aweurope.be" target="_blank">pau.espin@aweurope.be</a>&gt;</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 &lt;<a href="mailto:pau.espin@aweurope.be">pau.espin@aweurope.be</a>&gt;<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(&quot;sysconfdir&quot;, True), &quot;systemd&quot;, &quot;system&quot;),]<br>
-        searchpaths.append(oe.path.join(d.getVar(&quot;nonarch_base_libdir&quot;, True), &quot;systemd&quot;, &quot;system&quot;))<br>
-        searchpaths.append(oe.path.join(d.getVar(&quot;exec_prefix&quot;, True), d.getVar(&quot;nonarch_base_libdir&quot;, True), &quot;systemd&quot;, &quot;system&quot;))<br>
+        searchpaths.append(d.getVar(&quot;systemd_system_unitdir&quot;, True))<br>
         systemd_packages = d.getVar(&#39;SYSTEMD_PACKAGES&#39;, True)<br>
<br>
         keys = &#39;Also&#39;<br>
@@ -185,10 +184,10 @@ python rm_sysvinit_initddir (){<br>
     if bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;systemd&#39;, True, False, d) and \<br>
         not bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;sysvinit&#39;, True, False, d) and \<br>
         os.path.exists(sysv_initddir):<br>
-        systemd_unitdir = oe.path.join(d.getVar(&quot;D&quot;, True), d.getVar(&#39;systemd_unitdir&#39;, True), &quot;system&quot;)<br>
+        systemd_system_unitdir = oe.path.join(d.getVar(&quot;D&quot;, True), d.getVar(&#39;systemd_system_unitdir&#39;, 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] += &quot;rm_sysvinit_initddir &quot;<br>
--<br>
1.9.1<br>
<br>
</div></div></blockquote></div><br></div>