[OE-core] [oe-core][PATCH v3 2/3] systemd.bbclass: Use systemd_system_unitdir
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Sat Jul 25 07:29:33 UTC 2015
On Fri, 2015-07-24 at 17:10 +0200, Pau Espin Pedrol wrote:
> 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).
I agree. ${nonarch_base_libdir} seems to be definitely the right place
to put system service files. This may change if some day nobody will
have a separate /usr partition any more (which is what the systemd
developers are pushing for, AFAIK), but as long as we have to deal with
systems with a separate /usr partition, I think using /lib is the only
safe choice.
--
Tanu
More information about the Openembedded-core
mailing list