[OE-core] [oe-core][PATCH v3 2/3] systemd.bbclass: Use systemd_system_unitdir
Pau Espin Pedrol
pespin.shar at gmail.com
Fri Jul 24 15:10:31 UTC 2015
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.shar at gmail.com
http://blog.espeweb.net
2015-07-24 16:02 GMT+02:00 Pau Espin Pedrol <pau.espin at aweurope.be>:
> Signed-off-by: Pau Espin Pedrol <pau.espin at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150724/c1e8fc8c/attachment-0002.html>
More information about the Openembedded-core
mailing list