[OE-core] [PATCH v2] pulseaudio: add systemd to PACKAGECONFIG if enabled in DISTRO_FEATURES

Pau Espin Pedrol pespin.shar at gmail.com
Mon Jul 13 10:23:25 UTC 2015


Hi,

I am not sure which is the behavior with those paths right now and how
it should be.

I just checked this:
http://www.freedesktop.org/software/systemd/man/systemd.unit.html#Unit%20Load%20Path

So, it seems according to documentation that system services should be
installed under /usr/lib/systemd/system, but currently they are
installed in /lib/systemd/system in my generated image. Is that a
expected behaviour? Shouldn't we try to follow documentation? I see
that sometimes /lib/systemd/system path is appended to the dirs in
systemdsystemunitpath, but it's not stated in the documentation,
that's a bit strange.

For user services, /usr/lib/systemd/user is already being used as
stated in docs.

Now, when multilib comes in, I get lost. If I understand correctly,
with multilib enabled we have too /lib64 and /usr/lib64. Are then
systemd service files suppoused to be installed in /usr/lib/systemd/
or in /usr/lib64/systemd/ ? If I undersood correctly your comment you
meant they should still be going into /usr/lib/systemd right?

Now, talking about bitbake.conf. I see there's already a line with the
following:
export systemd_unitdir = "/lib/systemd"

So, apart from your nonarch issue, I think it would also be a good
idea to split systemd_unitdir into system and user, as done by
provided pc in systemd (src/core/systemd.pc.in):
1- If still want system services to be in /lib and user services to be
in /usr/lib:
export nonarch_libdir = "${prefix}/lib"

export systemd_system_unitdir = "${nonarch_base_libdir}/systemd/system"
export systemd_user_unitdir = "${nonarch_libdir}/systemd/user"
or
export systemd_system_unitdir = "${nonarch_base_libdir}/systemd"
export systemd_user_unitdir = "${nonarch_libdir}/systemd"


2- If you want both in /usr/lib:
export nonarch_libdir = "${prefix}/lib"

export systemd_system_unitdir = "${nonarch_libdir}/systemd/system"
export systemd_user_unitdir = "${nonarch_libdir}/systemd/user"
or
export systemd_system_unitdir = "${nonarch_libdir}/systemd"
export systemd_user_unitdir = "${nonarch_libdir}/systemd"


Pau


2015-07-11 0:36 GMT+02:00 Burton, Ross <ross.burton at intel.com>:
>
> On 10 July 2015 at 15:04, Pau Espin Pedrol <pau.espin at aweurope.be> wrote:
>>
>> +FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-*
>> ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules
>> ${libdir}/systemd/user/*"
>
>
> That's going to break in multiarch builds, ie systemd units go into
> $prefix/lib even if $libdir is $prefix/lib64.
>
> (looks like we should add nonarch_libdir to bitbake.conf to codify this)
>
> Ross
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



More information about the Openembedded-core mailing list