Skip to content

Commit

Permalink
rpm,deb: split qrexec-agent into separate subpackage
Browse files Browse the repository at this point in the history
While it doesn't make sense to install qubes-core-agent without qrexec,
it may make sense to do the otherway around - install just
qrexec-agent without all the qrexec services and configuration. For
example on some pre-installed system.

QubesOS/qubes-issues#2771
  • Loading branch information
marmarek committed Jun 8, 2017
1 parent 2337d26 commit 000a93e
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 16 deletions.
18 changes: 16 additions & 2 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ Depends:
init-system-helpers,
initscripts,
librsvg2-bin,
libvchan-xen,
locales,
ncurses-term,
psmisc,
Expand All @@ -44,6 +43,7 @@ Depends:
python-dbus,
qubes-utils (>= 3.1.3),
sudo,
qubes-core-agent-qrexec,
systemd,
x11-xserver-utils,
xdg-user-dirs,
Expand Down Expand Up @@ -74,10 +74,23 @@ Description: Qubes core agent
This package includes various daemons necessary for qubes domU support,
such as qrexec.

Package: qubes-core-agent-qrexec
Architecture: any
Depends:
libvchan-xen,
${shlibs:Depends},
${misc:Depends}
Replaces: qubes-core-agent (<< 4.0.0-1)
Breaks: qubes-core-agent (<< 4.0.0-1)
Description: Qubes qrexec agent
Agent part of Qubes RPC system. A daemon responsible for starting processes as
requested by dom0 or other VMs, according to dom0-enforced policy.

Package: qubes-core-agent-nautilus
Architecture: any
Depends:
python-nautilus,
qubes-core-agent-qrexec,
Replaces: qubes-core-agent (<< 4.0.0-1)
Breaks: qubes-core-agent (<< 4.0.0-1)
Description: Qubes integration for Nautilus
Expand All @@ -88,7 +101,8 @@ Architecture: any
Depends:
fakeroot,
yum,
yum-utils
yum-utils,
qubes-core-agent-qrexec,
Replaces: qubes-core-agent (<< 4.0.0-1)
Breaks: qubes-core-agent (<< 4.0.0-1)
Description: Scripts required to handle dom0 updates.
Expand Down
7 changes: 7 additions & 0 deletions debian/qubes-core-agent-qrexec.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
lib/systemd/system/qubes-qrexec-agent.service
usr/bin/qrexec-client-vm
usr/bin/qrexec-fork-server
usr/lib/qubes/qrexec-agent
usr/lib/qubes/qrexec-client-vm
usr/lib/qubes/qrexec_client_vm
usr/lib/qubes/qubes-rpc-multiplexer
7 changes: 0 additions & 7 deletions debian/qubes-core-agent.install
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ lib/systemd/system/org.cups.cupsd.socket.d/30_qubes.conf
lib/systemd/system/qubes-early-vm-config.service
lib/systemd/system/qubes-misc-post.service
lib/systemd/system/qubes-mount-dirs.service
lib/systemd/system/qubes-qrexec-agent.service
lib/systemd/system/qubes-sysinit.service
lib/systemd/system/qubes-update-check.service
lib/systemd/system/qubes-update-check.timer
Expand All @@ -73,8 +72,6 @@ lib/systemd/system/tinyproxy.service.d/30_not_needed_in_qubes_by_default.conf
lib/systemd/system/tmp.mount.d/30_qubes.conf
lib/systemd/system/tor.service.d/30_qubes.conf
lib/systemd/system/[email protected]/30_qubes.conf
usr/bin/qrexec-client-vm
usr/bin/qrexec-fork-server
usr/bin/qubes-desktop-run
usr/bin/qubes-open
usr/bin/qubes-session-autostart
Expand Down Expand Up @@ -105,11 +102,7 @@ usr/lib/qubes/prepare-suspend
usr/lib/qubes/qfile-agent
usr/lib/qubes/qfile-unpacker
usr/lib/qubes/qopen-in-vm
usr/lib/qubes/qrexec-agent
usr/lib/qubes/qrexec-client-vm
usr/lib/qubes/qrexec_client_vm
usr/lib/qubes/qrun-in-vm
usr/lib/qubes/qubes-rpc-multiplexer
usr/lib/qubes/qubes-trigger-sync-appmenus.sh
usr/lib/qubes/qvm-copy-to-vm.gnome
usr/lib/qubes/qvm-copy-to-vm.kde
Expand Down
28 changes: 21 additions & 7 deletions rpm_spec/core-agent.spec
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ Requires: python2-qubesdb
Requires: ImageMagick
Requires: librsvg2-tools
Requires: zenity
Requires: qubes-core-agent-qrexec
Requires: qubes-libvchan
Requires: qubes-db-vm
%if 0%{fedora} >= 23
Expand Down Expand Up @@ -180,6 +181,16 @@ DNF plugin for Qubes specific post-installation actions:
* notify dom0 that updates were installed
* refresh applications shortcut list

