Cmake update patch for dbus master
Ralf Habacker
ralf.habacker at freenet.de
Thu Feb 11 07:44:37 PST 2010
Tor Lillqvist schrieb:
>> The only way I see is to use installation path based shared memory
segments.
>>
>
> I was first going to say that this sounds like a good idea, but then I
> started thinking.
>
> Consider this scenario: Several apps distributed by different people
> use dbus. No app directly requires another, but there is some useful
> information oner app can send on the bus to another app if present.
>
For this purpose a global user session dbus daemon should be installable
as as a standalone package which let the user session daemon start
on user session logon.
> All apps come bundled with dbus
> and all install the dbus daemon and client library under their own
installation folder. This is what one
> should do, right?
>
The minimal requirement for apps should be a bundled dbus library to be
able to connect to a dbus-daemon. The dbus-daemon may be bundled too but
could be optional.
> So if the name of the shared memory segment is based on where the dbus
> client library (DLL) is installed, these apps will be using different
> session buses, and won't be able to talk to the others.
>
By default a dbus daemon of a specific application should be configured
on package build time to run a local session bus and the app to connect
to these local session bus.
On application install time the related installer could check if there
is a user session bus daemon installed and could then offer a way to
configure the bundled dbus to use the global user session bus. Maybe the
standalone dbus package could have a little config gui for this purpose
to minimize the required installers effort.
> So does you suggestion implicitly require that people who build
> installers for Windows apps that use dbus and that *want* the session
> bus instance their app uses is able to talk to whatever other apps
> there are present agree on a way to install
Is a standalone dbus package not be able install a config file into a
well known location or to set a well known registry key which is
readable by all bundled dbus client libraries ?
> (possibly update a previous installation of) > a shared copy of dbus?
The standalone dbus package could have a buildin updater, which could be
started from other installers.
> I think that will be
> quite hard to achieve. Some people like MSI-based installer
> technology, some might not like it but feel it is required for
> "enterprise readiness", others won't touch it with a stick and prefer
> NSIS, others prefer InnoSetup, etc etc.
>
This depends on how simple the agreement is. Current windows dbus code
provides well known shared memory areas for the session bus address for
client connecting purpose, so the mimimum would be a config file on a
well known location containing
- the path of the related daemon for autostart purposes
- for installers the path of the standalone package updater
Do have I overseen something ?
Regards
Ralf
More information about the dbus
mailing list