ArchiveOrangemail archive

dbus.lists.freedesktop.org


(List home) (Recent threads) (88 other Freedesktop.org lists)

Subscription Options

  • RSS or Atom: Read-only subscription using a browser or aggregator. This is the recommended way if you don't need to send messages to the list. You can learn more about feed syndication and clients here.
  • Conventional: All messages are delivered to your mail address, and you can reply. To subscribe, send an email to the list's subscribe address with "subscribe" in the subject line, or visit the list's homepage here.
  • Low traffic list: less than 3 messages per day
  • This list contains about 15,765 messages, beginning May 2003
  • 0 messages added yesterday
Report the Spam
This button sends a spam report to the moderator. Please use it sparingly. For other removal requests, read this.
Are you sure? yes no

DBus for LSB

Ad
Robert Schweikert 1334684376Tue, 17 Apr 2012 17:39:36 +0000 (UTC)
Hi,

For the next LSB release (LSB 5.0) the LSB work group would like to 
include DBus in the LSB. For this to heppen we need to figure out what 
interfaces and commands should be included in the LSB. The target 
version for inclusion would be DBus 1.4

Taking a look at openSUSE 11.4 I found 333 interfaces marked as GLOBAL 
in the library. But I didn't find any documentation of the interfaces on 
the DBus site. I was probably looking the the wrong place, thus if 
someone can point me in the right direction, that would be great. Also, 
should all the 333 interfaces be in the LSB, and if not what would be 
the best candidates for LSB inclusion?

On the DBus site I found the following commands documented:

dbus-daemon, dbus-send, dbus-monitor, dbus-launch, and dbus-uuidgen

on openSUSE the dbus-launch command does not exist. Is this also common 
on other distributions?

Thanks,
Robert-- 
Robert Schweikert                           MAY THE SOURCE BE WITH YOU
SUSE-IBM Software Integration Center                   LINUX
Tech Lead


781-464-8147
Colin Walters 1334686186Tue, 17 Apr 2012 18:09:46 +0000 (UTC)
On Tue, 2012-04-17 at 13:39 -0400, Robert Schweikert wrote:
> Hi,
> 
> For the next LSB release (LSB 5.0) the LSB work group would like to 
> include DBus in the LSB. For this to heppen we need to figure out what 
> interfaces and commands should be included in the LSB. The target 
> version for inclusion would be DBus 1.4So there's approximately 4 major components to "DBus":

1) The wire protocol
2) The libdbus-1.so shared library
3) The interface and semantics exported by the bus daemon
4) The tools> Taking a look at openSUSE 11.4 I found 333 interfaces marked as GLOBAL 
> in the library. But I didn't find any documentation of the interfaces on 
> the DBus site. I was probably looking the the wrong place,Yes, http://dbus.freedesktop.org/doc/api/html/inde...

Cursory inspection of the source code would reveal the documentation as
well.>  thus if 
> someone can point me in the right direction, that would be great.You seem to be referring to 2).  However, I think the major focus of
"standardization" should be on 1) and 3).  It's true that at present
many components use libdbus-1.so, and we will keep it stable for ISVs.

As for 4) - not very interesting for standardization I think; they're
all either developer tools or internal OS components.  Maybe fixing
the dbus-send interface in stone would make sense - it's not like
we're ever going to change it anyways.
Thiago Macieira 1334692117Tue, 17 Apr 2012 19:48:37 +0000 (UTC)
On terça-feira, 17 de abril de 2012 14.08.57, Colin Walters wrote:
> As for 4) - not very interesting for standardization I think; they're
> all either developer tools or internal OS components.  Maybe fixing
> the dbus-send interface in stone would make sense - it's not like
> we're ever going to change it anyways.Agreed. If any tool is to be standardised, it's dbus-launch (the one missing 
on OpenSUSE, which must be a mistake on the part of the OP). I can think of a 
few use-cases of launching a private bus, though rare.
Simon McVittie 1334745086Wed, 18 Apr 2012 10:31:26 +0000 (UTC)
On 17/04/12 20:47, Thiago Macieira wrote:
> If any tool is to be standardised, it's dbus-launchI would rather not have dbus-launch standardised in its current form -
it has some rather questionable bits of design.

Reviews would be extremely welcome on:

https://bugs.freedesktop.org/show_bug.cgi?id=...

https://bugs.freedesktop.org/show_bug.cgi?id=...

I think dbus-daemon --print-address (used behind the scenes by
dbus-launch, and by the new dbus-run-session introduced in #39196) is a
more appropriate way to start new private buses, to be honest. The
automatic aspects of dbus-launch are good for the X11-linked session
bus, but are overkill for a group of cooperating processes wanting a
private pseudo-session.

    S
Simon McVittie 1334745468Wed, 18 Apr 2012 10:37:48 +0000 (UTC)
On 17/04/12 19:08, Colin Walters wrote:
> 1) The wire protocolThis has effectively been "add-only" for a while.

> 2) The libdbus-1.so shared library