%package qrexec
Summary: Qubes qrexec agent
Requires: qubes-core-agent
Requires: nautilus-python
Conflicts: qubes-core-vm < 4.0.0

%description qrexec
Agent part of Qubes RPC system. A daemon responsible for starting processes as
requested by dom0 or other VMs, according to dom0-enforced policy.

%package nautilus
Summary: Qubes integration for Nautilus
Requires: qubes-core-agent
Expand Down Expand Up @@ -530,16 +541,10 @@ rm -f %{name}-%{version}
/usr/bin/xenstore-watch-qubes
/usr/bin/qubes-desktop-run
/usr/bin/qubes-open
/usr/bin/qrexec-fork-server
/usr/bin/qrexec-client-vm
/usr/bin/qubes-session-autostart
%dir /usr/lib/qubes
/usr/lib/qubes/sync-ntp-clock
/usr/lib/qubes/prepare-suspend
/usr/lib/qubes/qrexec-agent
/usr/lib/qubes/qrexec-client-vm
/usr/lib/qubes/qrexec_client_vm
/usr/lib/qubes/qubes-rpc-multiplexer
/usr/lib/qubes/qfile-agent
%attr(4755,root,root) /usr/lib/qubes/qfile-unpacker
/usr/lib/qubes/qopen-in-vm
Expand Down Expand Up @@ -597,6 +602,15 @@ rm -f %{name}-%{version}
%files -n python3-dnf-plugins-qubes-hooks
%{python3_sitelib}/dnf-plugins/*

%files qrexec
/usr/bin/qrexec-fork-server
/usr/bin/qrexec-client-vm
/usr/lib/qubes/qrexec-agent
/usr/lib/qubes/qrexec-client-vm
/usr/lib/qubes/qrexec_client_vm
/usr/lib/qubes/qubes-rpc-multiplexer
/lib/systemd/system/qubes-qrexec-agent.service

%files nautilus
/usr/lib/qubes/qvm-copy-to-vm.gnome
/usr/lib/qubes/qvm-move-to-vm.gnome
Expand Down Expand Up @@ -650,6 +664,7 @@ License: GPL v2 only
Group: Qubes
Requires: upstart
Requires: qubes-core-agent
Requires: qubes-core-agent-qrexec
Requires: qubes-core-agent-networking
Provides: qubes-core-agent-init-scripts
Conflicts: qubes-core-agent-systemd
Expand Down Expand Up @@ -739,7 +754,6 @@ The Qubes core startup configuration for SystemD init.
/lib/systemd/system/qubes-early-vm-config.service
/lib/systemd/system/qubes-update-check.service
/lib/systemd/system/qubes-update-check.timer
/lib/systemd/system/qubes-qrexec-agent.service
/lib/systemd/system/[email protected]
/lib/systemd/system/qubes-updates-proxy-forwarder.socket
/lib/systemd/system-preset/%qubes_preset_file
Expand Down

0 comments on commit 000a93e

Please sign in to comment.