Commit Graph

517 Commits

Author SHA1 Message Date
Wojtek Porczyk
f1a0b1af39 qubes/tools: add qvm-run, qvm-{,un}pause
Also change convention of calling main(): now command returns its
numeric value instead of bool.

Also fixed QSB#13

fixes QubesOS/qubes-issues#1226
2015-12-29 03:43:08 +01:00
Wojtek Porczyk
7b30361fa6 qubes/tools: add qubes-prefs
fixes QubesOS/qubes-issues#1209
2015-12-24 00:48:17 +01:00
Wojtek Porczyk
729c28281b spec: disable AutoReq
This fixes compilation under Fedora. Depending on $PATH order, automagic
dependencies put /usr/bin/python or /bin/python (because we have
anything, becase /bin is just symlink to /usr/bin.
2015-12-23 14:34:54 +01:00
Wojtek Porczyk
91bde9b80f spec: add missing BuildRequires 2015-12-23 14:34:54 +01:00
Wojtek Porczyk
0dc0fd306f core3: test fixing
part of QubesOS/qubes-issues#1248
2015-12-23 14:34:53 +01:00
Marek Marczykowski-Górecki
377d3ad43a
rpm: do not motify /etc/udev/rules.d/xen-backend.rules anymore
Xen 4.6 no longer uses udev to call hotplug scripts.

QubesOS/qubes-issues#1361
2015-11-27 20:00:34 +01:00
Marek Marczykowski-Górecki
f525a58134
core: adjust for updated stubdom support in libvirt
Fixes QubesOS/qubes-issues#1456
2015-11-27 20:00:33 +01:00
Bahtiar `kalkin-` Gadimov
bfaf37dae5 Add pool config parsing 2015-11-17 19:37:18 +01:00
Wojtek Porczyk
96efb4568a core3: add different exceptions
From now on there are different exceptions which can be raise on
different occasions.

fixes QubesOS/qubes-issues#1279
2015-10-17 00:17:12 +02:00
Wojtek Porczyk
15713cbf46 qubes/tools: rewrite qvm-kill
Also new function, `error_runtime` for common parser.

fixes QubesOS/qubes-issues#1222
2015-10-05 18:06:02 +02:00
Wojtek Porczyk
c538d536c8 core3: move qmemman
This is part of fixing qvm-start.

qmemman was moved with minimal touching, mainly module names.

Moved function parsing human-readable sizes from core2. This function is
wrong, because it treats k/M/G as 1024-based, but leave it for now.
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
fcdb579bab core3: qubesmanager notifying extension
core/notify.py was excavated and tray notifying remnants were moved to
qubes.log. They are unused as yet.

Also extension events are fixed.
2015-10-05 12:46:14 +02:00
Wojtek Porczyk
6f4951d08a install python package with setuptools 2015-10-05 12:46:14 +02:00
Wojtek Porczyk
b0be1ad584 qubes/tools: qvm-start rewritten from original 2015-10-05 12:46:14 +02:00
Wojtek Porczyk
e7cba0214f qubes/tools: qvm-prefs 2015-10-05 12:46:13 +02:00
Wojtek Porczyk
ff7d89700a qubes/tools: port qvm-create 2015-06-30 17:18:24 +02:00
Wojtek Porczyk
669a976d4e qubes/tools: add common action for setting properties 2015-06-29 17:40:43 +02:00
Wojtek Porczyk
fd0107f11a new tool: qubes-create
At present it just creates default qubes.xml (empty barring labels and AdminVM).
In the future it can be evolved into backend for firstboot.
2015-06-29 17:39:28 +02:00
Wojtek Porczyk
18d36c17e1 rpm_spec/core-dom0-doc.spec: fix build dependencies 2015-06-29 17:39:28 +02:00
Wojtek Porczyk
6a4820c381 qubes/tools: qvm-ls 2015-06-29 17:39:28 +02:00
Wojtek Porczyk
8805db5e5f core3 move: AdminVM class 2015-06-29 17:39:26 +02:00
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