diff mbox series

[1/1] package/libglib2: fix dbus system socket location

Message ID 20210415144226.2354048-1-jpcartal@free.fr
State Rejected
Headers show
Series [1/1] package/libglib2: fix dbus system socket location | expand

Commit Message

jean-pierre cartal April 15, 2021, 2:42 p.m. UTC
Fix dbus system socket location moved from
/var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket

Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
---
 package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 package/libglib2/0005-dbus-system-socket-path.patch

Comments

Thomas Petazzoni April 19, 2021, 9:28 p.m. UTC | #1
Hello Jean-Pierre,

+Norbert in Cc, since he changed the DBus socket location in commit
6b9a75a5bd1b1a559b7352003588d1461de8c4d1.

On Thu, 15 Apr 2021 16:42:26 +0200
Jean-pierre Cartal <jpcartal@free.fr> wrote:

> Fix dbus system socket location moved from
> /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
> 
> Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
> ---
>  package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>  create mode 100644 package/libglib2/0005-dbus-system-socket-path.patch
> 
> diff --git a/package/libglib2/0005-dbus-system-socket-path.patch b/package/libglib2/0005-dbus-system-socket-path.patch
> new file mode 100644
> index 0000000000..bb2ec33dc6
> --- /dev/null
> +++ b/package/libglib2/0005-dbus-system-socket-path.patch
> @@ -0,0 +1,11 @@
> +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c libglib2-2.66.8/gio/gdbusaddress.c
> +--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18 14:47:48.256693000 +0100
> ++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15 16:14:28.519296584 +0200
> +@@ -1331,7 +1331,7 @@
> +
> +       if (ret == NULL)
> +         {
> +-          ret = g_strdup ("unix:path=/var/run/dbus/system_bus_socket");
> ++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
> +         }
> +       break;

On the form, all patches in Buildroot need to have a proper commit
description and Signed-off-by line.

But on the actual content, I am wondering if this is the right
direction to take. Do we want to keep this non-upstreamable patch
around forever ?

According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
is supposed to be a symlink to /run, so your patch should be a no-op.
Both our systemd and sysv skeletons ensure this symlink exist.

Could you provide more details about the issue ?

Thomas
jean-pierre cartal April 19, 2021, 9:43 p.m. UTC | #2
Hello Thomas,

We recently moved to the new 2021.02.x LTS version from previous 2020.02.x LTS version.

While testing this new branch we discovered that we could not connect to dbus anymore when using libglib2 because the dbus socket location changed from /var/run to /run.

I'll double check tomorrow but I'm quite sure that those are 2 distinct directories and not a symlink in our builds.

Regards

Le 19 avril 2021 23:28:10 GMT+02:00, Thomas Petazzoni <thomas.petazzoni@bootlin.com> a écrit :
>Hello Jean-Pierre,
>
>+Norbert in Cc, since he changed the DBus socket location in commit
>6b9a75a5bd1b1a559b7352003588d1461de8c4d1.
>
>On Thu, 15 Apr 2021 16:42:26 +0200
>Jean-pierre Cartal <jpcartal@free.fr> wrote:
>
>> Fix dbus system socket location moved from
>> /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
>> 
>> Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
>> ---
>>  package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>  create mode 100644
>package/libglib2/0005-dbus-system-socket-path.patch
>> 
>> diff --git a/package/libglib2/0005-dbus-system-socket-path.patch
>b/package/libglib2/0005-dbus-system-socket-path.patch
>> new file mode 100644
>> index 0000000000..bb2ec33dc6
>> --- /dev/null
>> +++ b/package/libglib2/0005-dbus-system-socket-path.patch
>> @@ -0,0 +1,11 @@
>> +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c
>libglib2-2.66.8/gio/gdbusaddress.c
>> +--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18
>14:47:48.256693000 +0100
>> ++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15
>16:14:28.519296584 +0200
>> +@@ -1331,7 +1331,7 @@
>> +
>> +       if (ret == NULL)
>> +         {
>> +-          ret = g_strdup
>("unix:path=/var/run/dbus/system_bus_socket");
>> ++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
>> +         }
>> +       break;
>
>On the form, all patches in Buildroot need to have a proper commit
>description and Signed-off-by line.
>
>But on the actual content, I am wondering if this is the right
>direction to take. Do we want to keep this non-upstreamable patch
>around forever ?
>
>According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
>is supposed to be a symlink to /run, so your patch should be a no-op.
>Both our systemd and sysv skeletons ensure this symlink exist.
>
>Could you provide more details about the issue ?
>
>Thomas
>-- 
>Thomas Petazzoni, co-owner and CEO, Bootlin
>Embedded Linux and Kernel engineering
>https://bootlin.com
>_______________________________________________
>buildroot mailing list
>buildroot@busybox.net
>http://lists.busybox.net/mailman/listinfo/buildroot
jean-pierre cartal April 20, 2021, 7:09 a.m. UTC | #3
Hello Thomas,

