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