Commit Graph

496 Commits

Author SHA1 Message Date
Wojtek Porczyk
8afba4c5e9 core3 move: storage/* 2015-06-29 17:39:26 +02:00
Wojtek Porczyk
5f92afc013 rpm: install RelaxNG specfiles 2015-06-29 17:39:26 +02:00
Wojtek Porczyk
7e12d0485d add core3 to Makefiles and spec 2015-06-29 17:39:26 +02:00
Wojtek Porczyk
2c1cacc0ac doc: swallow manpages into sphinx 2015-06-29 17:39:23 +02:00
Marek Marczykowski-Górecki
9cbf9a8a59 Add support for 'pci_strictreset' option
This allows to assign PCI device to the VM, even if it doesn't support
proper reset. The default behaviour (when the value is True) is to not
allow such attachment (VM will not start if such device is assigned).

Require libvirt patch for this option.
2015-05-28 00:11:17 +02:00
Marek Marczykowski-Górecki
d02aa70e93 dispvm: speedup sparse files handling by using bsdtar
Apparently it is much faster. Especially during savefile preparation -
tar reads the whole file, while bsdtar gets file map and reads only used
regions.
2015-03-30 05:29:14 +02:00
Marek Marczykowski-Górecki
c74fda802c Use tmpfile.d to create /var/run subdirs
This way it will be done much earlier, so qubes-db can be started before
qubes-core.service - which will solve startup dependency loop problem.
2015-02-02 04:48:42 +01:00
Marek Marczykowski-Górecki
ce716f9c5a rpm: add R: PyQt4 for guihelpers module
It was pulled by qubes-manager, but since it is optional, we shouldn't
rely on its dependencies.
2014-11-21 20:09:57 +01:00
Marek Marczykowski-Górecki
37696b7d43 rpm: move xenconsoled configuration to xen package 2014-11-19 12:50:32 +01:00
Marek Marczykowski-Górecki
5b0b62ee5b rpm: fix path 2014-11-19 12:50:28 +01:00
Marek Marczykowski-Górecki
ec17f7d329 core/xen: setup xen-specific defaults in separate settings file 2014-11-19 12:50:26 +01:00
Marek Marczykowski-Górecki
0a1f3d0a44 core: split VM images handling to separate class
This will ease handling different types of VMM (which can require
different image types, location etc).
2014-11-19 12:50:25 +01:00
Marek Marczykowski-Górecki
72e415a807 move qubes-notify-* to libexec 2014-11-19 12:50:25 +01:00
Marek Marczykowski-Górecki
ed13972e4e Remove xenstore-watch-qubes
Since we have Qubes DB, it needed anymore.
2014-11-19 12:50:24 +01:00
Marek Marczykowski-Górecki
0009805041 rpm+makefile: move build/install code to Makefile files
This makes build "scripts" not tied to Fedora-specific files. Especially
ease porting to other platforms.
2014-11-19 12:50:24 +01:00
Marek Marczykowski
f159f3e168 Use QubesDB instead of Xenstore.
Mostly done. Things still using xenstore/not working at all:
 - DispVM
 - qubesutils.py (especially qvm-block and qvm-usb code)
 - external IP change notification for ProxyVM (should be done via RPC
   service)
2014-11-19 12:48:28 +01:00
Marek Marczykowski
31424603fa rpm: move R: xen-runtime inside vmm-xen deps block
Do not depend on xen package unconditionally.
2014-11-19 12:48:28 +01:00
Marek Marczykowski
c95dc298a1 rpm: set sgid for data directories
Make sure that contents belong to qubes group, even when created by root
user.
2014-11-19 12:48:27 +01:00
Marek Marczykowski
5db1957086 rpm: improve deps on libvirt
Use metapackage to install all required libvirt modules.
2014-11-19 12:48:27 +01:00
Marek Marczykowski
9f90106db4 rpm: Add libvirt to dependencies 2014-11-19 12:48:26 +01:00
Marek Marczykowski
0f6b878664 rpm: update build dependencies 2014-11-19 12:48:26 +01:00
Marek Marczykowski
201cd509e1 QubesDom0NetVm: provide get_mem*
As libvirt doesn't keep dom0 domain object, so add special cases to get
memory information.
2014-11-19 12:48:26 +01:00
Marek Marczykowski
107ebad9d5 Migration to libvirt - DispVM
Move DispVM creation to qfile-daemon-dvm/QubesDisposableVm from
qubes-restore. As actual restore is handled by libvirt, we don't get
much from separate qubes-restore process.
This code still needs some improvements, especially on performance.
2014-11-19 12:48:26 +01:00
Marek Marczykowski
f44dc40858 Migration to libvirt - HVM 2014-11-19 12:47:00 +01:00
Marek Marczykowski
a880483092 Migration to libvirt - core part
Still not all code migrated, added appropriate TODO/FIXME comments.
2014-11-19 12:47:00 +01:00
Marek Marczykowski
b242680cc1 spec: fix typi in %post 2014-11-19 12:46:59 +01:00
Marek Marczykowski-Górecki
9e62b77ecd rpm: require qubes-core-dom0-linux >= 2.0.24 for qrexec '-q' option 2014-10-25 01:46:26 +02:00
Marek Marczykowski-Górecki
603384b4c6 tests: add initial backup test 2014-09-18 08:25:56 +02:00
Marek Marczykowski-Górecki
1ed9c74d83 Rearrange code to not import PyQt on every qvm-* call
Move notification functions to separate file (out of guihelpers).
2014-06-05 01:59:42 +02:00
Wojciech Zygmunt Porczyk
30e557960a qubes-rpc-policy/qubes.GetImageRGBA.policy
needed for qubes-app-linux-img-converter
2014-05-20 17:49:20 +02:00
Wojciech Zygmunt Porczyk
2d907a5443 move site-packages/qubes/__init__.py to linux-utils
__init__.py should still remain in repo to make it possible to do import
directly from repository
2014-05-20 12:55:35 +02:00
Marek Marczykowski-Górecki
6efec32c3b rpm: drop dependency on kernel-qubes-dom0
Since dom0 support is in mainline kernel we no longer strictly require
our patched kernel. So drop the dependency. Note that installer will
still install the right kernel.
2014-05-11 15:42:04 +02:00
Marek Marczykowski-Górecki
8694e4ffbb rpm: specify qubes-core-dom0-linux version
qrexec-client cmdline options have changed.
2014-04-16 16:44:42 +02:00
Marek Marczykowski-Górecki
cd54af231b version 2.1.45 2014-04-15 04:14:46 +02:00
Marek Marczykowski-Górecki
7af90433b1 version 2.1.44-2 2014-04-08 22:08:24 +02:00
Marek Marczykowski-Górecki
e1df9f252c spec: initialize default kernel when creating qubes.xml database
This is especially important when kernel-qubes-vm's %post was executed
before qubes-core-dom0's %post - in that case, the default kernel would
be left as "None".
2014-04-08 05:06:12 +02:00
Marek Marczykowski-Górecki
e90e1c62ec proxyvm: add support for rules with expire time (#760) 2014-03-28 02:54:59 +01:00
Marek Marczykowski-Górecki
bba989e0a6 Move meminfo-writer to linux-utils repo
It is common for both dom0 and VM, and also quite linux-specific
(other OSes will need other implementation). So move to linux-specific
repo (not dom0-specific).
2014-01-05 05:36:50 +01:00
Marek Marczykowski-Górecki
27f6f0e64e Merge branch 'new-backups'
Conflicts:
	core-modules/000QubesVm.py
2013-11-29 04:00:58 +01:00
Marek Marczykowski-Górecki
c781a522d8 backups: move backup code to separate file
Also some major cleanups: Reduce some more code duplication
(verify_hmac, simplify backup_restore_prepare). Rename
backup_dir/backup_tmpdir variables to better match its purpose. Rename
backup_do_copy back to backup_do.  Require QubesVm object (instead of VM
name) as appvm param.
2013-11-25 05:41:13 +01:00
Marek Marczykowski-Górecki
6fddae3b9b Support for autostart VMs (#724) 2013-11-20 02:57:17 +01:00
Marek Marczykowski-Górecki
e2c43d2292 Allow HVM to notify dom0 about tools installation
HVM can set some xenstore entries (in qubes-tools/ subtree) to pass
informations about installed tools to dom0. qubes.NotifyTools service
triggers update of VM properties (like qrexec_installed).
This way, after installation of Qubes Windows Tools, the user doesn't need
to change any VM settings to use the tools.
2013-10-28 05:09:54 +01:00
Marek Marczykowski
0419aee8ab spec: provides qubes-doc-dom0 2013-03-25 16:28:55 +01:00
Marek Marczykowski
ef82b53b64 spec: typo fix 2013-03-25 16:28:55 +01:00
Marek Marczykowski
0ec6da8050 spec: update Requires 2013-03-20 16:37:34 +01:00
Marek Marczykowski
a84886db07 Move all files one level up 2013-03-16 19:56:51 +01:00
Marek Marczykowski
9db68897c7 Remove other Linux-specific stuff
Move remaining files to linux/ subdirectory.
2013-03-16 19:54:22 +01:00
Marek Marczykowski
fa8d659189 Move dom0-update code to separate repository
This is highly Linux-specific code. Perhaps other systems will have
equivalent, but for now move it to Linux-only repository.
2013-03-16 19:14:26 +01:00
Marek Marczykowski
a633d331f3 Move icons to separate repository
Because of license reasons (icons are based on GPL resources so can't be
dual licensed).
2013-03-16 18:06:33 +01:00
Marek Marczykowski
8edadb40aa Move appmenus handling code to separate repository
This code is highly Linux-specific so move it out of the core
repository.
2013-03-16 18:03:10 +01:00
Marek Marczykowski
ecd8837113 Split core qubes.py into modules 2013-03-16 16:14:01 +01:00
Marek Marczykowski
41675aa30a spec: remove obsolete network setup 2013-03-15 23:54:49 +01:00
Marek Marczykowski
341f202a26 The Underscores Revolution: filenames 2013-03-15 23:03:28 +01:00
Marek Marczykowski
e1472df9dd Remove obsolete files 2013-03-14 15:05:07 +01:00
Marek Marczykowski
820ee45f03 Minor 'misc' and 'aux-tools' directory cleanup 2013-03-14 13:48:28 +01:00
Marek Marczykowski
50a8068e6f Rename qvm-core -> core 2013-03-14 04:49:48 +01:00
Marek Marczykowski
c90f5199dd The Underscores Revolution: RPC services 2013-03-14 01:22:43 +01:00
Marek Marczykowski
fe7d62f077 Move qmemman.conf to qmemman dir 2013-03-14 01:18:27 +01:00
Marek Marczykowski
1d8222dbdb Remove Fedora-comps.xml
We have now own Qubes-comps.xml, so use it if present.
2013-03-14 00:55:20 +01:00
Marek Marczykowski
e4264f4917 Remove SysV-init scripts
Now dom0 uses SystemD, so init.d scripts no longer needed.
2013-03-13 06:14:07 +01:00
Marek Marczykowski
d9358a91aa Move manpages here from separate repo 2013-03-12 17:02:26 +01:00
Marek Marczykowski
ad2bdf0634 Rename 'version_dom0' -> 'version'
This repository contains only dom0 files now.
2013-03-12 16:50:14 +01:00
Marek Marczykowski
fce0db13c9 move qvm-create-default-dvm to qvm-tools dir 2013-03-12 16:12:23 +01:00
Marek Marczykowski
fcf51c6a6f Remove qclipd - now part of qubes-manager 2013-03-12 16:00:31 +01:00
Marek Marczykowski
844cb21544 Require dmidecode - for qubes-hcl-report tool 2013-03-09 22:20:47 +01:00
Marek Marczykowski
b3c9c74a50 move dispvm files to more meaningful directory 2013-03-08 17:26:55 +01:00
Marek Marczykowski
0e8037deee remove VM files 2013-03-07 05:07:42 +01:00
Marek Marczykowski
f4c37be03a remove qubes-core-libs files - moved to separate repository 2013-03-07 02:54:55 +01:00
Marek Marczykowski
3c3252b2a3 Remove qrexec - moved to separate package 2013-03-07 02:30:03 +01:00
Marek Marczykowski
325cf4b894 forgotten subdir 2013-03-06 18:41:10 +01:00
Marek Marczykowski
ca2a54b2b1 do install files used by dom0 netvm
We don't support dom0 netvm anymore.
2013-03-06 18:38:08 +01:00
Marek Marczykowski
7d07a6cf50 move dom0 files to dom0 subdirectory
Those files are actually common for dom0 and VM, but as we splitted the repos,
move them accordingly.
2013-03-06 18:37:58 +01:00
Marek Marczykowski
8fc805f34a vm/systemd: disable avahi-daemon
Aparently this service have changed name, so make sure it will be disabled also
under new name.
2013-03-03 17:35:54 +01:00
Marek Marczykowski
35e01c4165 dom0/spec: improve PackageKit settings
1. Do not try to tell "no network detected"
2. Do not try to tell "Distribution upgrade detected - Fedora 16"
2013-03-01 01:36:05 +01:00
Marek Marczykowski
d89bdac58c dom0: create volatile.img if not exists (StandaloneVM case)
StandaloneVM have no template to get clean volatile.img. Normally it is copied
from template during VM creation, but it can happen that image would not extx
(e.g. after backup restore). So create it from scratch.

Stay with original approach (restoring from clean image of template) for other
cases as it is much simpler (and perhaps faster).
2013-02-27 05:29:27 +01:00
Marek Marczykowski
d12e532fc2 vm: Use nautilus-actions to provide "Copy to other AppVM" etc nautilus commands
No more ugly symlink creation at VM startup, nautilus-actions have system-wide
dir (in opposite to nautilus-scripts).

Currently old symlinks are not cleaned up. Maybe it should, but leaving them
have one advantage: will not break existing users behavior.
2013-02-21 16:44:16 +01:00
Marek Marczykowski
8d347cb455 vm/spec: mark some config files with %config(noreplace)
Do mark such critical files, which shouldn't be modified by the user.
2013-02-21 07:25:47 +01:00
Marek Marczykowski
9310f398d5 dom0/spec: own qubes python subdir 2013-02-21 04:32:55 +01:00
Marek Marczykowski
b214fa6f9d dom0: Scale icons to 48x48
We register them as 48px icons, so scale them to that size (originally 600px).
Specifically required by gui-daemon which require prescalled icon.
2013-02-19 01:05:22 +01:00
Marek Marczykowski
cd4c62fc42 dom0/systemd: disable xendomains.service 2013-02-13 16:55:07 +01:00
Marek Marczykowski
0e39e961ea dom0/systemd: Rename qubes-dispvm to qubes-setupdvm
This is more accurate name. Also "qubes-setupdvm" is already used in
some places, so change service name instead of changing that places (at
least qubes-core.service).
2013-02-13 16:52:38 +01:00
Marek Marczykowski
eb5ba60da7 vm/spec: force legacy iptables services 2013-02-12 01:38:30 +01:00
Marek Marczykowski
22a0d391c2 vm: revert /etc/yum.conf exclude config
Upgrade of kernel is suppressed by qubes-vm-kernel-placeholder package.
Excluding xorg packages makes more problems than goods (e.g. unable to
install dummy driver, block fedora bugfixes).
2013-02-12 01:38:30 +01:00
Marek Marczykowski
0936152e12 vm/systemd: disable NetworkManager-wait-online when NM inactive 2013-02-12 01:38:30 +01:00
Marek Marczykowski
268cbfdc84 vm: require net-tools
Needed to setup network in VM
2013-02-12 01:38:30 +01:00
Marek Marczykowski
07d7957caa dom0: install PolicyKit allow-all rules
Same purpose as sudo rule - the user already can do almost all
administrative tasks and access all VMs data, so do disable annoying
password prompt (eg at system shutdown), which do not add any real
security layer.
2013-02-12 01:38:29 +01:00
Marek Marczykowski
1579340802 vm: move polkit configs from qubes-gui-vm package 2013-02-12 01:38:29 +01:00
Marek Marczykowski
d2dc386997 vm/kernel-placeholder: update provided version
Some fc18 packages requires >3.5 kernel, so update kernel-placeholder
appropriate (according to newest available package in unstable
repository).
2013-02-12 01:38:29 +01:00
Marek Marczykowski
b8ccfd6e2e dom0/init: implement systemd unit files
They cover standard init.d scripts when system have systemd, so can be placed
both in one package.
2013-01-27 00:04:40 +01:00
Marek Marczykowski
d99ebe043c dom0/updates: add groups definition from fc18 2013-01-26 23:58:44 +01:00
Marek Marczykowski
75fc222545 dom0/dracut: support new dracut module interface 2013-01-25 03:09:18 +01:00
Marek Marczykowski
c5ae049e3b Revert "dom0/spec: fix HVM settings on upgrade"
This reverts commit 4b44f977db.
This doesn't actually fix the problem, because in %post new qubes.py is already
installed and maxmem=memory is no longer true.
2013-01-11 15:28:55 +01:00
Marek Marczykowski
4b44f977db dom0/spec: fix HVM settings on upgrade
HVM should have meminfo-writer disabled by default (and now have). But existing
VMs have it already enabled so it must be fixed now. Generic HVM isn't capable
of dynamic memory management.

Previously it was forced to always have maxmem=memory but it wasn't fully
correct because someone could install Qubes agents/PV drivers including
meminfo-writer and xen-balloon even in HVM so it should be possible to turn it.
2013-01-11 05:05:44 +01:00
Olivier Medoc
6d6c744f2c vm/qubes_rpc: implement qubes.WaitForSession
RPC call will be used in vm.start function instead of the hardcoded echo > /tmp/qubes-session-waiter
2013-01-11 01:12:23 +01:00
Marek Marczykowski
0b078a5e70 qubes-core-vm-kernel-placeholder 1.0-2 2013-01-04 13:23:48 +01:00
Marek Marczykowski
74054b4dda vm/kernel-placeholder: provide xorg-x11-drv-nouveau to resolve deps problem 2013-01-04 13:23:20 +01:00
Marek Marczykowski
554d119fae spec: generate proper debuginfo packages
%setup macro must be present in %prep to set variables required by
find-debuginfo script. Symlink is to place sources in nice
/usr/src/debug/%{name}-%{version} subdir instead of plain /usr/src/debug/core
(which can be ambiguous).
Additionally all packages need to have _builddir pointing at top src dir (in
core-dom0 it was dom0 subdir). And to cheat make about current dir (to have
%{name}-%{version} included in path) chdir must be done by shell, not make - so
can't use make -C.
2012-12-12 04:12:59 +01:00
Marek Marczykowski
02e7469be3 spec: do not build u2mfn not packaged in core-dom0 and core-vm
This is packages in core-libs, so build it only there.
2012-12-12 04:10:41 +01:00
Marek Marczykowski
e75d2fc57a vm/spec: do not remote 50-qubes_misc.rules during installation 2012-11-22 08:22:52 +01:00
Marek Marczykowski
19983edc3c vm: setup /dev/xen/evtchn permissions using udev rule
This works also when the device is recreated, which is the case in DispVM
(during xl restore).
2012-11-22 00:51:18 +01:00