Commit Graph

159 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
d4c238c45e
Unload USB controllers drivers in USB VM before going to sleep
Many USB controllers doesn't play nice with suspend when attached to PV
domain, so unload those drivers by default. This is just a configuration
file, so user is free to change this setting if his/shes particular
controller doesn't have such problem.

Fixes QubesOS/qubes-issues#1565
2016-01-11 19:34:10 +01:00
Marek Marczykowski-Górecki
c4ff490844 dom0-updates: add a message explaining yum deprecated warning
Thanks @axon-qubes for the idea.

Fixes QubesOS/qubes-issues#1574
2016-01-04 02:13:21 +01:00
Marek Marczykowski-Górecki
c46c1e4d2c
dom0-updates: fix reporting when no updates are available
Check `yum check-update` exit code, instead of `grep` - when there are
multiple commands on the single line, $? contains exit code of the last
executed.

Fixes QubesOS/qubes-issues#1475
2015-12-26 04:43:23 +01:00
Marek Marczykowski-Górecki
2478cb5c05
Package DNF plugin for both python2 and python3
DNF in Fedora 22 uses python2, but in Fedora 23 - python3. Package both
of them, in separate packages (according to Fedora packaging guidelines)
and depend on the right one depending on target distribution version.

Fixes QubesOS/qubes-issues#1529
2015-12-23 02:04:26 +01:00
Marek Marczykowski-Górecki
8f0a024f6d
dnf: drop shebang, it isn't standalone script
QubesOS/qubes-issues#1529
2015-12-21 13:12:51 +01:00
Marek Marczykowski-Górecki
405c42658f
debian: add security-testing repository
Fixes QubesOS/qubes-issues#1522
2015-12-19 18:08:57 +01:00
Rusty Bird
3238eab85f repo description: updates-testing -> security-testing 2015-12-17 15:54:42 +00:00
Patrick Schleizer
7dc99ee662
Prevent services from being accidentally restarted by needrestart.
Because those services do not yet support being restarted.

Extended variable `$nrconf{override_rc}`, i.e. packages only reported to need
restart, but blacklisted from default/suggested automatic restarted with
`qubes-core-agent` and `qubes-gui-agent`.

See also `$nrconf{override_rc}`:
10bd2db5e2/ex/needrestart.conf (L65)

Thanks to @liske for helping with this.
https://github.com/liske/needrestart/issues/13#issuecomment-136804625
2015-11-20 16:35:06 +01:00
qubesuser
f380c346cf Allow to provide customized DispVM home directly in the template VM
This significantly speeds up DispVM creation for large customized
homes, since no data has to be copied, and instead CoW is used.
2015-11-12 15:33:01 +01:00
Marek Marczykowski-Górecki
914bab048a
Explicitly fail upgrades-installed-check on other distributions
QubesOS/qubes-issues#1066
2015-11-12 00:36:43 +01:00
Patrick Schleizer
52917593c5
misc/upgrades-installed-check: handle apt-get errors 2015-11-11 21:13:17 +00:00
Patrick Schleizer
d5acf83916
fixed inverted logic issue in upgrades-installed-check
928013f819 (commitcomment-13968627)
2015-11-11 16:10:23 +00:00
Patrick Schleizer
aeb6d188cc
Improved upgrade notifications sent to QVMM.
Each time some arbitrary package was installed using dpkg or apt-get, the update notification in Qubes VM Manager was cleared.
No matter if there were still updates pending. (Could happen even after the user running `apt-get dist-upgrade` in case of package manager issues.)
No longer clear upgrade notification in QVMM on arbitrary package installation.
Check if upgrades have been actually installed before clearing the notifications.

https://github.com/QubesOS/qubes-issues/issues/1066#issuecomment-150044906
2015-11-11 15:45:00 +00:00
Marek Marczykowski-Górecki
49c7473848
dom0-updates: do not use 'yum check-update -q'
Depending on yum version, adding '-q' option may hide not only
informational messages, but also updates list. This is especially the
case for yum-deprecated in Fedora 22.
So instead of '-q' option, filter the output manually.

QubesOS/qubes-issues#1282
2015-11-11 05:22:26 +01:00
Marek Marczykowski-Górecki
b6cfcdcc6f
Implement dnf hooks for post-update actions
Similar to previous yum hooks:
 - notify dom0 about installed updates (possibly clear "updates pending"
   marker)
 - trigger appmenus synchronization

