2013-10-12 15:45:25

by Giovanni Campagna

[permalink] [raw]
Subject: [PATCH] Allow using obexd without systemd in the user session

From: Giovanni Campagna <[email protected]>

Not all sessions run systemd --user (actually, the majority
doesn't), so the dbus daemon must be able to spawn obexd
directly, and to do so it needs the full path of the daemon.
---
Makefile.obexd | 4 ++--
obexd/src/org.bluez.obex.service | 4 ----
obexd/src/org.bluez.obex.service.in | 4 ++++
3 files changed, 6 insertions(+), 6 deletions(-)
delete mode 100644 obexd/src/org.bluez.obex.service
create mode 100644 obexd/src/org.bluez.obex.service.in

diff --git a/Makefile.obexd b/Makefile.obexd
index d5377cb..751e0e5 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -2,12 +2,12 @@
if SYSTEMD
systemduserunitdir = @SYSTEMD_USERUNITDIR@
systemduserunit_DATA = obexd/src/obex.service
+endif

dbussessionbusdir = @DBUS_SESSIONBUSDIR@
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
-endif

-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in

obex_plugindir = $(libdir)/obex/plugins

diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
deleted file mode 100644
index a538088..0000000
--- a/obexd/src/org.bluez.obex.service
+++ /dev/null
@@ -1,4 +0,0 @@
-[D-BUS Service]
-Name=org.bluez.obex
-Exec=/bin/false
-SystemdService=dbus-org.bluez.obex.service
diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
new file mode 100644
index 0000000..9c815f2
--- /dev/null
+++ b/obexd/src/org.bluez.obex.service.in
@@ -0,0 +1,4 @@
+[D-BUS Service]
+Name=org.bluez.obex
+Exec=@libexecdir@/obexd
+SystemdService=dbus-org.bluez.obex.service
--
1.8.3.1



2013-10-14 18:02:59

by Bastien Nocera

[permalink] [raw]
Subject: Re: [PATCH] Allow using obexd without systemd in the user session

On Mon, 2013-10-14 at 18:02 +0300, Luiz Augusto von Dentz wrote:
> Hi Bastien,
>
> On Sat, Oct 12, 2013 at 7:25 PM, Bastien Nocera <[email protected]> wrote:
> > On Sat, 2013-10-12 at 18:08 +0200, Marcel Holtmann wrote:
> >> Hi Giovanni,
> > <snip>
> >> that is something your distro specific package should be fixing if
> >> that is needed. The focus is on integration with systemd and nothing
> >> else. You can use --disable-systemd and provide your own set of D-Bus
> >> service files.
> >
> > There aren't any distributions that ship systemd for user sessions
> > though.
>
> How far we are with this? If that will take a while perhaps we should
> support the old D-Bus service too.

It's planned for GNOME 3.12 for GNOME, so in about 6 months time
(April-ish release date).

2013-10-14 15:02:25

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH] Allow using obexd without systemd in the user session

Hi Bastien,

On Sat, Oct 12, 2013 at 7:25 PM, Bastien Nocera <[email protected]> wrote:
> On Sat, 2013-10-12 at 18:08 +0200, Marcel Holtmann wrote:
>> Hi Giovanni,
> <snip>
>> that is something your distro specific package should be fixing if
>> that is needed. The focus is on integration with systemd and nothing
>> else. You can use --disable-systemd and provide your own set of D-Bus
>> service files.
>
> There aren't any distributions that ship systemd for user sessions
> though.

How far we are with this? If that will take a while perhaps we should
support the old D-Bus service too.


--
Luiz Augusto von Dentz

2013-10-12 16:25:48

by Bastien Nocera

[permalink] [raw]
Subject: Re: [PATCH] Allow using obexd without systemd in the user session

On Sat, 2013-10-12 at 18:08 +0200, Marcel Holtmann wrote:
> Hi Giovanni,
<snip>
> that is something your distro specific package should be fixing if
> that is needed. The focus is on integration with systemd and nothing
> else. You can use --disable-systemd and provide your own set of D-Bus
> service files.

There aren't any distributions that ship systemd for user sessions
though.

2013-10-12 16:18:43

by Giovanni Campagna

[permalink] [raw]
Subject: Re: [PATCH] Allow using obexd without systemd in the user session

2013/10/12 Marcel Holtmann <[email protected]>:
> Hi Giovanni,
>
> [...]
>
> that is something your distro specific package should be fixing if that is needed. The focus is on integration with systemd and nothing else. You can use --disable-systemd and provide your own set of D-Bus service files.

I don't think shipping with upstream packages that require distro
patches in common configurations is a good idea (it breaks jhbuild
setups, for example), but ok, I filed
https://bugzilla.redhat.com/show_bug.cgi?id=1018496

Thanks for the quick answer,

Giovanni

2013-10-12 16:08:33

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Allow using obexd without systemd in the user session

Hi Giovanni,

> Not all sessions run systemd --user (actually, the majority
> doesn't), so the dbus daemon must be able to spawn obexd
> directly, and to do so it needs the full path of the daemon.
> ---
> Makefile.obexd | 4 ++--
> obexd/src/org.bluez.obex.service | 4 ----
> obexd/src/org.bluez.obex.service.in | 4 ++++
> 3 files changed, 6 insertions(+), 6 deletions(-)
> delete mode 100644 obexd/src/org.bluez.obex.service
> create mode 100644 obexd/src/org.bluez.obex.service.in
>
> diff --git a/Makefile.obexd b/Makefile.obexd
> index d5377cb..751e0e5 100644
> --- a/Makefile.obexd
> +++ b/Makefile.obexd
> @@ -2,12 +2,12 @@
> if SYSTEMD
> systemduserunitdir = @SYSTEMD_USERUNITDIR@
> systemduserunit_DATA = obexd/src/obex.service
> +endif
>
> dbussessionbusdir = @DBUS_SESSIONBUSDIR@
> dbussessionbus_DATA = obexd/src/org.bluez.obex.service
> -endif
>
> -EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
> +EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
>
> obex_plugindir = $(libdir)/obex/plugins
>
> diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
> deleted file mode 100644
> index a538088..0000000
> --- a/obexd/src/org.bluez.obex.service
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -[D-BUS Service]
> -Name=org.bluez.obex
> -Exec=/bin/false
> -SystemdService=dbus-org.bluez.obex.service
> diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
> new file mode 100644
> index 0000000..9c815f2
> --- /dev/null
> +++ b/obexd/src/org.bluez.obex.service.in
> @@ -0,0 +1,4 @@
> +[D-BUS Service]
> +Name=org.bluez.obex
> +Exec=@libexecdir@/obexd
> +SystemdService=dbus-org.bluez.obex.service

that is something your distro specific package should be fixing if that is needed. The focus is on integration with systemd and nothing else. You can use --disable-systemd and provide your own set of D-Bus service files.

Regards

Marcel