Thanks to @unman and @marmarek for suggesting the fix!
Fixes https://github.com/QubesOS/qubes-issues/issues/1128.
- Changed 'ifeq (1,${DEBIANBUILD})' to 'ifeq ($(shell lsb_release -is), Debian)' to make the build work outside of Qubes Builder as well.
* commit '9644d86845d11f67751a099c56320ad269218354':
sudoers.d: Stops QT from using the MIT-SHM X11 Shared Memory Extension
debian: Move python-xdg to depends section in debian/control
Gio.DesktopAppInfo.get_boolean was introduced in glib 2.36. Instead of
crashing simply do not support DBusActivatable there. There is no such
application in default Debian wheezy template anyway.
Usage of _static_ files (dropins) to override some of autostart entries
(enable/disable them in appropriate VM types) is much simpler and less
error prone than automatic generators.
Handling code is implemented in qubes-session-autostart, which is called
from qubes-session.
qubesos/qubes-issues#1151
Fedora now needs this sudoer rule. Allows sudo to keep the `QT_X11_NO_MITSHM` ENV
variable which prevents MIT-SHM errors for Fedora and Debian when running a QT
application:
`Defaults env_keep += "QT_X11_NO_MITSHM"`
A complementary commit has been made in gui-agent-linux:
Commit: a02e54b71a9ee17f4b10558065a8fc9deaf69984)
Author: Jason Mehring <nrgaway@gmail.com>
Date: Sat Aug 15 20:13:48 2015 -0400
It isn't used anywhere - we only call `ntpdate` as part of
qubes.SyncNtpTime.
If user want to install it, he/she is free to do that.
(reported by @adrelanos)
Fixesqubesos/qubes-issues#1102
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJVxLEBAAoJEBu5sftaTG2tTTkP/2TLJ68Qx6FnLS9AIcRS7gWJ
9Bj8oXU2vc1YPrFPHpgV3nLkt1TQ0AO/Z6i5SlXj7ExJllDVi1fq++iph6gITfNH
K5MA+8/XhoXfyLuFXqfzJo5QN18Kg39T9LPUWT149b39l1/4kI+1utDD8TSzEmuD
tAD3eLEgFl4BDKoOkOX5lF7zhJU8E/U0xuhnA8DQmy40jmKd6wwkDgXMqp8cC5Me
UioNv/JbxXuYsmv4RG4FUQfY700ZcK7Z8vtmrAOOT/ILsoGAo26LYTATBr9WRyqD
HsmVi2RAUhWZECfRFdWXnF2q16J0lCjbF9ORZAruvgwNrk9dR3RIqR6blZc1Ptdn
DLjD3ZjCSZR1M78++kSIJiS+MbuMN17ZV952VhBZMQj90okdcpJJpTHP+sII+Qpt
X353s6pEBSfydXlawZiMhQ75h96zZVKxTsnnZLZ1ZrbeHgreLK8S1QJcdx0Y4wZt
ATGMV+M5aQZWM/kj/u8q0JIeN55iFG4x8y5y/4XZrbugpIV+eK/Z1qFyZRgYt899
oubxzOg9mGG5lnGhNhV9DH05dQe4khqs9A1kk3AuFY/kxQ5ZxNzlye50P7w5qD4r
K4xOMTnl0Csg5GYExucbL6bjdFSdmH056pl76z/FVpdsNpGQzq7+lWpTcxml+ZB/
3IioarpI+yR52MBiMLHA
=Yg7C
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJVxUV1AAoJEAY5OLpCz6ck5iEQALXiOprb35A6kr6DsNRyvF3z
kL/nguhzA1QXJIeMtG303JTsF/5CBut6Lpe6qo+Ghh/j7GZY2U3yXq6DJ/dGTTlq
LlV1/q9c6z7kAg5aUzGWlyPAU2mnlUSD89xf1Wkti56jrb5mAz4OG0mDuJEMBDny
IId/eYMio0L7mulY8sIN5y06lBqDiwzY9dPw7wj/DS+89IwpkmUkdtfB+1GC7ZFt
labo/vf06dskLXHl8s3eXCJlfV9zqAB8/C3r071LmymV8lVuFvC3ig51j1G5AyEZ
+ZWRTgqB4JDefGY1XYAYmEO+96J6tTWHxT21C70314Df74/mYmSw40a/2jcrZT29
e2B+bF6rU7CFGnNQM3YK8q5+cPjpbT1gJrYt+67GGI/IqLHWMOcMkpK9YJauGSU7
3YgTXf7meDrxkyoYSpUZfdx2wtkwHfAcWFgqhX43ntsXLcYOrKlDQyPkxDvNEz2Y
K66TA83LD1r7cTWHlKi3jLeYvWmHEf0iNVlIFGCxB6C4c0qZeXiHsO3W4Bkbg97p
ovfa86S6vLcqGbLRThZnzqcDxROU518mDDJVGMbJPLWg6aceEGP9PMVc5RzaNcwj
gTT9FT1JXIbfg+W2nrZFq3VhKmdOQvz+0AruFC9WwHIYFGyCxfbx55C++BOM8xj0
LI3o4KAI/JZMao9hIpuK
=Vd5+
-----END PGP SIGNATURE-----
Merge tag 'jm_edc9dd40'
Tag for commit edc9dd404d
# gpg: Signature made Fri 07 Aug 2015 03:22:09 PM CEST using RSA key ID 5A4C6DAD
# gpg: Good signature from "Jason Mehring (Qubes OS Signing Key) <nrgaway@gmail.com>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: E0E3 2283 FDCA C1A5 1007 8F27 1BB9 B1FB 5A4C 6DAD
* tag 'jm_edc9dd40':
fedora: Use 'slider' org.mate.NotificationDaemon theme
debian: Switch to using org.mate.NotificationDaemon by default to eliminate popups not closing
This will ensure that the child process will receive info that the
connection is closed. Otherwise it could hang on write() or in some
cases read() - on its stdin/stdout.
Thanks @adrelanos for help with debugging.
It should be remote process exit code, not the local one.
Also do not 'return' from the middle of the look, just use 'break' to
execute common cleanup code (which will be introduced in next commit).
qubes-desktop-file-install is called by qubes-triggers-desktop-file-install. It's
arguments are based on the Gnome desktop-install-file utility to allow it to be replaced
by same. Currently the Gnome utility can not be used since it automatically validates
the .desktop entry files with no option to skip validation and will fail on some third
party .desktop files that are not formed properly.
A single trigger script is shared between Fedora, Debian. This script is used by the
package managers triggers and will copy original .desktop files from `/etc/xdg/autostart`
to `/usr/share/qubes/xdg/autostart` and modify the OnlyShownIn / NotShownIn, etc. The
original .desktop files are left untouched and left in place.
Qubes modifies the XDG_CONFIG_DIRS to first include the `/usr/share/qubes/xdg`
directory (XDG_CONFIG_DIRS=/usr/share/qubes/xdg:/etc/xdg).
If a package gets removed, it's desktop entry is also removed from the /usr/share/qubes/xdg
directory.
'qubes-desktop-file-install' options:
--dir DIR Install desktop files to the DIR directory (default: <FILE>)
--force Force overwrite of existing desktop files (default: False)
--remove-show-in Remove the "OnlyShowIn" and "NotShowIn" entries from the desktop file (default: False)
--remove-key KEY Remove the KEY key from the desktop files, if present
--set-key (KEY VALUE) Set the KEY key to VALUE
--remove-only-show-in ENVIRONMENT Remove ENVIRONMENT from the list of desktop environment where the desktop files should be displayed
--add-only-show-in ENVIRONMENT Add ENVIRONMENT to the list of desktop environment where the desktop files should be displayed
--remove-not-show-in ENVIRONMENT Remove ENVIRONMENT from the list of desktop environment where the desktop files should not be displayed
--add-not-show-in ENVIRONMENT Add ENVIRONMENT to the list of desktop environment where the desktop files should not be displayed