QubesOS/qubes-issues#1282
2015-11-11 02:36:57 +01:00
Marek Marczykowski-Górecki
85793fa31f
dom0-updates: use yum-deprecated instead of dnf in all calls
Fix for d44c8ac "dom0-updates: prefer yum-deprecated over dnf"
Because of slightly different options and config syntax, it needs to be
used in call calls, not only the one with --downloaddir option.

QubesOS/qubes-issues#1282
2015-11-11 02:36:55 +01:00
Marek Marczykowski-Górecki
074309e6a3
dracut: disable hostonly mode
Initramfs created in TemplateVM may be used also in AppVMs based on it, so
technically it is different system. Especially it has different devices
mounted (own /rw, own swap etc), so prevent hardcoding UUIDs here.

QubesOS/qubes-issues#1354
2015-11-10 16:36:00 +01:00
Marek Marczykowski-Górecki
5102e4f7aa
fedora: Add skip_if_unavailable=False to Qubes repositories
DNF defaults to skip_if_unavailable=True, so make sure that Qubes
repositories are treated as vital one. Otherwise it would allow an
attacker to cut the user from updates without visible error (when using
PackageKit for example).

Do not set it for unstable repository, as it isn't critical one.

Fixes QubesOS/qubes-issues#1387
2015-11-07 00:57:38 +01:00
Marek Marczykowski-Górecki
d44c8acdeb
dom0-updates: prefer yum-deprecated over dnf
Some of the reasons:
 - dnf doesn't support --downloaddir option
 - dnf doesn't support `copy_local` repo option (used in automated tests
   only)
 - dnf is horribly slow, especially without cache fetched
 (https://bugzilla.redhat.com/show_bug.cgi?id=1227014)

This is all needed (instead of simply using `yum` command), because
Fedora >= 22 have an command redirection `yum`->`dnf`.

QubesOS/qubes-issues#1282
2015-11-04 00:49:06 +01:00
Marek Marczykowski-Górecki
28a65ac568
Merge remote-tracking branch 'qubesos/pr/4'
* qubesos/pr/4:
  Update qubes.sudoers
  Small language fixes
2015-10-24 21:06:29 +02:00
erihe251
de293f12d5 Update qubes.sudoers 2015-10-19 22:34:34 +02:00
erihe251
0f410ed2de Small language fixes 2015-10-19 21:52:41 +02:00
Patrick Schleizer
ba8337658e
disable leaking TCP timestamps by default
https://github.com/QubesOS/qubes-issues/issues/1344
2015-10-19 14:03:57 +00:00
Patrick Schleizer
2eb0ed2be1
removed trailing spaces 2015-10-15 04:34:55 +02:00
Marek Marczykowski-Górecki
801c5c62f1
dom0-updates: fix hostname in error message 2015-10-11 01:47:03 +02:00
Marek Marczykowski-Górecki
520178d5dc
dom0-updates: check "yum check-update" exit code, not only its output
QubesOS/qubes-issues#1168
2015-10-10 22:02:16 +02:00
Marek Marczykowski-Górecki
397f6fdc52
dom0-updates: Fix showing package list when --check-only option was used
Fixes QubesOS/qubes-issues#1294
2015-10-10 22:02:12 +02:00
Marek Marczykowski-Górecki
2a39adfe0f
Enlarge /tmp and /dev/shm
Initial size of those tmpfs-mounted directories is calculated as 50% of
RAM at VM startup time. Which happen to be quite small number, like
150M. Having such small /tmp and/or /dev/shm apparently isn't enough for
some applications like Google chrome. So set the size statically at 1GB,
which would be the case for baremetal system with 2GB of RAM.

Fixes QubesOS/qubes-issues#1003
2015-10-04 23:07:10 +02:00
Marek Marczykowski-Górecki
4950e3e791
Update repository definition for r3.1
'master' branch points at next major release.
2015-09-29 16:54:59 +02:00
Marek Marczykowski-Górecki
ca35c7ec70
Merge remote-tracking branch 'origin/pr/31'
* origin/pr/31:
  Fixed /etc/pam.d/su.qubes. (Moved line 'auth sufficient pam_permit.so' up. May not be low '@include' lines.)
  - Prevent 'su -' from asking for password in Debian [based] templates. 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.

Conflicts:
	debian/control
2015-09-28 12:58:08 +02:00
Patrick Schleizer
e18a32d508
Fixed /etc/pam.d/su.qubes. (Moved line 'auth sufficient pam_permit.so' up. May not be low '@include' lines.) 2015-09-13 18:36:18 +00:00
Patrick Schleizer
665453da76
- Prevent 'su -' from asking for password in Debian [based] templates.
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.
2015-09-13 17:19:25 +00:00
Patrick Schleizer
fc013bd480 show error msg if qubes.ReceiveUpdates failed 2015-09-03 14:56:29 +00:00
Marek Marczykowski-Górecki
c8ac55b179 Merge branch 'autostart-dropins'
Conflicts:
	misc/qubes-trigger-desktop-file-install

Fixes qubesos/qubes-issues#1151
2015-09-02 01:16:19 +02:00
Marek Marczykowski-Górecki
3da7d2c315 Merge remote-tracking branch 'qubesos/pr/3'
* qubesos/pr/3:
  Mount /dev/xvdb with fs type "auto"
2015-09-02 01:14:10 +02:00
Marek Marczykowski-Górecki
d9a8ab6f84 Merge remote-tracking branch 'origin/pr/20'
* origin/pr/20:
  added pulseaudio-kde and spice-vdagent to qubes-trigger-desktop-file-install
2015-09-02 00:31:26 +02:00
Marek Marczykowski-Górecki
0b7ade11b8
qubes-desktop-run: don't crash on Debian wheezy (glib < 2.36)
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.
2015-08-28 02:02:19 +02:00
Marek Marczykowski-Górecki
67357e051f
qubes-session-autostart: do not abort the whole process on invalid file 2015-08-27 22:41:51 +02:00
Marek Marczykowski-Górecki
4703e3fca7
Remove dynamically generated autostart desktop files
qubesos/qubes-issues#1151
2015-08-27 22:08:04 +02:00
Marek Marczykowski-Górecki
3d06ce1ee9
Implement dropins for /etc/xdg/autostart (#1151)
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
2015-08-27 22:08:00 +02:00
Marek Marczykowski-Górecki
d710970e4d
Move .desktop launching code to python moules so it can be reused 2015-08-27 22:07:59 +02:00
Marek Marczykowski-Górecki
93e090469c
qubes-desktop-run: start the Dbus service (if needed)
Much tidier way to solve the issue, provided by @Unman.

qubesos/qubes-issues#1031
2015-08-26 02:08:33 +02:00
Marek Marczykowski-Górecki
0c2306dd0a
Revert "qubes-desktop-run: Activate via DBUS when desktop file contains DBusActivatable"
This reverts commit a5ee90b420.
Lets start the Dbus service the proper way.
2015-08-26 02:00:51 +02:00
Rusty Bird
78dd47ebfb Mount /dev/xvdb with fs type "auto"
Nice for btrfs. (auto is already used on /dev/xvdi.)
2015-08-16 16:51:04 +00:00
Patrick Schleizer
4ccf97cde9 added pulseaudio-kde and spice-vdagent to qubes-trigger-desktop-file-install
so those can be removed from https://github.com/adrelanos/qubes-whonix/blob/master/debian/qubes-whonix.postinst
2015-08-12 04:21:22 +02:00
Marek Marczykowski-Górecki
13c54badcb
Move /usr/share/qubes/xdg to /var/lib/qubes/xdg
No files in /usr should be modified during package runtime, `/var` is
for that. So move this data there.
2015-08-08 02:01:15 +02:00
Jason Mehring
a5ee90b420 qubes-desktop-run: Activate via DBUS when desktop file contains DBusActivatable 2015-08-07 11:58:13 -04:00
Jason Mehring
edc9dd404d fedora: Use 'slider' org.mate.NotificationDaemon theme 2015-08-07 09:20:44 -04:00
Jason Mehring
c4718c1675 debian: Switch to using org.mate.NotificationDaemon by default to eliminate popups not closing
- uses 'slider' theme
2015-08-07 09:20:18 -04:00
Jason Mehring
b6c19fc2ef qubes-desktop-file-install: Manages xdg desktop entry files
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
2015-08-07 09:15:30 -04:00