rpm,deb: split qrexec-agent into separate subpackage

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
This commit is contained in:
Marek Marczykowski-Górecki 2017-06-08 15:33:26 +02:00
parent 2337d26a3e
commit 000a93e001
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724
4 changed files with 44 additions and 16 deletions

18
debian/control vendored
View File

@ -30,7 +30,6 @@ Depends:
init-system-helpers, init-system-helpers,
initscripts, initscripts,
librsvg2-bin, librsvg2-bin,
libvchan-xen,
locales, locales,
ncurses-term, ncurses-term,
psmisc, psmisc,
@ -44,6 +43,7 @@ Depends:
python-dbus, python-dbus,
qubes-utils (>= 3.1.3), qubes-utils (>= 3.1.3),
sudo, sudo,
qubes-core-agent-qrexec,
systemd, systemd,
x11-xserver-utils, x11-xserver-utils,
xdg-user-dirs, xdg-user-dirs,
@ -74,10 +74,23 @@ Description: Qubes core agent
This package includes various daemons necessary for qubes domU support, This package includes various daemons necessary for qubes domU support,
such as qrexec. 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 Package: qubes-core-agent-nautilus
Architecture: any Architecture: any
Depends: Depends:
python-nautilus, python-nautilus,
qubes-core-agent-qrexec,
Replaces: qubes-core-agent (<< 4.0.0-1) Replaces: qubes-core-agent (<< 4.0.0-1)
Breaks: qubes-core-agent (<< 4.0.0-1) Breaks: qubes-core-agent (<< 4.0.0-1)
Description: Qubes integration for Nautilus Description: Qubes integration for Nautilus
@ -88,7 +101,8 @@ Architecture: any
Depends: Depends:
fakeroot, fakeroot,
yum, yum,
yum-utils yum-utils,
qubes-core-agent-qrexec,
Replaces: qubes-core-agent (<< 4.0.0-1) Replaces: qubes-core-agent (<< 4.0.0-1)
Breaks: qubes-core-agent (<< 4.0.0-1) Breaks: qubes-core-agent (<< 4.0.0-1)
Description: Scripts required to handle dom0 updates. Description: Scripts required to handle dom0 updates.

View File

@ -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

View File

@ -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-early-vm-config.service
lib/systemd/system/qubes-misc-post.service lib/systemd/system/qubes-misc-post.service
lib/systemd/system/qubes-mount-dirs.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-sysinit.service
lib/systemd/system/qubes-update-check.service lib/systemd/system/qubes-update-check.service
lib/systemd/system/qubes-update-check.timer lib/systemd/system/qubes-update-check.timer
@ -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/tmp.mount.d/30_qubes.conf
lib/systemd/system/tor.service.d/30_qubes.conf lib/systemd/system/tor.service.d/30_qubes.conf
lib/systemd/system/tor@default.service.d/30_qubes.conf lib/systemd/system/tor@default.service.d/30_qubes.conf
usr/bin/qrexec-client-vm
usr/bin/qrexec-fork-server
usr/bin/qubes-desktop-run usr/bin/qubes-desktop-run
usr/bin/qubes-open usr/bin/qubes-open
usr/bin/qubes-session-autostart usr/bin/qubes-session-autostart
@ -105,11 +102,7 @@ usr/lib/qubes/prepare-suspend
usr/lib/qubes/qfile-agent usr/lib/qubes/qfile-agent
usr/lib/qubes/qfile-unpacker usr/lib/qubes/qfile-unpacker
usr/lib/qubes/qopen-in-vm 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/qrun-in-vm
usr/lib/qubes/qubes-rpc-multiplexer
usr/lib/qubes/qubes-trigger-sync-appmenus.sh usr/lib/qubes/qubes-trigger-sync-appmenus.sh
usr/lib/qubes/qvm-copy-to-vm.gnome usr/lib/qubes/qvm-copy-to-vm.gnome
usr/lib/qubes/qvm-copy-to-vm.kde usr/lib/qubes/qvm-copy-to-vm.kde