After further checking, I realized that because of historical reasons 
we've been mounting a tmpfs directory on top on /var as part of the boot 
process, hence loosing the /var/run -> /run link in the process.

Sorry for the erroneous patch.

Regards
Le 19/04/2021 à 23:43, Jean-pierre Cartal a écrit :
> Hello Thomas,
>
> We recently moved to the new 2021.02.x LTS version from previous 
> 2020.02.x LTS version.
>
> While testing this new branch we discovered that we could not connect 
> to dbus anymore when using libglib2 because the dbus socket location 
> changed from /var/run to /run.
>
> I'll double check tomorrow but I'm quite sure that those are 2 
> distinct directories and not a symlink in our builds.
>
> Regards
>
> Le 19 avril 2021 23:28:10 GMT+02:00, Thomas Petazzoni 
> <thomas.petazzoni@bootlin.com> a écrit :
>
>     Hello Jean-Pierre,
>
>     +Norbert in Cc, since he changed the DBus socket location in commit
>     6b9a75a5bd1b1a559b7352003588d1461de8c4d1.
>
>     On Thu, 15 Apr 2021 16:42:26 +0200
>     Jean-pierre Cartal <jpcartal@free.fr> wrote:
>
>         Fix dbus system socket location moved from
>         /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
>         Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
>         ------------------------------------------------------------------------
>         package/libglib2/0005-dbus-system-socket-path.patch | 11
>         +++++++++++ 1 file changed, 11 insertions(+) create mode
>         100644 package/libglib2/0005-dbus-system-socket-path.patch
>         diff --git
>         a/package/libglib2/0005-dbus-system-socket-path.patch
>         b/package/libglib2/0005-dbus-system-socket-path.patch new file
>         mode 100644 index 0000000000..bb2ec33dc6 --- /dev/null +++
>         b/package/libglib2/0005-dbus-system-socket-path.patch @@ -0,0
>         +1,11 @@ +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c
>         libglib2-2.66.8/gio/gdbusaddress.c +---
>         libglib2-2.66.8.orig/gio/gdbusaddress.c 2021-03-18
>         14:47:48.256693000 +0100 ++++
>         libglib2-2.66.8/gio/gdbusaddress.c 2021-04-15
>         16:14:28.519296584 +0200 +@@ -1331,7 +1331,7 @@ + + if (ret ==
>         NULL) + { +- ret = g_strdup
>         ("unix:path=/var/run/dbus/system_bus_socket"); ++ ret =
>         g_strdup ("unix:path=/run/dbus/system_bus_socket"); + } + break; 
>
>
>     On the form, all patches in Buildroot need to have a proper commit
>     description and Signed-off-by line.
>
>     But on the actual content, I am wondering if this is the right
>     direction to take. Do we want to keep this non-upstreamable patch
>     around forever ?
>
>     According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
>     is supposed to be a symlink to /run, so your patch should be a no-op.
>     Both our systemd and sysv skeletons ensure this symlink exist.
>
>     Could you provide more details about the issue ?
>
>     Thomas
>
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Norbert Lange April 20, 2021, 8:19 a.m. UTC | #4
Am Mo., 19. Apr. 2021 um 23:28 Uhr schrieb Thomas Petazzoni
<thomas.petazzoni@bootlin.com>:
>
> Hello Jean-Pierre,
>
> +Norbert in Cc, since he changed the DBus socket location in commit
> 6b9a75a5bd1b1a559b7352003588d1461de8c4d1.
>
> On Thu, 15 Apr 2021 16:42:26 +0200
> Jean-pierre Cartal <jpcartal@free.fr> wrote:
>
> > Fix dbus system socket location moved from
> > /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
> >
> > Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
> > ---
> >  package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >  create mode 100644 package/libglib2/0005-dbus-system-socket-path.patch
> >
> > diff --git a/package/libglib2/0005-dbus-system-socket-path.patch b/package/libglib2/0005-dbus-system-socket-path.patch
> > new file mode 100644
> > index 0000000000..bb2ec33dc6
> > --- /dev/null
> > +++ b/package/libglib2/0005-dbus-system-socket-path.patch
> > @@ -0,0 +1,11 @@
> > +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c libglib2-2.66.8/gio/gdbusaddress.c
> > +--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18 14:47:48.256693000 +0100
> > ++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15 16:14:28.519296584 +0200
> > +@@ -1331,7 +1331,7 @@
> > +
> > +       if (ret == NULL)
> > +         {
> > +-          ret = g_strdup ("unix:path=/var/run/dbus/system_bus_socket");
> > ++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
> > +         }
> > +       break;
>
> On the form, all patches in Buildroot need to have a proper commit
> description and Signed-off-by line.
>
> But on the actual content, I am wondering if this is the right
> direction to take. Do we want to keep this non-upstreamable patch
> around forever ?