(More precisely, libdbus-1.so.3, since LSB standardizes a particular
SONAME, as I understand it - and if it doesn't, it should.)

Can we say that the portable interface is that you must use it from your
main thread, and only your main thread? The current situation is that
libdbus sort of works with threads, sometimes, but not reliably.

(1.5 is better, but probably still not perfect.)

Attempting to cope with both multi-threading and malloc() returning NULL
is a major impediment to libdbus - either/or would be fine, but having
both is a problem.

> 3) The interface and semantics exported by the bus daemon

These are mostly add-only, with a few exceptions (e.g. changing the
behaviour of eavesdropping).

Can we say that the LSB behaviour does not guarantee anything about
eavesdropping? ("Eavesdropping" is receiving messages addressed to
someone else - i.e. non-broadcast and not intended for you. Debug tools
do it, mainly.)

    S
Robert Schweikert 1334759514Wed, 18 Apr 2012 14:31:54 +0000 (UTC)
On 04/18/2012 06:37 AM, Simon McVittie wrote:
> On 17/04/12 19:08, Colin Walters wrote:
>> 1) The wire protocol
>
> This has effectively been "add-only" for a while.Thus this sounds like a great candidate for the LSB, but what is "the 
wire protocol" and what are the interfaces? LSB is primarily and ABI 
standard.>
>> 2) The libdbus-1.so shared library
>
> (More precisely, libdbus-1.so.3, since LSB standardizes a particular
> SONAME, as I understand it - and if it doesn't, it should.)Yes, we would specify the full name, libdbus-1.so.3 if that is the 
object that goes along with version 1.4 of DBus.>
> Can we say that the portable interface is that you must use it from your
> main thread, and only your main thread?There is nothing in the LSB that prescribes that libraries must be 
thread safe. Thus, this is not an issue.> The current situation is that
> libdbus sort of works with threads, sometimes, but not reliably.
>
> (1.5 is better, but probably still not perfect.)
>
> Attempting to cope with both multi-threading and malloc() returning NULL
> is a major impediment to libdbus - either/or would be fine, but having
> both is a problem.
>
>> 3) The interface and semantics exported by the bus daemon
>
> These are mostly add-only, with a few exceptions (e.g. changing the
> behaviour of eavesdropping).
>
> Can we say that the LSB behaviour does not guarantee anything about
> eavesdropping?Similar to thread safety, the LSB makes not guarantees about the 
"security" of included interfaces/libraries. Thus being able to 
eavesdrop does not have any effect on inclusion in LSB or the LSB 
specification itself.

Thanks,
Robert-- 
Robert Schweikert                           MAY THE SOURCE BE WITH YOU
SUSE-IBM Software Integration Center                   LINUX
Tech Lead


781-464-8147
Robert Schweikert 1334760312Wed, 18 Apr 2012 14:45:12 +0000 (UTC)
On 04/17/2012 02:08 PM, Colin Walters wrote:
> On Tue, 2012-04-17 at 13:39 -0400, Robert Schweikert wrote:
>> Hi,
>>
>> For the next LSB release (LSB 5.0) the LSB work group would like to
>> include DBus in the LSB. For this to heppen we need to figure out what
>> interfaces and commands should be included in the LSB. The target
>> version for inclusion would be DBus 1.4
>
> So there's approximately 4 major components to "DBus":
>
> 1) The wire protocol
> 2) The libdbus-1.so shared library
> 3) The interface and semantics exported by the bus daemon
> 4) The tools
>
>> Taking a look at openSUSE 11.4 I found 333 interfaces marked as GLOBAL
>> in the library. But I didn't find any documentation of the interfaces on
>> the DBus site. I was probably looking the the wrong place,
>
> Yes, http://dbus.freedesktop.org/doc/api/html/inde...Does a "frozen" version of the doc exist for DBus 1.4? For LSB purposes 
we would either have to refer to this frozen doc or pull the 1.4 
documentation into the spec or onto the LF site to ensure it can always 
be found and matched with the released specification.>
> Cursory inspection of the source code would reveal the documentation as
> well.
>
>>   thus if
>> someone can point me in the right direction, that would be great.
>
> You seem to be referring to 2).Yes, as LSB is mostly an ABI standard.> However, I think the major focus of
> "standardization" should be on 1)Yes, message encoding and the type system would be part of the LSB. The 
doc for this is great and we can mostly just pull it into the LSB.

> and 3).

You mean the dbus-daemon command?> It's true that at present
> many components use libdbus-1.so, and we will keep it stable for ISVs.


>
> As for 4) - not very interesting for standardization I think; they're
> all either developer tools or internal OS components.  Maybe fixing
> the dbus-send interface in stone would make sense - it's not like
> we're ever going to change it anyways.Thus you suggest that only dbus-daemon and dbus-send command be part of 
the LSB?

Thanks,
Robert-- 
Robert Schweikert                           MAY THE SOURCE BE WITH YOU
SUSE-IBM Software Integration Center                   LINUX
Tech Lead


781-464-8147
Simon McVittie 1334744894Wed, 18 Apr 2012 10:28:14 +0000 (UTC)
On 17/04/12 18:39, Robert Schweikert wrote:
> on openSUSE the dbus-launch command does not exist. Is this also common
> on other distributions?It's the only one with an X11 dependency, so it's commonly in a separate
binary package (dbus-x11 on Debian and derivatives).

    S
Home | About | Privacy