I'm about to do a mass-bug-filing against packages that mention dbus-x11 in their dependencies, or dbus-launch in their code, asking maintainers to adjust their dependencies to make dbus-x11 optional. My goal is that users can install the major desktop tasks in stretch (GNOME, KDE, etc.) with either one of dbus-user-session or dbus-x11, defaulting to dbus-user-session for new installations.
A dd-list of packages likely to be affected (based on <https://codesearch.debian.net/search?q=dbus-%28x11|launch%29>) is attached. Some of these will be false positives that merely mention dbus-launch in documentation or example code, like qt4-x11; I'll filter those out when I categorise them by type of dbus-launch use during bug filing. I will be prioritizing key packages for my MBF, then fill in non-key packages afterwards. tl;dr version: * Search this mail for "Recommendations" for what you should do if you are a maintainer of one of several categories of package. * I think we should default to dbus-user-session for stretch on Linux. * dbus-launch (dbus-x11) without dbus-user-session should continue to be supported, but should be a non-default configuration on Linux. * On kFreeBSD and Hurd, dbus-launch is still the best we can do. * Regression tests should use dbus-run-session, not dbus-launch, on all kernels. * Fallback plan: make it possible for early adopters to use dbus-user-session instead of dbus-launch, but keep dbus-launch the default for new installs even on Linux, and reconsider for stretch+1. My proposed solutions will make it possible to move to this fallback plan by modifying src:dbus and nothing else. Background: ways you might get a session bus ============================================ As of current stable, the correct way to start a "production" D-Bus session in Debian was for /etc/X11/Xsession.d to invoke dbus-launch(1). This would result in a session bus (dbus-daemon) per X11 display, and is set up by the dbus-x11 package. The dbus-daemon terminates when the X11 display does. dbus 1.10 in testing/unstable introduces a new way for systemd users to get a D-Bus session bus per uid (the *user bus*), shared between all parallel logins whether they are X11, Wayland, Mir, text or non-interactive. This is not 100% compatible with traditional practice, particularly if you have two or more parallel X11 logins with the same uid (GNOME's gdm won't do that, but some other display managers do), which is why it is "opt-in". In Debian, this is not done by default, but can be activated by installing the dbus-user-session package. In this case the dbus-daemon terminates when "systemd --user" does, which is when the uid responsible for this dbus-daemon ends their last parallel login session. Some desktop environment core components, such as GNOME's gnome-session, will automatically start a session bus per login session using dbus-launch if there is not already one available. I believe GNOME on Wayland currently relies on this mechanism if dbus-user-session is not installed. This session bus terminates when the X11 display does (in the case of GNOME on Wayland, the X11 display is XWayland, and terminates when gnome-shell does). Similarly, regression tests sometimes start a fake X11 display (Xvfb) and run dbus-launch scoped to that X11 display. Another possible way to get a session bus is to run dbus-run-session(1), or run dbus-daemon directly (typically using its --print-address option). This is frequently done by regression tests. In this case, a dbus-daemon started by dbus-run-session is terminated when dbus-run-session's child process terminates, and a directly-run dbus-daemon must be killed by the test script at the appropriate time. Finally, if you start a program that uses D-Bus with no session bus running, and you have an X11 display, the D-Bus library (typically libdbus or GLib's GDBus) will attempt "X11 autolaunching": the program forks and execs dbus-launch in a special "autolaunching" mode, and the various dbus-launch processes that were started in this way attempt to acquire a hidden X11 resource. Whichever dbus-launch process happens to get there first forks and execs the dbus-daemon for this X11 session, then continues to run to supervise it; the other dbus-launch processes just report its address back to their parents and then terminate. This mode is discouraged, and not particularly reliable: it has a tendency to start the dbus-daemon in a somewhat precarious situation, as a child of some random GUI app with arbitrary environment variables, resource limits, std{in,out,err} fds and so on. Autolaunching can also get used if you run a graphical program under su/sudo with access to your X11 display (but seriously, don't do that). X11 autolaunching may have been important 10 years ago, when people installed D-Bus into distributions that didn't otherwise integrate it, and used it to run individual GNOME or KDE apps inside a fvwm session or something. However, in 2016 and in a well-integrated distribution like Debian, I would be inclined to treat any use of X11 autolaunching as a bug. Why should we prefer dbus-user-session? ======================================= * If a GUI login session is running (for example you are logged-in to a GUI environment but the screen is locked), your cron jobs and ssh sessions on the same machine can share the desktop's user-services like dconf, Telepathy, fd.o Secrets (gnome-keyring/KWallet). * It's a good fit for the design of user-services like dconf. They can take a bus name on the user bus and be confident that this acts as a mutex locking out other instances of the user service on the same machine, avoiding "last write wins" data loss for all configurations where $HOME is not shared between machines. * It's also very suitable for taking per-user daemons that use D-Bus and would more usually be run in a desktop login session (for example exporting media to a UPnP receiver like a PS3 using Rygel, with Tracker for indexing) and turning them into pseudo-system-services running as a dedicated user: a systemd service with PAMName= and User= is enough to get a systemd --user instance and an accompanying dbus-daemon for that user, which is enough to support services like Rygel. * dbus-daemon is not a fully-featured service manager: it can start session services on-demand, but it doesn't support resource limiting, disabling services, non-D-Bus services and so on (nor should it - that isn't in its scope, and it doesn't have enough regular contributors to be a good idea to expand its scope to something like that). The user bus can use a fully-featured service manager, "systemd --user", for service activation. * As a systemd user service, the user bus is started in a known context with predictable/controllable environment variables, resource limits and so on. * The traditional D-Bus session bus uses abstract Unix sockets on Linux, to ensure automatic cleanup even if the dbus-daemon is terminated uncleanly. These sockets are always shared with container-based sandboxes, unless you start a new network namespace (which unshares all abstract Unix sockets, and also IP networking). The user bus uses a single filesystem-backed socket per uid, which is easy to inspect with standard Unix tools ("everything is a file") and is more container-friendly: it is not shared by default, but can be shared with a simple bind mount. * dbus-launch is fairly horrible code, complicated by the historical need for it to support X11 autolaunching, so the D-Bus maintainers would like to move it out of the critical path and minimize its use. Why should dbus-user-session be optional? ========================================= * The current implementation[1] requires systemd and systemd-logind. This is not portable to non-Linux kernels, and upsets some Linux users. [This is not set in stone; there's no reason why someone couldn't write a PAM module that started a user bus, but the people doing the work so far are happy with systemd taking responsibility for that.] * Some desktop environments (including many configurations of "build your own desktop environment from pieces") do support multiple parallel X11 sessions per uid per machine. In these setups, the user bus breaks the expectations of software that assumes it can run once per X11 session, in parallel, and take the same bus name on the session bus corresponding to each X11 session (for example gnome-settings-daemon has this behaviour). [It is possible to use a bus name like com.example.MyService.X0 if you want a bus name per X11 display, although this would require coordinated code changes in the service and its consumers.] * The per-X11-session bus would disconnect all background services (or at least those that happen to use D-Bus) on each X11 logout; well-behaved D-Bus services respond to this by terminating. The user bus isn't normally terminated until all processes in the login session have exited, which can result in background services lingering (more precisely, if a login-session process lingers, then the dbus-daemon and other non-GUI processes will too). [If this is important to you, for example in a university computer lab, consider using systemd-logind's KillUserProcesses option, which is the default upstream since 230 but not in Debian; it's more thorough, and does not depend on the implementation detail of whether processes happen to use D-Bus for IPC.] Recommendations for libraries ============================= This recommendation applies to library implementations of D-Bus such as libdbus, GLib's GDBus, systemd's sd-bus, dbus-sharp and dbus-java, when connecting to the standard session bus. If the environment variable DBUS_SESSION_BUS_ADDRESS is set, libraries must use that address when asked to connect to the session bus. If DBUS_SESSION_BUS_ADDRESS is unset, but XDG_RUNTIME_DIR is set, and $XDG_RUNTIME_DIR/bus is a socket owned by the correct uid, libraries must use that socket (for instance by substituting the XDG_RUNTIME_DIR, escaped as a D-Bus address component, into "unix:path=${escaped_xdg_runtime_dir}/bus"). If neither of those is available, libraries may use X11 autolaunching (the "autolaunch:" pseudo-transport) like libdbus and GDBus do, or they may simply fail the connection attempt like sd-bus does. I anticipate that for stretch+1 or stretch+2, we might want to recommend that libraries like libdbus and GDBus should disable X11 autolaunching, and fail to connect in the circumstances where they would have used it. Recommendations for desktop sessions ==================================== This recommendation applies to desktop sessions like GNOME, and desktop sessions' core infrastructure like gnome-session. Desktop sessions that make use of D-Bus should depend on Depends: default-dbus-session-bus | dbus-session-bus If a desktop environment works better with the "user bus" (I anticipate that GNOME might do this in stretch or stretch+1), it may indicate that with: Depends: dbus-user-session | dbus-session-bus Recommends: dbus-user-session If a desktop environment strictly depends on the "user bus", please talk to d...@packages.debian.org. Desktop sessions may execute dbus-launch if they are started with DBUS_SESSION_BUS_ADDRESS absent from the environment, and either XDG_RUNTIME_DIR unset, or a socket named $XDG_RUNTIME_DIR/bus not existing or owned by the wrong uid. This code path should not run in Debian X11 sessions or with dbus-user-session installed, but might be useful in Wayland sessions with dbus-user-session not installed, or as part of upstream support for distributions with less careful X11 integration than Debian. Recommendations for regression tests ==================================== This recommendation applies to packages that run tests at build time, packages with autopkgtests, and all similar situations. Regression tests should either use dbus-run-session, which is an "adverb" command like sudo or fakeroot: Depends: dbus (>= 1.8) dbus-run-session -- make check or if finer control is needed, start a dbus-daemon the hard way, something like this: Depends: dbus #!/bin/sh dbus-daemon --session --fork --print-address=4 --print-pid=5 4>address.tmp 5>pid.tmp trap 'kill $(cat pid.tmp); rm -f address.tmp pid.tmp' EXIT export DBUS_SESSION_BUS_ADDRESS="$(cat address.tmp)" make check If a special configuration file for the dbus-daemon is required, use dbus-run-session --config=special.conf -- make check or dbus-daemon --config=special.conf --fork --print-address=4 ... Recommendations for other software that relies on D-Bus ======================================================= This recommendation applies to ordinary apps that rely on having a session bus but are not a core part of a desktop environment, such as the Empathy real-time communications client. These packages should rely on the distribution and the desktop environment cooperating to ensure that a session bus is provided. A hard requirement for a session bus should be indicated like this: Depends: default-dbus-session-bus | dbus-session-bus A softer requirement can be indicated by a similar Recommends or Suggests. These packages should not attempt to run dbus-launch or dbus-daemon, except as a side-effect of using a library that supports X11 autolaunching - it is not their responsibility. Discussion/contact ================== Please discuss this MBF on debian-devel or by contacting d...@packages.debian.org. [1] Please contact the D-Bus upstream mailing list if you are interested in implementing a user bus without systemd. You will need something resembling pam_xdg_support (which is what Ubuntu used before they switched to systemd) to provide the XDG_RUNTIME_DIR, plus some way to start the actual dbus-daemon, probably from the same or a different PAM module. Note that since Ubuntu does not use or maintain pam_xdg_support any more, you will likely need to become its new upstream maintainer, or fork it as a basis for your new PAM module. Regards, S
Adrien Grellier <pe...@adrieng.fr> calligra (U) Alberto Garcia <be...@igalia.com> vagalume webkit2gtk (U) webkitgtk (U) Albin Tonnerre <lu...@debian.org> e17 (U) efl (U) Alexander Zangerl <a...@debian.org> duplicity Alexandre Viau <av...@debian.org> ring (U) Alf Gaida <aga...@siduction.org> lxqt-common (U) pcmanfm-qt (U) Andrea Veri <a...@debian.org> bamf (U) Andreas Barth <a...@debian.org> debian-policy (U) Andreas Henriksson <andr...@fatal.se> evince (U) evolution-data-server (U) gconf (U) gcr (U) gjs (U) glib-networking (U) glib2.0 (U) gnome-photos (U) gnome-power-manager (U) gnome-session (U) gnome-terminal (U) gnome-vfs (U) gtk+3.0 (U) gvfs (U) libsoup2.4 (U) libunique (U) pango1.0 (U) pygobject (U) totem (U) vala (U) Andreas Tille <ti...@debian.org> debian-edu (U) Andrew Lee (李健秋) <ajq...@debian.org> debian-edu (U) lxde-common (U) lxdm (U) lxqt-common (U) lxsession (U) pcmanfm-qt (U) Andrew Shadura <andre...@debian.org> libaudclient (U) Andrew Starr-Bochicchio <a...@debian.org> deluge (U) notify-osd (U) Andrey Rahmatullin <w...@debian.org> xboxdrv (U) Andriy Grytsenko <and...@rep.kiev.ua> lxde-common (U) lxdm (U) lxsession (U) Andriy Senkovych <jolly_ro...@itblog.org.ua> salt (U) Anibal Monsalve Salazar <ani...@debian.org> pcp (U) Antonio Terceiro <terce...@debian.org> apprecommender (U) ohai (U) Arnaud Fontaine <ar...@debian.org> awesome (U) Aron Xu <a...@debian.org> fcitx (U) ibus (U) Autopkgtest team <autopkgtest-de...@lists.alioth.debian.org> autopkgtest Axel Beckert <a...@debian.org> xymon (U) Ayman Negm <n...@debian.org> highlight Benjamin Drung <benjamin.dr...@profitbricks.com> salt (U) Bilal Akhtar <bilalakh...@ubuntu.com> audacious (U) Bill Allombert <ballo...@debian.org> debian-policy (U) Boris Pek <tehn...@debian.org> kde-gtk-config (U) Carsten Schoenert <c.schoen...@t-online.de> icedove (U) ChangZhuo Chen (陳昌倬) <czc...@debian.org> lxqt-common (U) pcmanfm-qt (U) Chris Taylor <ctay...@debian.org> audacious (U) audtty Christian Perrier <bubu...@debian.org> tasksel (U) Christine Spang <christ...@debian.org> quodlibet (U) Christoph Berg <m...@debian.org> xymon Christoph Goehre <ch...@sigxcpu.org> icedove Christopher Knadle <chris.kna...@coredump.us> mumble Colin Watson <cjwat...@ubuntu.com> xdeb (U) Corentin Desfarges <corentin.desfarges....@gmail.com> fw4spl (U) Corentin LABBE <clabbe.montj...@gmail.com> yasat Cream Packaging Team <pkg-cream-t...@lists.alioth.debian.org> python-cream Cristian Greco <crist...@debian.org> deluge Cyril Lavier <cyril.lav...@davromaniak.eu> audacious (U) Cédric Boutillier <bou...@debian.org> qtruby (U) Dafydd Harries <d...@debian.org> empathy (U) Daniel Baumann <m...@daniel-baumann.ch> open-infrastructure-system-config Daniel Kahn Gillmor <d...@fifthhorseman.net> msva-perl Daniel Schepler <schep...@debian.org> killbots (U) knetwalk (U) libkdegames (U) libkdegames-kde4 (U) David Bremner <brem...@debian.org> highlight (U) David Michael Smith <sidic...@gmail.com> liferea David Mohammed <foss.free...@gmail.com> budgie-desktop David Palacio <dpala...@orbitalibre.org> qtruby (U) David Suárez <david.sephi...@gmail.com> collab-qa-tools David Weinehall <t...@debian.org> libbonobo (U) Debian Accessibility Team <debian-accessibil...@lists.debian.org> emacspeak qt-at-spi Debian AppArmor Team <pkg-apparmor-t...@lists.alioth.debian.org> apparmor Debian CD Group <debian...@lists.debian.org> debian-cd Debian Chromium Maintainers <pkg-chromium-ma...@lists.alioth.debian.org> chromium-browser Debian Cinnamon Team <pkg-cinnamon-t...@lists.alioth.debian.org> cinnamon-screensaver cinnamon-session cjs nemo Debian CLI Libraries Team <pkg-cli-libs-t...@lists.alioth.debian.org> dbus-sharp Debian Edu Developers <debian-...@lists.debian.org> debian-edu Debian Edu Packaging Team <debian-edu-pkg-t...@lists.alioth.debian.org> italc Debian Evolution Maintainers <pkg-evolution-maintain...@lists.alioth.debian.org> evolution-data-server Debian FreeIPA Team <pkg-freeipa-de...@lists.alioth.debian.org> certmonger oddjob Debian Games Team <pkg-games-de...@lists.alioth.debian.org> xboxdrv Debian GNOME Maintainers <pkg-gnome-maintain...@lists.alioth.debian.org> deja-dup epiphany-browser evince gconf (U) gcr gjs glib-networking glib2.0 gnome-keyring gnome-keyring (U) gnome-photos gnome-power-manager gnome-screensaver gnome-session gnome-terminal gnome-vfs (U) gtk+3.0 gvfs libbonobo libnotify libsoup2.4 libunique libunique3 pango1.0 pygobject pygobject-2 (U) totem Debian Go Packaging Team <pkg-go-maintain...@lists.alioth.debian.org> golang-github-coreos-go-systemd Debian Haskell Group <pkg-haskell-maintain...@lists.alioth.debian.org> taffybar Debian Install System Team <debian-b...@lists.debian.org> tasksel Debian Java Maintainers <pkg-java-maintain...@lists.alioth.debian.org> java-gnome Debian KDE Extras Team <pkg-kde-ext...@lists.alioth.debian.org> kmplayer krusader quassel strigi Debian Libvirt Maintainers <pkg-libvirt-maintain...@lists.alioth.debian.org> libguestfs virt-manager Debian LXDE Maintainers <lxde-deb...@lists.lxde.org> lxsession Debian LXDE Maintainers <pkg-lxde-maintain...@lists.alioth.debian.org> lxde-common lxdm Debian Med Packaging Team <debian-med-packag...@lists.alioth.debian.org> fw4spl Debian Multimedia Maintainers <pkg-multimedia-maintain...@lists.alioth.debian.org> audacious libaudclient Debian Multimedia Team <pkg-multimedia-maintain...@lists.alioth.debian.org> sonic-pi Debian OCaml Maintainers <debian-ocaml-ma...@lists.debian.org> marionnet obus Debian Perl Group <pkg-perl-maintain...@lists.alioth.debian.org> libdpkg-log-perl libgnome2-gconf-perl libgtk2-notify-perl libgtk2-unique-perl Debian Pkg-e Team <pkg-e-de...@lists.alioth.debian.org> e17 efl Debian Policy List <debian-pol...@lists.debian.org> debian-policy Debian Printing Team <debian-print...@lists.debian.org> hplip Debian Privacy Tools Maintainers <pkg-privacy-maintain...@lists.alioth.debian.org> onioncircuits Debian Python Modules Team <python-modules-t...@lists.alioth.debian.org> pyqt5 python-dbusmock python-notify2 python-psutil (U) python-qt4 python-secretstorage (U) Debian QA Group <packa...@qa.debian.org> ekg2 ulatencyd Debian Qt/KDE Maintainers <debian-qt-...@lists.debian.org> calligra kde4libs qt4-x11 qtbase-opensource-src qtlocation-opensource-src qtruby qtwebkit-opensource-src Debian Ruby Extras Maintainers <pkg-ruby-extras-maintain...@lists.alioth.debian.org> ohai ruby-dbus Debian Salt Team <pkg-salt-t...@lists.alioth.debian.org> salt Debian SELinux maintainers <selinux-de...@lists.alioth.debian.org> policycoreutils sepolgen Debian Sugar Team <pkg-sugar-de...@lists.alioth.debian.org> sugar sugar-toolkit Debian Telepathy maintainers <pkg-telepathy-maintain...@lists.alioth.debian.org> empathy Debian VoIP Team <pkg-voip-maintain...@lists.alioth.debian.org> ring Debian WebKit Maintainers <pkg-webkit-maintain...@lists.alioth.debian.org> webkit2gtk webkitgtk Debian X Strike Force <debia...@lists.debian.org> weston xorg Debian Xfce Maintainers <pkg-xfce-de...@lists.alioth.debian.org> orage thunar xfce4-session xfce4-terminal xfconf xfdesktop4 Debian/Kubuntu Qt/KDE Maintainers <debian-qt-...@lists.debian.org> akonadi akonadi-calendar akonadi-search analitza artikulate baloo-kf5 bluez-qt breeze-gtk cantor dolphin frameworkintegration gpgmepp gwenview jovie juk kaccounts-integration kalarmcal kate kate4 kauth kblog kcalc kcalcore kcalutils kconfig kcontacts kcrash kdbusaddons kde-baseapps kde-cli-tools kde-gtk-config kde-runtime kde4libs kdebugsettings kdeclarative kdecoration kdelibs4support kdepim kdepim-addons kdepim-runtime kemoticons kf5-kdepim-apps-libs kf5-kdepimlibs kf5-messagelib kfilemetadata-kf5 kguiaddons kholidays khotkeys khtml kiconthemes kidentitymanagement kig killbots kimageformats kimap kinit kio kitemmodels kitemviews kldap kleopatra klettres kmailtransport kmbox kmime kmix knetwalk knewstuff knotifications konsole kontactinterface kopete kpeople kpimtextedit kplotting kscd kscreen kscreenlocker kservice ksystemlog ktexteditor ktnef kwayland kwidgetsaddons kwin kwindowsystem kxmlgui libaccounts-glib libaccounts-qt libkcddb libkdeedu libkdegames libkdegames-kde4 libkeduvocdocument libkf5calendarsupport libkf5eventviews libkf5grantleetheme libkf5gravatar libkf5incidenceeditor libkf5kdcraw libkf5kdgantt2 libkf5kexiv2 libkf5kgeomap libkf5ksieve libkf5libkdepim libkf5libkleo libkf5mailcommon libkf5mailimporter libkf5pimcommon libkomparediff2 libkscreen libksysguard marble modemmanager-qt networkmanager-qt okteta okular parley picmi plasma-framework plasma-integration plasma-mediacenter plasma-workspace rocs signond solid syndication umbrello Debian/Ubuntu Qt/KDE Maintainers <debian-qt-...@lists.debian.org> baloo Diane Trout <di...@debian.org> kde4libs (U) libaccounts-glib (U) libaccounts-qt (U) signond (U) Diane Trout <di...@ghic.org> kaccounts-integration (U) kemoticons (U) Didier Raboud <o...@debian.org> hplip (U) Didier Roche <didro...@ubuntu.com> bamf Dmitry Shachnev <mity...@debian.org> gnome-keyring (U) gnome-screensaver (U) pyqt5 (U) python-qt4 (U) python-secretstorage qtbase-opensource-src (U) qtlocation-opensource-src (U) qtwebkit-opensource-src (U) Dmitry Smirnov <only...@debian.org> gitg golang-github-coreos-go-systemd (U) phantomjs winswitch xpra Docker Packaging Team <docker-ma...@lists.alioth.debian.org> golang-dbus (U) Emilio Pozuelo Monfort <po...@debian.org> empathy (U) glib2.0 (U) gnome-screensaver (U) gnome-vfs (U) gtk+3.0 (U) libbonobo (U) libnotify (U) libsoup2.4 (U) libunique (U) libunique3 (U) liferea (U) pygobject-2 (U) vala (U) webkit2gtk (U) webkitgtk (U) weston (U) Eshat Cakar <i...@eshat.de> jovie (U) kcalc (U) kde-baseapps (U) kde-runtime (U) kdepim (U) kf5-kdepimlibs (U) kig (U) killbots (U) klettres (U) knetwalk (U) kopete (U) ksystemlog (U) libkdegames (U) libkdegames-kde4 (U) okular (U) parley (U) rocs (U) Fabio Fantoni <fantonifa...@tiscali.it> cinnamon-screensaver (U) cinnamon-session (U) cjs (U) nemo (U) Fathi Boudra <f...@debian.org> akonadi (U) kcalc (U) kde-baseapps (U) kde-runtime (U) kde4libs (U) kdepim (U) kdepim-runtime (U) kf5-kdepimlibs (U) killbots (U) kmplayer (U) knetwalk (U) kopete (U) krusader (U) ksystemlog (U) libkdegames (U) libkdegames-kde4 (U) okteta (U) strigi (U) umbrello (U) x11vnc Felix Geyer <fge...@debian.org> kscreen (U) quassel (U) Franklin G Mendoza <franklin.g.mend...@gmail.com> salt (U) George Kiagiadakis <gkiag...@csd.uoc.gr> killbots (U) knetwalk (U) libkdegames (U) libkdegames-kde4 (U) George Kiagiadakis <kiagiadakis.geo...@gmail.com> kcalc (U) kde-baseapps (U) kde-runtime (U) kde4libs (U) kdepim (U) kdepim-runtime (U) kf5-kdepimlibs (U) kopete (U) okteta (U) umbrello (U) Georges Khaznadar <georg...@debian.org> sonic-pi (U) Giuseppe Iuculano <iucul...@debian.org> chromium-browser (U) gregor herrmann <gre...@debian.org> libdpkg-log-perl (U) libgnome2-gconf-perl (U) libgtk2-notify-perl (U) libgtk2-unique-perl (U) Guido Günther <a...@sigxcpu.org> icedove (U) libguestfs (U) virt-manager (U) Guillaume Mazoyer <respawne...@gmail.com> java-gnome (U) Gustavo Noronha Silva <k...@debian.org> webkit2gtk (U) webkitgtk (U) Hanno Zulla <kont...@hanno.de> sonic-pi (U) Helge Kreutzmann <deb...@helgefjell.de> goobox Hilko Bengen <ben...@debian.org> libguestfs (U) Holger Levsen <hol...@debian.org> debian-edu (U) Héctor Orón Martínez <zu...@debian.org> weston (U) Iain Lane <la...@debian.org> gjs (U) glib-networking (U) glib2.0 (U) gvfs (U) libsoup2.4 (U) pango1.0 (U) Iain R. Learmonth <i...@debian.org> live-config (U) Ian Jackson <ijack...@chiark.greenend.org.uk> autopkgtest (U) IME Packaging Team <pkg-ime-de...@lists.alioth.debian.org> fcitx ibus intrigeri <intrig...@debian.org> apparmor (U) Jakob Haufe <su...@sur5r.net> minitube Jan Lübbe <jlue...@debian.org> e17 (U) Javi Merino <vi...@debian.org> sonata (U) Jeremy Bicha <jbi...@ubuntu.com> gtk+3.0 (U) Joe Healy <joehe...@gmail.com> salt (U) Johannes Schauer <jo...@debian.org> botch John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> atril (U) mate-power-manager (U) mate-screensaver (U) mate-session-manager (U) Jonas Smedegaard <d...@jones.dk> fact++ konclude pinot sugar (U) sugar-toolkit (U) Jonathan Nieder <jrnie...@gmail.com> debian-policy (U) Jonathan Yu <jaw...@cpan.org> libgtk2-unique-perl (U) Jonny Lamb <jo...@debian.org> empathy (U) Jordi Mallach <jo...@debian.org> evolution-data-server (U) gconf (U) Jose Carlos Garcia Sogo <js...@debian.org> deja-dup (U) Joshua Timberman <jos...@opscode.com> ohai (U) Josselin Mouette <j...@debian.org> evolution-data-server (U) gconf gnome-keyring gnome-photos (U) gnome-vfs libbonobo (U) libunique (U) libunique3 (U) pygobject pygobject-2 José L. Redrejo Rodríguez <jredr...@debian.org> debian-edu (U) Julian Andres Klode <j...@debian.org> hplip (U) software-properties Julien Danjou <a...@debian.org> awesome Jörg Frings-Fürst <deb...@jff-webhosting.net> remmina shotwell simple-scan Kees Cook <k...@debian.org> apparmor (U) Laurent Bigonville <bi...@debian.org> deja-dup (U) empathy (U) epiphany-browser (U) evince (U) evolution-data-server (U) gcr (U) gnome-photos (U) gnome-session (U) libnotify (U) totem (U) Laurent Léonard <laur...@open-minds.org> virt-manager (U) Lionel Le Folgoc <mrpo...@gmail.com> orage (U) thunar (U) xfce4-session (U) xfce4-terminal (U) xfconf (U) xfdesktop4 (U) Lisandro Damián Nicanor Pérez Meyer <lisan...@debian.org> kde4libs (U) kf5-kdepimlibs (U) killbots (U) knetwalk (U) ksystemlog (U) qt4-x11 (U) qtbase-opensource-src (U) qtlocation-opensource-src (U) qtwebkit-opensource-src (U) Live Systems Maintainers <debian-l...@lists.debian.org> live-config Loic Minier <l...@dooz.org> dbus (U) dbus-python (U) libbonobo (U) vala (U) xdeb (U) Louis Bettens <lo...@bettens.info> taffybar (U) Lucas Albuquerque Medeiros de Moura <lucas.moura...@gmail.com> apprecommender Lucas Nussbaum <lu...@debian.org> collab-qa-tools (U) marionnet (U) Luke Faraone <lfara...@debian.org> rainbow Luke Faraone <l...@faraone.cc> sugar (U) Luke Yelavich <luke.yelav...@canonical.com> qt-at-spi (U) LXQt Packaging Team <pkg-lxqt-de...@lists.alioth.debian.org> lxqt-common pcmanfm-qt Maintainers of Mozilla-related packages <pkg-mozilla-maintain...@lists.alioth.debian.org> firefox firefox-esr Maintainers of Vala packages <pkg-vala-maintain...@lists.alioth.debian.org> vala Manoj Srivastava <sriva...@debian.org> policycoreutils (U) sepolgen (U) Manu Mahajan <m...@codepencil.com> java-gnome (U) Marc-Andre Lureau <marcandre.lur...@gmail.com> vala (U) Margarita Manterola <ma...@debian.org> cinnamon-screensaver (U) cinnamon-session (U) cjs (U) nemo (U) Mark Purcell <m...@debian.org> hplip (U) kmplayer (U) krusader (U) strigi (U) Martin Pitt <mp...@debian.org> autopkgtest (U) libnotify (U) libunique (U) pygobject (U) pygobject-2 (U) python-dbusmock (U) udisks2 (U) Martin Wimpress <c...@flexion.org> atril (U) MATE Packaging Team <pkg-mate-t...@lists.alioth.debian.org> atril mate-power-manager mate-screensaver mate-session-manager plank (U) Matthias Klose <d...@ubuntu.com> openjdk-8 (U) Matthias Klumpp <m...@debian.org> flatpak (U) Maximiliano Curia <m...@debian.org> akonadi (U) akonadi-calendar (U) akonadi-search (U) analitza (U) artikulate (U) baloo (U) baloo-kf5 (U) bluez-qt (U) breeze-gtk (U) calligra (U) cantor (U) cinnamon-screensaver (U) cinnamon-session (U) cjs (U) dolphin (U) frameworkintegration (U) gpgmepp (U) gwenview (U) jovie (U) juk (U) kalarmcal (U) kate (U) kate4 (U) kauth (U) kblog (U) kcalc (U) kcalcore (U) kcalutils (U) kconfig (U) kcontacts (U) kcrash (U) kdbusaddons (U) kde-baseapps (U) kde-cli-tools (U) kde-gtk-config (U) kde-runtime (U) kde4libs (U) kdebugsettings (U) kdeclarative (U) kdecoration (U) kdelibs4support (U) kdepim (U) kdepim-addons (U) kdepim-runtime (U) kemoticons (U) kf5-kdepim-apps-libs (U) kf5-kdepimlibs (U) kf5-messagelib (U) kfilemetadata-kf5 (U) kguiaddons (U) kholidays (U) khotkeys (U) khtml (U) kiconthemes (U) kidentitymanagement (U) kig (U) killbots (U) kimageformats (U) kimap (U) kinit (U) kio (U) kitemmodels (U) kitemviews (U) kldap (U) kleopatra (U) klettres (U) kmailtransport (U) kmbox (U) kmime (U) kmix (U) knetwalk (U) knewstuff (U) knotifications (U) konsole (U) kontactinterface (U) kopete (U) kpeople (U) kpimtextedit (U) kplotting (U) krusader (U) kscd (U) kscreen (U) kscreenlocker (U) kservice (U) ksystemlog (U) ktexteditor (U) ktnef (U) kwayland (U) kwidgetsaddons (U) kwin (U) kwindowsystem (U) kxmlgui (U) libaccounts-glib (U) libaccounts-qt (U) libkcddb (U) libkdeedu (U) libkdegames (U) libkdegames-kde4 (U) libkeduvocdocument (U) libkf5calendarsupport (U) libkf5eventviews (U) libkf5grantleetheme (U) libkf5gravatar (U) libkf5incidenceeditor (U) libkf5kdcraw (U) libkf5kdgantt2 (U) libkf5kexiv2 (U) libkf5kgeomap (U) libkf5ksieve (U) libkf5libkdepim (U) libkf5libkleo (U) libkf5mailcommon (U) libkf5mailimporter (U) libkf5pimcommon (U) libkomparediff2 (U) libkscreen (U) libksysguard (U) marble (U) modemmanager-qt (U) nemo (U) networkmanager-qt (U) okteta (U) okular (U) parley (U) picmi (U) plasma-framework (U) plasma-integration (U) plasma-mediacenter (U) plasma-workspace (U) qtruby (U) rocs (U) signond (U) solid (U) strigi (U) syndication (U) umbrello (U) Micah Anderson <mi...@debian.org> msva-perl (U) Michael Biebl <bi...@debian.org> dbus (U) dbus-glib (U) deja-dup (U) epiphany-browser (U) evince (U) evolution-data-server (U) firewalld (U) gconf (U) gcr (U) gjs (U) glib-networking (U) glib2.0 (U) gnome-keyring (U) gnome-photos (U) gnome-power-manager (U) gnome-screensaver (U) gnome-session (U) gnome-terminal (U) gnome-vfs (U) gtk+3.0 (U) gvfs (U) libmediaart libnotify (U) libsoup2.4 (U) libunique (U) libunique3 (U) network-manager (U) network-manager-applet (U) pango1.0 (U) pygobject (U) totem (U) udisks2 (U) vala (U) Michael Casadevall <mcasadev...@debian.org> python-qt4 (U) Michael Gilbert <mgilb...@debian.org> chromium-browser (U) Michael Meskes <mes...@debian.org> kdepim (U) qtruby (U) Mike Gabriel <sunwea...@debian.org> atril (U) debian-edu (U) italc (U) mate-power-manager (U) mate-screensaver (U) mate-session-manager (U) plank (U) python-cream (U) weston (U) Mike Hommey <gland...@debian.org> firefox (U) firefox-esr (U) Mirco Bauer <mee...@debian.org> dbus-sharp (U) Modestas Vainius <mo...@debian.org> akonadi (U) jovie (U) kate (U) kate4 (U) kcalc (U) kde-baseapps (U) kde-runtime (U) kde4libs (U) kdepim (U) kdepim-runtime (U) kf5-kdepimlibs (U) killbots (U) knetwalk (U) konsole (U) kopete (U) ksystemlog (U) libkdegames (U) libkdegames-kde4 (U) okteta (U) umbrello (U) Nathan Scott <nath...@debian.org> pcp (U) Nicolas Bonnefon <nico...@bonnefon.org> glogg Nicolas Dandrimont <nicolas.dandrim...@crans.org> obus (U) Nicolas Dandrimont <ol...@debian.org> marionnet (U) Norbert Tretkowski <norb...@tretkowski.de> gajim (U) Oliver Sauder <o...@esite.ch> diodon Ondřej Kuzník <on...@mistotebe.net> quodlibet Onkar Shinde <onkarshi...@ubuntu.com> java-gnome (U) OpenJDK Team <open...@lists.launchpad.net> openjdk-8 Osamu Aoki <os...@debian.org> ibus (U) im-config Otavio Salvador <ota...@debian.org> tasksel (U) Patrick Schoenfeld <schoenf...@debian.org> libdpkg-log-perl (U) Patrick Winnertz <win...@debian.org> italc (U) Paul Gevers <elb...@debian.org> emacspeak (U) liferea (U) Paul van Tilburg <pau...@debian.org> ruby-dbus (U) PCP Development Team <p...@oss.sgi.com> pcp Petr Baudis <pa...@ucw.cz> mate-power-manager (U) Petter Reinholdtsen <p...@debian.org> debian-edu (U) sonic-pi (U) Pino Toscano <p...@debian.org> juk (U) kmix (U) kscd (U) libkcddb (U) libkf5kexiv2 (U) qt4-x11 (U) qtbase-opensource-src (U) rocs (U) Praveen Arimbrathodiyil <prav...@gmail.com> ohai (U) Python Applications Packaging Team <python-apps-t...@lists.alioth.debian.org> sonata Python Modules Packaging Team <python-modules-t...@lists.alioth.debian.org> python-cream (U) Raphaël Hertzog <hert...@debian.org> debian-cd (U) Raúl Sánchez Siles <rasas...@gmail.com> calligra (U) Reiner Herrmann <rei...@reiner-h.de> firejail Riccardo Setti <gisk...@debian.org> empathy (U) Richard Jones <rjo...@redhat.com> libguestfs (U) Rico Tzschichholz <ric...@ubuntu.com> plank Ritesh Raj Sarraf <r...@debian.org> systemtap Rodolfo García Peñas (kix) <k...@debian.org> wmauda Rohan Garg <ro...@kde.org> kscreen (U) Rohan Garg <rohang...@kubuntu.org> baloo (U) Russ Allbery <r...@debian.org> debian-policy (U) Russell Coker <russ...@coker.com.au> policycoreutils (U) sepolgen (U) Ryan Niebur <r...@debian.org> libgnome2-gconf-perl (U) libgtk2-notify-perl (U) libgtk2-unique-perl (U) Sam Hartman <hartm...@debian.org> moonshot-ui Samuel Thibault <sthiba...@debian.org> qt-at-spi (U) Sandro Tosi <mo...@debian.org> python-psutil Santiago Garcia Mantinan <ma...@debian.org> debian-cd (U) Santiago Ruano Rincón <santi...@debian.org> sugar (U) sugar-toolkit (U) Sascha Steinbiss <sa...@debian.org> onioncircuits (U) Scott Kitterman <sc...@kitterman.com> pyqt5 (U) python-qt4 (U) quassel (U) Sebastian Dröge <sl...@debian.org> dbus (U) dbus-glib (U) dbus-python (U) libbonobo (U) libunique (U) libunique3 (U) vala (U) Sebastian Reichel <s...@debian.org> vala (U) Sebastien Delafond <s...@debian.org> aptly Sergey "Shnatsel" Davidoff <ser...@elementaryos.org> plank (U) Sergio Durigan Junior <sergi...@sergiodj.net> midori Shih-Yuan Lee (FourDollars) <fourdoll...@gmail.com> pcmanfm-qt (U) Siegfried-Angel Gevatter Pujals <rai...@ubuntu.com> zeitgeist Simon McVittie <s...@debian.org> dbus (U) dbus-glib (U) dbus-python (U) flatpak (U) Sjoerd Simons <sjo...@debian.org> dbus (U) dbus-glib (U) dbus-python (U) empathy (U) evolution-data-server (U) gcr (U) gnome-power-manager (U) gnome-screensaver (U) gnome-terminal (U) network-manager (U) pygobject (U) pygobject-2 (U) vala (U) Stanislav Maslovski <stanislav.maslov...@gmail.com> kbdd Stefano Karapetsas <stef...@karapetsas.com> atril (U) mate-power-manager (U) mate-screensaver (U) mate-session-manager (U) Stein Magnus Jodal <jo...@debian.org> mopidy-dleyna Steve Langasek <vor...@debian.org> xdeb (U) Steve McIntyre <93...@debian.org> debian-cd (U) Stéphane Glondu <glo...@debian.org> obus (U) Sune Vuorela <deb...@pusling.com> akonadi (U) kdepim-runtime (U) qt4-x11 (U) Sune Vuorela <s...@debian.org> analitza (U) cantor (U) gwenview (U) jovie (U) juk (U) kate (U) kate4 (U) kcalc (U) kde-baseapps (U) kde-runtime (U) kde4libs (U) kdepim (U) kf5-kdepimlibs (U) kig (U) killbots (U) klettres (U) knetwalk (U) konsole (U) kopete (U) ksystemlog (U) libkcddb (U) libkdegames (U) libkdegames-kde4 (U) libkf5kdcraw (U) libkf5kexiv2 (U) marble (U) okteta (U) qt4-perl qtbase-opensource-src (U) qtruby (U) umbrello (U) Tanguy Ortolo <tanguy+deb...@ortolo.eu> gajim TANIGUCHI Takaki <tak...@debian.org> phantomjs (U) The Ayatana Packagers <pkg-ayatana-de...@lists.alioth.debian.org> notify-osd Thomas Kluyver <tho...@kluyver.me.uk> python-notify2 (U) Thomas Mueller <thomas.muel...@tmit.eu> quassel quassel (U) Thomas Perl <m...@thp.io> gpodder Thomas Preud'homme <robo...@celest.fr> gcp Tianon Gravi <admwig...@gmail.com> golang-dbus Tianon Gravi <tia...@debian.org> golang-github-coreos-go-systemd (U) Till Kamppeter <till.kamppe...@gmail.com> hplip (U) Timo Aaltonen <tjaal...@debian.org> certmonger (U) oddjob (U) Timo Juhani Lindfors <timo.lindf...@iki.fi> systemtap (U) Timo Jyrinki <t...@debian.org> qt4-x11 (U) qtbase-opensource-src (U) qtlocation-opensource-src (U) qtwebkit-opensource-src (U) Tino Mettler <tino+deb...@tikei.de> syncevolution tony mancill <tmanc...@debian.org> gpodder (U) Torsten Marek <shlo...@debian.org> python-qt4 (U) qtruby (U) Tristan Seligmann <mithra...@debian.org> quodlibet (U) Utopia Maintenance Team <pkg-utopia-maintain...@lists.alioth.debian.org> dbus dbus-glib dbus-python firewalld flatpak network-manager network-manager-applet udisks2 Vangelis Mouhtsis <vange...@gnugr.org> atril (U) mate-power-manager (U) mate-screensaver (U) mate-session-manager (U) Vincent Bernat <ber...@debian.org> snmpsim systemtap (U) Wolfgang Schweer <wschw...@arcor.de> debian-edu (U) Wolodja Wentland <deb...@babilen5.org> salt (U) Wookey <woo...@debian.org> xbuilder xdeb Yuan CHAO <yuanc...@gmail.com> pcmanfm-qt (U) YunQiang Su <wzss...@gmail.com> fcitx (U) Yves-Alexis Perez <cor...@debian.org> orage (U) thunar (U) xfce4-session (U) xfce4-terminal (U) xfconf (U) xfdesktop4 (U) أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmo...@sabily.org> xpra (U)