why non-upstreamable?
All the modern build systems like CMake [1] and Autotools [2] have a
"runstatedir", would
be good practice to use it. Dont see why this shouldn't be fixed upstream.

(Might be a good idea if buildroot could set the runstatedir for CMake
and Autotools, but its a bit of a hassle to check if the later
supports the argument)

> According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
> is supposed to be a symlink to /run, so your patch should be a no-op.
> Both our systemd and sysv skeletons ensure this symlink exist.
>
> Could you provide more details about the issue ?

To quote FHS 3.15:
"The purposes of this directory were once served by /var/run. In
general, programs may continue to use /var/run to fulfill the
requirements set out for /run for the purposes of backwards
compatibility. Programs which have migrated to use /run should cease
their usage of /var/run, except as noted in the section on /var/run."

if you use /run you should do so consistently, /var/run symlink is a
bandaid. if you want a technical reason, think of / being a tmpfs and
/var being a NFS mount,
you don't want to traverse /var if you dont have to.

Norbert

[1] - https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
[2] - https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
Romain Naour July 24, 2022, 9:20 a.m. UTC | #5
Hello,

Le 20/04/2021 à 10:19, Norbert Lange a écrit :
> Am Mo., 19. Apr. 2021 um 23:28 Uhr schrieb Thomas Petazzoni
> <thomas.petazzoni@bootlin.com>:
>>
>> Hello Jean-Pierre,
>>
>> +Norbert in Cc, since he changed the DBus socket location in commit
>> 6b9a75a5bd1b1a559b7352003588d1461de8c4d1.
>>
>> On Thu, 15 Apr 2021 16:42:26 +0200
>> Jean-pierre Cartal <jpcartal@free.fr> wrote:
>>
>>> Fix dbus system socket location moved from
>>> /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
>>>
>>> Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
>>> ---
>>>  package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
>>>  1 file changed, 11 insertions(+)
>>>  create mode 100644 package/libglib2/0005-dbus-system-socket-path.patch
>>>
>>> diff --git a/package/libglib2/0005-dbus-system-socket-path.patch b/package/libglib2/0005-dbus-system-socket-path.patch
>>> new file mode 100644
>>> index 0000000000..bb2ec33dc6
>>> --- /dev/null
>>> +++ b/package/libglib2/0005-dbus-system-socket-path.patch
>>> @@ -0,0 +1,11 @@
>>> +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c libglib2-2.66.8/gio/gdbusaddress.c
>>> +--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18 14:47:48.256693000 +0100
>>> ++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15 16:14:28.519296584 +0200
>>> +@@ -1331,7 +1331,7 @@
>>> +
>>> +       if (ret == NULL)
>>> +         {
>>> +-          ret = g_strdup ("unix:path=/var/run/dbus/system_bus_socket");
>>> ++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
>>> +         }
>>> +       break;
>>
>> On the form, all patches in Buildroot need to have a proper commit
>> description and Signed-off-by line.
>>
>> But on the actual content, I am wondering if this is the right
>> direction to take. Do we want to keep this non-upstreamable patch
>> around forever ?
> 
> why non-upstreamable?
> All the modern build systems like CMake [1] and Autotools [2] have a
> "runstatedir", would
> be good practice to use it. Dont see why this shouldn't be fixed upstream.
> 
> (Might be a good idea if buildroot could set the runstatedir for CMake
> and Autotools, but its a bit of a hassle to check if the later
> supports the argument)
> 
>> According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
>> is supposed to be a symlink to /run, so your patch should be a no-op.
>> Both our systemd and sysv skeletons ensure this symlink exist.
>>
>> Could you provide more details about the issue ?
> 
> To quote FHS 3.15:
> "The purposes of this directory were once served by /var/run. In
> general, programs may continue to use /var/run to fulfill the
> requirements set out for /run for the purposes of backwards
> compatibility. Programs which have migrated to use /run should cease
> their usage of /var/run, except as noted in the section on /var/run."
> 
> if you use /run you should do so consistently, /var/run symlink is a
> bandaid. if you want a technical reason, think of / being a tmpfs and
> /var being a NFS mount,
> you don't want to traverse /var if you dont have to.

I have marked this patch as "Rejected" in patchwork.

upstream libglib2 still use /var/run to connect with the dbus system socket.

Best regards,
Romain