View File

@ -138,6 +138,7 @@ Requires: python2-qubesdb
Requires: ImageMagick Requires: ImageMagick
Requires: librsvg2-tools Requires: librsvg2-tools
Requires: zenity Requires: zenity
Requires: qubes-core-agent-qrexec
Requires: qubes-libvchan Requires: qubes-libvchan
Requires: qubes-db-vm Requires: qubes-db-vm
%if 0%{fedora} >= 23 %if 0%{fedora} >= 23
@ -180,6 +181,16 @@ DNF plugin for Qubes specific post-installation actions:
* notify dom0 that updates were installed * notify dom0 that updates were installed
* refresh applications shortcut list * 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 %package nautilus
Summary: Qubes integration for Nautilus Summary: Qubes integration for Nautilus
Requires: qubes-core-agent Requires: qubes-core-agent
@ -530,16 +541,10 @@ rm -f %{name}-%{version}
/usr/bin/xenstore-watch-qubes /usr/bin/xenstore-watch-qubes
/usr/bin/qubes-desktop-run /usr/bin/qubes-desktop-run
/usr/bin/qubes-open /usr/bin/qubes-open
/usr/bin/qrexec-fork-server
/usr/bin/qrexec-client-vm
/usr/bin/qubes-session-autostart /usr/bin/qubes-session-autostart
%dir /usr/lib/qubes %dir /usr/lib/qubes
/usr/lib/qubes/sync-ntp-clock /usr/lib/qubes/sync-ntp-clock
/usr/lib/qubes/prepare-suspend /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 /usr/lib/qubes/qfile-agent
%attr(4755,root,root) /usr/lib/qubes/qfile-unpacker %attr(4755,root,root) /usr/lib/qubes/qfile-unpacker
/usr/lib/qubes/qopen-in-vm /usr/lib/qubes/qopen-in-vm
@ -597,6 +602,15 @@ rm -f %{name}-%{version}
%files -n python3-dnf-plugins-qubes-hooks %files -n python3-dnf-plugins-qubes-hooks
%{python3_sitelib}/dnf-plugins/* %{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 %files nautilus
/usr/lib/qubes/qvm-copy-to-vm.gnome /usr/lib/qubes/qvm-copy-to-vm.gnome
/usr/lib/qubes/qvm-move-to-vm.gnome /usr/lib/qubes/qvm-move-to-vm.gnome
@ -650,6 +664,7 @@ License: GPL v2 only
Group: Qubes Group: Qubes
Requires: upstart Requires: upstart
Requires: qubes-core-agent Requires: qubes-core-agent
Requires: qubes-core-agent-qrexec
Requires: qubes-core-agent-networking Requires: qubes-core-agent-networking
Provides: qubes-core-agent-init-scripts Provides: qubes-core-agent-init-scripts
Conflicts: qubes-core-agent-systemd Conflicts: qubes-core-agent-systemd
@ -739,7 +754,6 @@ The Qubes core startup configuration for SystemD init.
/lib/systemd/system/qubes-early-vm-config.service /lib/systemd/system/qubes-early-vm-config.service
/lib/systemd/system/qubes-update-check.service /lib/systemd/system/qubes-update-check.service
/lib/systemd/system/qubes-update-check.timer /lib/systemd/system/qubes-update-check.timer
/lib/systemd/system/qubes-qrexec-agent.service
/lib/systemd/system/qubes-updates-proxy-forwarder@.service /lib/systemd/system/qubes-updates-proxy-forwarder@.service
/lib/systemd/system/qubes-updates-proxy-forwarder.socket /lib/systemd/system/qubes-updates-proxy-forwarder.socket
/lib/systemd/system-preset/%qubes_preset_file /lib/systemd/system-preset/%qubes_preset_file