All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier-oss@weidmueller.com>
To: f_l_k@t-online.de, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] bluez5: install /var/lib/bluetooth directory
Date: Mon, 11 Apr 2022 09:17:25 +0200	[thread overview]
Message-ID: <95815113-5c58-63e2-feb8-03e80d7a2e66@weidmueller.com> (raw)
In-Reply-To: <0e14a9c4-2692-4f2e-b707-b9532706bab1@t-online.de>

Am 08.04.2022 um 22:03 schrieb Markus Volk via lists.openembedded.org:
> also had this issue and found out, that the bluetooth service did come 
> up, once bluetooth was enabled
> 
> My fix was to edit like this
> 
> ReadWritePaths=:/var/lib/bluetooth
> 
> The colon ensures that the service won't fail if the directory doesn't 
> exist

Regarding the documentation the ReadOnlyPaths and ReadWritePaths makes 
not sense because ProtectSystem=full mounts /usr, boot loader and /etc 
directories read-only.

Have somebody report the problem to the bluez project?

Regards
   Stefan


> 
> 
> Am 08.04.22 um 13:01 schrieb Yi Zhao:
>>
>> On 4/8/22 18:51, Stefan Herbrechtsmeier wrote:
>>> Am 08.04.2022 um 11:23 schrieb Yi Zhao:
>>>>
>>>> On 4/8/22 16:34, Stefan Herbrechtsmeier wrote:
>>>>> Am 08.04.2022 um 10:15 schrieb Yi Zhao via lists.openembedded.org:
>>>>>> There is a bluetooth service startup failure:
>>>>>> bluetooth.service: Failed at step NAMESPACE spawning 
>>>>>> /usr/libexec/bluetooth/bluetoothd: No such file or directory
>>>>>> bluetooth.service: Failed to set up mount namespacing: 
>>>>>> /run/systemd/unit-root/var/lib/bluetooth: No such file or directory
>>>>>>
>>>>>> This is because the directory /var/lib/bluetooth has been listed in
>>>>>> ReadWritePaths= in the service unit file but does not exist. We 
>>>>>> need to
>>>>>> create it before service startup.
>>>>>>
>>>>>> Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>>>>>> ---
>>>>>>   meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++
>>>>>>   1 file changed, 2 insertions(+)
>>>>>>
>>>>>> diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc 
>>>>>> b/meta/recipes-connectivity/bluez5/bluez5.inc
>>>>>> index 79d4645ca8..ee2cdbcc59 100644
>>>>>> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
>>>>>> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
>>>>>> @@ -102,6 +102,8 @@ do_install:append() {
>>>>>>       # Patch python tools to use Python 3; they should be source 
>>>>>> compatible, but
>>>>>>       # still refer to Python 2 in the shebang
>>>>>>       sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' 
>>>>>> ${D}${libdir}/bluez/test/*
>>>>>> +
>>>>>> +    install -d ${D}${localstatedir}/lib/bluetooth
>>>>>
>>>>> Please use systemd StateDirectory= [1]. Maybe it is reasonable to 
>>>>> replace the ReadWritePaths= with StateDirectory=.
>>>>>
>>>>> [1] 
>>>>> https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory= 
>>>>>
>>>>
>>>>
>>>> Thanks Stefank, but the ReadWritePaths= is set by bluez:
>>>>
>>>> https://github.com/bluez/bluez/commit/442d211b5f30f00d5ddd69b43385a03c1428ac45 
>>>>
>>>
>>> And who creates the directory before the patch?
>>
>> There is no need this directory before the patch. The service can 
>> startup without this directory.
>>
>>
>>>
>>> The systemd solution to create a state directory is StateDirectory= 
>>> (or tmpfiles.d for older versions of systemd). Systemd supports 
>>> stateless system [1] and therefore every service must work with an 
>>> empty /var/lib.
>>
>>
>> I'll try adding StateDirecotry to service unit file to  see if this 
>> can solve the problem.  Thanks.
>>
>>
>> //Yi
>>
>>>
>>> This patch hide a bug in bluez and the problem should be fixed in bluez.
>>>
>>> [1] https://0pointer.net/blog/projects/stateless.html
>>
>>
>>
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164177): https://lists.openembedded.org/g/openembedded-core/message/164177
> Mute This Topic: https://lists.openembedded.org/mt/90331367/6374899
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [stefan.herbrechtsmeier-oss@weidmueller.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


  reply	other threads:[~2022-04-11 17:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-08  8:15 [PATCH] bluez5: install /var/lib/bluetooth directory Yi Zhao
2022-04-08  8:34 ` [OE-core] " Stefan Herbrechtsmeier
2022-04-08  9:23   ` Yi Zhao
2022-04-08 10:51     ` Stefan Herbrechtsmeier
2022-04-08 11:01       ` Yi Zhao
2022-04-08 20:03         ` Markus Volk
2022-04-11  7:17           ` Stefan Herbrechtsmeier [this message]
     [not found]           ` <16E4C65A42F3BFA4.4406@lists.openembedded.org>
2022-04-13  8:21             ` Stefan Herbrechtsmeier
2022-04-14 16:22               ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=95815113-5c58-63e2-feb8-03e80d7a2e66@weidmueller.com \
    --to=stefan.herbrechtsmeier-oss@weidmueller.com \
    --cc=f_l_k@t-online.de \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.