> 
> Norbert
> 
> [1] - https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
> [2] - https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Arnout Vandecappelle July 24, 2022, 10:35 a.m. UTC | #6
On 24/07/2022 11:20, Romain Naour wrote:
> Hello,
> 
> Le 20/04/2021 à 10:19, Norbert Lange a écrit :
>> Am Mo., 19. Apr. 2021 um 23:28 Uhr schrieb Thomas Petazzoni
>> <thomas.petazzoni@bootlin.com>:
>>>
>>> Hello Jean-Pierre,
>>>
>>> +Norbert in Cc, since he changed the DBus socket location in commit
>>> 6b9a75a5bd1b1a559b7352003588d1461de8c4d1.
>>>
>>> On Thu, 15 Apr 2021 16:42:26 +0200
>>> Jean-pierre Cartal <jpcartal@free.fr> wrote:
>>>
>>>> Fix dbus system socket location moved from
>>>> /var/run/dbus/system_bus_socket to /run/dbus/system_bus_socket
>>>>
>>>> Signed-off-by: Jean-pierre Cartal <jpcartal@free.fr>
>>>> ---
>>>>   package/libglib2/0005-dbus-system-socket-path.patch | 11 +++++++++++
>>>>   1 file changed, 11 insertions(+)
>>>>   create mode 100644 package/libglib2/0005-dbus-system-socket-path.patch
>>>>
>>>> diff --git a/package/libglib2/0005-dbus-system-socket-path.patch b/package/libglib2/0005-dbus-system-socket-path.patch
>>>> new file mode 100644
>>>> index 0000000000..bb2ec33dc6
>>>> --- /dev/null
>>>> +++ b/package/libglib2/0005-dbus-system-socket-path.patch
>>>> @@ -0,0 +1,11 @@
>>>> +diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c libglib2-2.66.8/gio/gdbusaddress.c
>>>> +--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18 14:47:48.256693000 +0100
>>>> ++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15 16:14:28.519296584 +0200
>>>> +@@ -1331,7 +1331,7 @@
>>>> +
>>>> +       if (ret == NULL)
>>>> +         {
>>>> +-          ret = g_strdup ("unix:path=/var/run/dbus/system_bus_socket");
>>>> ++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
>>>> +         }
>>>> +       break;
>>>
>>> On the form, all patches in Buildroot need to have a proper commit
>>> description and Signed-off-by line.
>>>
>>> But on the actual content, I am wondering if this is the right
>>> direction to take. Do we want to keep this non-upstreamable patch
>>> around forever ?
>>
>> why non-upstreamable?
>> All the modern build systems like CMake [1] and Autotools [2] have a
>> "runstatedir", would
>> be good practice to use it. Dont see why this shouldn't be fixed upstream.
>>
>> (Might be a good idea if buildroot could set the runstatedir for CMake
>> and Autotools, but its a bit of a hassle to check if the later
>> supports the argument)
>>
>>> According to commit 6b9a75a5bd1b1a559b7352003588d1461de8c4d1, /var/run
>>> is supposed to be a symlink to /run, so your patch should be a no-op.
>>> Both our systemd and sysv skeletons ensure this symlink exist.
>>>
>>> Could you provide more details about the issue ?
>>
>> To quote FHS 3.15:
>> "The purposes of this directory were once served by /var/run. In
>> general, programs may continue to use /var/run to fulfill the
>> requirements set out for /run for the purposes of backwards
>> compatibility. Programs which have migrated to use /run should cease
>> their usage of /var/run, except as noted in the section on /var/run."
>>
>> if you use /run you should do so consistently, /var/run symlink is a
>> bandaid. if you want a technical reason, think of / being a tmpfs and
>> /var being a NFS mount,
>> you don't want to traverse /var if you dont have to.
> 
> I have marked this patch as "Rejected" in patchwork.
> 
> upstream libglib2 still use /var/run to connect with the dbus system socket.

  IMO this patch is something that should be fixed upstream first, and we take 
it in Buildroot when we bump the libglib2 version.

  Regards,
  Arnout

> 
> Best regards,
> Romain
> 
> 
>>
>> Norbert
>>
>> [1] - https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
>> [2] - https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/libglib2/0005-dbus-system-socket-path.patch b/package/libglib2/0005-dbus-system-socket-path.patch
new file mode 100644
index 0000000000..bb2ec33dc6
--- /dev/null
+++ b/package/libglib2/0005-dbus-system-socket-path.patch
@@ -0,0 +1,11 @@ 
+diff -Naur libglib2-2.66.8.orig/gio/gdbusaddress.c libglib2-2.66.8/gio/gdbusaddress.c
+--- libglib2-2.66.8.orig/gio/gdbusaddress.c     2021-03-18 14:47:48.256693000 +0100
++++ libglib2-2.66.8/gio/gdbusaddress.c  2021-04-15 16:14:28.519296584 +0200
+@@ -1331,7 +1331,7 @@
+
+       if (ret == NULL)
+         {
+-          ret = g_strdup ("unix:path=/var/run/dbus/system_bus_socket");
++          ret = g_strdup ("unix:path=/run/dbus/system_bus_socket");
+         }
+       break;