<div dir="ltr"><div><div>OK Tanu,<br><br></div>I will try to do some tests and prepare new patches during the following days.<br><br></div>Thanks for reviewing,<br></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-25 9:29 GMT+02:00 Tanu Kaskinen <span dir="ltr"><<a href="mailto:tanu.kaskinen@linux.intel.com" target="_blank">tanu.kaskinen@linux.intel.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, 2015-07-24 at 17:10 +0200, Pau Espin Pedrol wrote:<br>
> Hi,<br>
><br>
</span>> actually this breaks build of <a href="http://systemd.bb" rel="noreferrer" target="_blank">systemd.bb</a> itself, because it installs<br>
<span class="">> its system recipes using paths from Makefile.am:<br>
> userunitdir=$(prefix)/lib/systemd/user<br>
> systemunitdir=$(rootprefix)/lib/systemd/system<br>
><br>
</span>> And in the recipe for <a href="http://systemd_219.bb" rel="noreferrer" target="_blank">systemd_219.bb</a> we have:<br>
<div><div class="h5">> # Helper variables to clarify locations. This mirrors the<br>
> logic in systemd's<br>
> # build system.<br>
> rootprefix ?= "${base_prefix}"<br>
> rootlibdir ?= "${base_libdir}"<br>
> rootlibexecdir = "${rootprefix}/lib"<br>
><br>
><br>
> So, that means it installs its own services into /lib, not /usr/lib.<br>
> The changes done in systemd.bbclass in this patch remove the search<br>
> path of /lib, allowing only ${system_system_unitdir} which is<br>
> "/usr/lib/systemd/system".<br>
><br>
><br>
> I tried changing rootprefix to use "${prefix}" but then I get other<br>
> problems:<br>
> ERROR: QA Issue: systemd: Files/directories were installed but<br>
> 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>
><br>
><br>
> Which at the end makes me think... is it really a good idea to set<br>
> systemd_unitdir and system_system_unitdir to use "${nonarch_libdir}"?<br>
> I think we should be better using ${nonarch_base_libdir} for those, as<br>
> systemd guys themselves make distinction between both (prefix vs<br>
> rootprefix).<br>
<br>
</div></div>I agree. ${nonarch_base_libdir} seems to be definitely the right place<br>
to put system service files. This may change if some day nobody will<br>
have a separate /usr partition any more (which is what the systemd<br>
developers are pushing for, AFAIK), but as long as we have to deal with<br>
systems with a separate /usr partition, I think using /lib is the only<br>
safe choice.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Tanu<br>
<br>
<br>
</font></span></blockquote></div><br></div>