[yocto] System service

Henrik Lindblom henriklindblomster at gmail.com
Thu May 2 11:15:04 PDT 2019


> Looks like it's dropping the service in ${sysconfdir}/init.d which
> resolves to /etc/init.d. I'm not sure that systemd won't look into
> init.d for services.

It doesn't.

> The standard place to put them is ${D}/${systemd_system_unitdir},
> which resolves to /lib/systemd/system.

Systemd's unit search path is documented in

https://www.freedesktop.org/software/systemd/man/systemd.unit.html

but the ones I've personally used most are /usr/lib/systemd/user and
/etc/systemd/system. These are a personal preference more than
anything else.

>> do_install_append() {
>>   install -d ${D}${sysconfdir}/init.d/
>>   install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
>> }

do_install() seems to be installing only non-systemd ofono shell
script in.

>> FILES_${PN} += "${systemd_unitdir}"

This line is redundant, AFAIK, since systemd.bbclass will handle
packaging for you, assuming you install the service files that you
advertise in SYSTEMD_SERVICE_${PN}. However, as I'm writing this from
memory, I recommend you skim through the class definition and check
for further details there.

Cheers,
Henrik

On Thu, May 2, 2019 at 8:28 PM Timothy Froehlich <tfroehlich at archsys.io>
wrote:

> Looks like it's dropping the service in ${sysconfdir}/init.d which
> resolves to /etc/init.d. I'm not sure that systemd won't look into init.d
> for services. The standard place to put them
> is ${D}/${systemd_system_unitdir}, which resolves to /lib/systemd/system.
>
> Also, check the "SYSTEMD_AUTO_ENABLE_pn-ofono" variable for that recipe.
> The systemd class sets it to "enable" by default, but something else could
> be overriding it and setting it to "disable".  Alternatively, confirm that
> the service isn't actually starting up and failing. It may be that you're
> restarting it once the system is fully booted and everything ofono needs is
> now ready.
>
> On Thu, May 2, 2019 at 7:55 AM JH <jupiter.hce at gmail.com> wrote:
>
>> Hi,
>>
>> The official ofono.inc recipe defines SYSTEMD_SERVICE_${PN} =
>> "ofono.service", but when I built the image, the system service does
>> not start ofono daemon automatically, I have to run the ofono daemon
>> manually. What I could be missing here? Here is the ofono recipes,
>> sorry if I need to ask ofono mailing list.
>>
>> $ cat ofono.inc
>> HOMEPAGE = "http://www.ofono.org"
>> SUMMARY  = "open source telephony"
>> DESCRIPTION = "oFono is a stack for mobile telephony devices on Linux.
>> oFono supports speaking to telephony devices through specific drivers,
>> or with generic AT commands."
>> LICENSE  = "GPLv2"
>> LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>>
>>
>> file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee"
>>
>> inherit autotools pkgconfig update-rc.d systemd bluetooth
>> gobject-introspection-data
>>
>> DEPENDS  = "dbus glib-2.0 udev mobile-broadband-provider-info"
>>
>> INITSCRIPT_NAME = "ofono"
>> INITSCRIPT_PARAMS = "defaults 22"
>>
>> PACKAGECONFIG ??= "\
>>     ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
>>     ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}
>> \
>>     "
>> PACKAGECONFIG[systemd] =
>> "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
>> PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}"
>>
>> EXTRA_OECONF += "--enable-test"
>>
>> SYSTEMD_SERVICE_${PN} = "ofono.service"
>>
>> do_install_append() {
>>   install -d ${D}${sysconfdir}/init.d/
>>   install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
>> }
>>
>> PACKAGES =+ "${PN}-tests"
>>
>> RDEPENDS_${PN} += "dbus"
>> RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info"
>>
>> FILES_${PN} += "${systemd_unitdir}"
>> FILES_${PN}-tests = "${libdir}/${BPN}/test"
>> RDEPENDS_${PN}-tests = "python3 python3-dbus"
>> RDEPENDS_${PN}-tests += "${@bb.utils.contains('GI_DATA_ENABLED',
>> 'True', 'python3-pygobject', '', d)}"
>>
>> Thank you.
>>
>> - jupiter
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>>
>
>
> --
> Tim Froehlich
> Embedded Linux Engineer
> tfroehlich at archsys.io
> 215-218-8955
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190502/9ad3bca5/attachment.html>


More information about the yocto mailing list