Skip to content
  1. Jul 07, 2010
  2. Jul 06, 2010
    • David Zeuthen's avatar
      GDBus: Handle autolaunching on UNIX/Freedesktop OSes · aab6d9ed
      David Zeuthen authored
      
      
      Also add a 'address' G_DBUS_DEBUG option that will print out useful
      debug information such as
      
        GDBus-debug:Address: In g_dbus_address_get_for_bus_sync() for bus type `session'
        GDBus-debug:Address: env var DBUS_SESSION_BUS_ADDRESS is not set
        GDBus-debug:Address: env var DBUS_SYSTEM_BUS_ADDRESS is not set
        GDBus-debug:Address: env var DBUS_STARTER_BUS_TYPE is not set
        GDBus-debug:Address: Running `dbus-launch --autolaunch=05e508961149264c9b750a4c494aa6f7 --binary-syntax --close-stderr' to get bus address (possibly autolaunching)
        GDBus-debug:Address: dbus-launch output:
          0000: 75 6e 69 78  3a 61 62 73  74 72 61 63  74 3d 2f 74    unix:abstract=/t
          0010: 6d 70 2f 64  62 75 73 2d  77 42 41 6f  4b 59 49 52    mp/dbus-wBAoKYIR
          0020: 7a 75 2c 67  75 69 64 3d  30 34 30 64  31 33 66 33    zu,guid=040d13f3
          0030: 30 61 30 62  35 32 63 32  30 66 36 32  63 34 31 63    0a0b52c20f62c41c
          0040: 30 30 30 30  35 30 38 64  00 d2 38 00  00 01 00 40    0000508d..8....@
          0050: 05 00 00 00  00                                       .....
        GDBus-debug:Address: dbus-launch stderr output:
        14542: Autolaunch enabled (using X11).
        14542: --exit-with-session automatically enabled
        14542: Connected to X11 display ':0.0'
        14542: === Parent dbus-launch continues
        14542: Waiting for babysitter's intermediate parent
        14542: Reading address from bus
        14542: Reading PID from daemon
        14542: Saving x11 address
        14542: Created window 88080385
        14542: session file: /root/.dbus/session-bus/05e508961149264c9b750a4c494aa6f7-0
        14542: dbus-launch exiting
        GDBus-debug:Address: Returning address `unix:abstract=/tmp/dbus-wBAoKYIRzu,guid=040d13f30a0b52c20f62c41c0000508d' for bus type `session'
      
      and
      
        GDBus-debug:Address: In g_dbus_address_get_for_bus_sync() for bus type `session'
        GDBus-debug:Address: env var DBUS_SESSION_BUS_ADDRESS is not set
        GDBus-debug:Address: env var DBUS_SYSTEM_BUS_ADDRESS is not set
        GDBus-debug:Address: env var DBUS_STARTER_BUS_TYPE is not set
        GDBus-debug:Address: Running `dbus-launch --autolaunch=05e508961149264c9b750a4c494aa6f7 --binary-syntax --close-stderr' to get bus address (possibly autolaunching)
        GDBus-debug:Address: dbus-launch output:
          0000: 75 6e 69 78  3a 61 62 73  74 72 61 63  74 3d 2f 74    unix:abstract=/t
          0010: 6d 70 2f 64  62 75 73 2d  77 42 41 6f  4b 59 49 52    mp/dbus-wBAoKYIR
          0020: 7a 75 2c 67  75 69 64 3d  30 34 30 64  31 33 66 33    zu,guid=040d13f3
          0030: 30 61 30 62  35 32 63 32  30 66 36 32  63 34 31 63    0a0b52c20f62c41c
          0040: 30 30 30 30  35 30 38 64  00 d2 38 00  00 01 00 40    0000508d..8....@
          0050: 05 00 00 00  00                                       .....
        GDBus-debug:Address: dbus-launch stderr output:
        14549: Autolaunch enabled (using X11).
        14549: --exit-with-session automatically enabled
        14549: Connected to X11 display ':0.0'
        14549: dbus-daemon is already running. Returning existing parameters.
        14549: dbus-launch exiting
        GDBus-debug:Address: Returning address `unix:abstract=/tmp/dbus-wBAoKYIRzu,guid=040d13f30a0b52c20f62c41c0000508d' for bus type `session'
      
      Note that things work exactly like libdbus, e.g. from the
      dbus-launch(1) man page:
      
        Whenever an autolaunch occurs, the application that had to start a
        new bus will be in its own little world; it can effectively end up
        starting a whole new session if it tries to use a lot of bus
        services. This can be suboptimal or even totally broken, depending
        on the app and what it tries to do.
      
        [...]
      
        You can always avoid autolaunch by manually setting
        DBUS_SESSION_BUS_ADDRESS. Autolaunch happens because the default
        address if none is set is "autolaunch:", so if any other address is
        set there will be no autolaunch. You can however include autolaunch
        in an explicit session bus address as a fallback, for example
        DBUS_SESSION_BUS_ADDRESS="something:,autolaunch:" - in that case if
        the first address doesn't work, processes will autolaunch. (The bus
        address variable contains a comma-separated list of addresses to
        try.)
      
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      aab6d9ed
    • David Zeuthen's avatar
      GDBus: Properly handle empty address strings · ef296440
      David Zeuthen authored
      
      
      Changes this error
      
       DBUS_SESSION_BUS_ADDRESS= \
       gdbus introspect --session \
                        --dest org.freedesktop.DBus \
                        --object-path /org/freedesktop/DBus
       **
       GLib-GIO:ERROR:gdbusaddress.c:913:g_dbus_address_get_stream_sync: assertion failed: (last_error != NULL)
       Aborted (core dumped)
      
      to
      
       DBUS_SESSION_BUS_ADDRESS= \
       gdbus introspect --session \
                        --dest org.freedesktop.DBus \
                        --object-path /org/freedesktop/DBus
       Error connecting: The given address is empty
      
      which is much more preferable.
      
      Signed-off-by: default avatarDavid Zeuthen <davidz@redhat.com>
      ef296440
    • Matthias Clasen's avatar
      Fix problems with the keyfile test · f0b6cbb1
      Matthias Clasen authored
      We must set XDG_DATA_HOME early on, and we must clear error
      before using it.
      f0b6cbb1
    • Matthias Clasen's avatar
      Improve keyfile test coverage · eea9d343
      Matthias Clasen authored
      eea9d343
    • Matthias Clasen's avatar
      Define SRCDIR · ee89ed24
      Matthias Clasen authored
      ee89ed24
    • Matthias Clasen's avatar
      Add some GDir tests · a3bda1ac
      Matthias Clasen authored
      a3bda1ac
    • Matthias Clasen's avatar
      Improve uri test coverage · c5fcd21e
      Matthias Clasen authored
      c5fcd21e
    • Matthias Clasen's avatar
      Move uri tests to the test framework · b7207320
      Matthias Clasen authored
      b7207320
    • Matthias Clasen's avatar
      Add more list tests · 123ba622
      Matthias Clasen authored
      123ba622
    • Matthias Clasen's avatar
      Move tree tests to the test framework · 953962d7
      Matthias Clasen authored
      953962d7
    • Matthias Clasen's avatar
      Move slist tests to the test framework · 5123bc69
      Matthias Clasen authored
      5123bc69
    • Matthias Clasen's avatar
      Move list tests to the test framework · b61fd45a
      Matthias Clasen authored
      b61fd45a
    • Matthias Clasen's avatar
      c2997efb
    • Matthias Clasen's avatar
      Remove a redundant branch · 4e97c966
      Matthias Clasen authored
      Since the name has been interned already at pspec creation time,
      we can just call g_intern_string().
      4e97c966
    • Matthias Clasen's avatar
      Remove cases of ;; · af299df4
      Matthias Clasen authored
      af299df4
    • Matthias Clasen's avatar
      Test charset conversion with fallbacks · fb024224
      Matthias Clasen authored
      fb024224
    • Matthias Clasen's avatar
    • Matthias Clasen's avatar
      Add several more settings tests · 20dca593
      Matthias Clasen authored
      20dca593
    • Matthias Clasen's avatar
      Small documentation addition · 958f1501
      Matthias Clasen authored
      958f1501
    • Matthias Clasen's avatar
      Fix icons test to compile · c6e8d0ad
      Matthias Clasen authored
      c6e8d0ad
    • Matthias Clasen's avatar
      Test enum mapping · 81a0a268
      Matthias Clasen authored
      81a0a268