Browse Source

Split network-related files to -networking and -network-manager packages

This will save a lot of dependencies if networking is not needed in VMs
based on given template. Thanks to updates proxy over qrexec, template
itself do not need to have network configured too.

QubesOS/qubes-issues#2771
Marek Marczykowski-Górecki 6 years ago
parent
commit
3e7a45b4ac

+ 38 - 7
debian/control

@@ -25,17 +25,14 @@ Package: qubes-core-agent
 Architecture: any
 Depends:
     dmsetup,
-    ethtool,
     gawk,
     imagemagick,
     init-system-helpers,
     initscripts,
-    iptables,
     librsvg2-bin,
     libvchan-xen,
     locales,
     ncurses-term,
-    net-tools,
     psmisc,
     procps,
     util-linux,
@@ -66,12 +63,11 @@ Recommends:
     libnotify-bin,
     locales-all,
     mate-notification-daemon,
-    network-manager (>= 0.8.1-1),
-    network-manager-gnome,
     ntpdate,
     system-config-printer,
-    tinyproxy,
-    qubes-nautilus,
+    qubes-core-agent-nautilus,
+    qubes-core-agent-networking,
+    qubes-core-agent-network-manager,
     xsettingsd
 Provides: ${diverted-files}
 Conflicts: ${diverted-files}, qubes-core-agent-linux, firewalld, qubes-core-vm-sysvinit
@@ -96,3 +92,38 @@ Description: Scripts required to handle dom0 updates.
   Scripts required to handle dom0 updates. This will allow to use the VM as
   "Updates VM".
 
+Package: qubes-core-agent-networking
+Architecture: any
+Depends:
+    qubes-core-agent,
+    tinyproxy,
+    iptables,
+    net-tools,
+    ethtool,
+    tinyproxy,
+    nmap-ncat,
+    ${python:Depends},
+    ${misc:Depends}
+Recommends:
+    nftables,
+Description: Networking support for Qubes VM
+ This package provides:
+  * basic network functionality (setting IP address, DNS, default gateway)
+  * proxy service used by TemplateVMs to download updates
+  * qubes-firewall service (FirewallVM)
+ .
+ Note: if you want to use NetworkManager (you do want it in NetVM), install
+ also qubes-core-agent-network-manager.
+
+Package: qubes-core-agent-network-manager
+Architecture: any
+Depends:
+    qubes-core-agent-networking,
+    dconf,
+    network-manager (>= 0.8.1-1),
+    network-manager-gnome,
+Description: NetworkManager integration for Qubes VM
+ Integration of NetworkManager for Qubes VM:
+  * make connections config persistent
+  * adjust DNS redirections when needed
+  * show/hide NetworkManager applet icon

+ 7 - 0
debian/qubes-core-agent-network-manager.install

@@ -0,0 +1,7 @@
+etc/NetworkManager/dispatcher.d/30-qubes-external-ip
+etc/NetworkManager/dispatcher.d/qubes-nmhook
+etc/xdg/autostart/00-qubes-show-hide-nm-applet.desktop
+usr/lib/NetworkManager/conf.d/30-qubes.conf
+usr/lib/qubes/network-manager-prepare-conf-dir
+usr/lib/qubes/qubes-fix-nm-conf.sh
+usr/lib/qubes/show-hide-nm-applet.sh

+ 56 - 0
debian/qubes-core-agent-network-manager.postinst

@@ -0,0 +1,56 @@
+#!/bin/bash
+# postinst script for core-agent-linux
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# The postinst script may be called in the following ways:
+#   * <postinst> 'configure' <most-recently-configured-version>
+#   * <old-postinst> 'abort-upgrade' <new version>
+#   * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
+#     <new-version>
+#   * <postinst> 'abort-remove'
+#   * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
+#     <failed-install-package> <version> 'removing'
+#     <conflicting-package> <version>
+#
+#    For details, see http://www.debian.org/doc/debian-policy/ or
+# https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html or
+# the debian-policy package
+
+
+case "${1}" in
+    configure)
+        # Initial installation of package only
+        # ($2 contains version number on update; nothing on initial installation)
+        if [ -z "${2}" ]; then
+
+            # Create NetworkManager configuration if we do not have it
+            if ! [ -e /etc/NetworkManager/NetworkManager.conf ]; then
+                echo '[main]' > /etc/NetworkManager/NetworkManager.conf
+                echo 'plugins = keyfile' >> /etc/NetworkManager/NetworkManager.conf
+                echo '[keyfile]' >> /etc/NetworkManager/NetworkManager.conf
+            fi
+            /usr/lib/qubes/qubes-fix-nm-conf.sh
+        fi
+        ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+        exit 0
+        ;;
+
+    *)
+        echo "postinst called with unknown argument \`${1}'" >&2
+        exit 1
+        ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+# vim: set ts=4 sw=4 sts=4 et :

+ 20 - 0
debian/qubes-core-agent-networking.install

@@ -0,0 +1,20 @@
+etc/dhclient.d/qubes-setup-dnat-to-ns.sh
+etc/qubes-rpc/qubes.UpdatesProxy
+etc/qubes/ip6tables.rules
+etc/qubes/iptables.rules
+etc/tinyproxy/tinyproxy-updates.conf
+etc/tinyproxy/updates-blacklist
+etc/udev/rules.d/99-qubes-network.rules
+etc/xen/scripts/vif-qubes-nat.sh
+etc/xen/scripts/vif-route-qubes
+lib/systemd/system/qubes-firewall.service
+lib/systemd/system/qubes-iptables.service
+lib/systemd/system/qubes-network.service
+lib/systemd/system/qubes-updates-proxy.service
+usr/lib/qubes/init/network-proxy-setup.sh
+usr/lib/qubes/init/qubes-iptables
+usr/lib/qubes/iptables-updates-proxy
+usr/lib/qubes/qubes-setup-dnat-to-ns
+usr/lib/qubes/setup-ip
+usr/lib/tmpfiles.d/qubes-core-agent-linux.conf
+usr/sbin/qubes-firewall

+ 0 - 27
debian/qubes-core-agent.install

@@ -1,10 +1,7 @@
-etc/NetworkManager/dispatcher.d/30-qubes-external-ip
-etc/NetworkManager/dispatcher.d/qubes-nmhook
 etc/X11/xorg-preload-apps.conf
 etc/apt/apt.conf.d/00notify-hook
 etc/apt/sources.list.d/qubes-r3.list
 etc/apt/trusted.gpg.d/qubes-archive-keyring.gpg
-etc/dhclient.d/qubes-setup-dnat-to-ns.sh
 etc/fstab
 etc/needrestart/conf.d/50_qubes.conf
 etc/pam.d/su.qubes
@@ -31,13 +28,10 @@ etc/qubes-rpc/qubes.SuspendPostAll
 etc/qubes-rpc/qubes.SuspendPre
 etc/qubes-rpc/qubes.SuspendPreAll
 etc/qubes-rpc/qubes.SyncNtpClock
-etc/qubes-rpc/qubes.UpdatesProxy
 etc/qubes-rpc/qubes.VMShell
 etc/qubes-rpc/qubes.WaitForSession
 etc/qubes-suspend-module-blacklist
 etc/qubes/autostart/*
-etc/qubes/ip6tables.rules
-etc/qubes/iptables.rules
 etc/qubes/post-install.d/README
 etc/qubes/post-install.d/*.sh
 etc/qubes/suspend-post.d/README
@@ -48,13 +42,7 @@ etc/sudoers.d/umask
 etc/sysctl.d/20_tcp_timestamps.conf
 etc/sysctl.d/80-qubes.conf
 etc/systemd/system/haveged.service
-etc/tinyproxy/tinyproxy-updates.conf
-etc/tinyproxy/updates-blacklist
 etc/udev/rules.d/50-qubes-misc.rules
-etc/udev/rules.d/99-qubes-network.rules
-etc/xdg/autostart/00-qubes-show-hide-nm-applet.desktop
-etc/xen/scripts/vif-qubes-nat.sh
-etc/xen/scripts/vif-route-qubes
 lib/modules-load.d/qubes-core.conf
 lib/modules-load.d/qubes-misc.conf
 lib/systemd/system-preset/75-qubes-vm.preset
@@ -77,16 +65,12 @@ lib/systemd/system/org.cups.cupsd.service.d/30_qubes.conf
 lib/systemd/system/org.cups.cupsd.socket.d/30_qubes.conf
 lib/systemd/system/qubes-dvm.service
 lib/systemd/system/qubes-early-vm-config.service
-lib/systemd/system/qubes-firewall.service
-lib/systemd/system/qubes-iptables.service
 lib/systemd/system/qubes-misc-post.service
 lib/systemd/system/qubes-mount-dirs.service
-lib/systemd/system/qubes-network.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
-lib/systemd/system/qubes-updates-proxy.service
 lib/systemd/system/qubes-updates-proxy-forwarder@.service
 lib/systemd/system/qubes-updates-proxy-forwarder.socket
 lib/systemd/system/systemd-random-seed.service.d/30_qubes.conf
@@ -106,7 +90,6 @@ usr/bin/qvm-open-in-dvm
 usr/bin/qvm-open-in-vm
 usr/bin/qvm-run-vm
 usr/bin/xenstore-watch-qubes
-usr/lib/NetworkManager/conf.d/30-qubes.conf
 usr/lib/python2.7/dist-packages/qubesxdg.py
 usr/lib/python2.7/dist-packages/qubesagent-*.egg-info/*
 usr/lib/python2.7/dist-packages/qubesagent/*
@@ -119,17 +102,13 @@ usr/lib/qubes/init/functions
 usr/lib/qubes/init/misc-post-stop.sh
 usr/lib/qubes/init/misc-post.sh
 usr/lib/qubes/init/mount-dirs.sh
-usr/lib/qubes/init/network-proxy-setup.sh
 usr/lib/qubes/init/prepare-dvm.sh
 usr/lib/qubes/init/qubes-early-vm-config.sh
-usr/lib/qubes/init/qubes-iptables
 usr/lib/qubes/init/qubes-random-seed.sh
 usr/lib/qubes/init/qubes-sysinit.sh
 usr/lib/qubes/init/setup-dvm-home.sh
 usr/lib/qubes/init/setup-rw.sh
 usr/lib/qubes/init/setup-rwdev.sh
-usr/lib/qubes/iptables-updates-proxy
-usr/lib/qubes/network-manager-prepare-conf-dir
 usr/lib/qubes/prepare-suspend
 usr/lib/qubes/qfile-agent
 usr/lib/qubes/qfile-unpacker
@@ -138,16 +117,12 @@ 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-fix-nm-conf.sh
 usr/lib/qubes/qubes-rpc-multiplexer
-usr/lib/qubes/qubes-setup-dnat-to-ns
 usr/lib/qubes/qubes-trigger-sync-appmenus.sh
 usr/lib/qubes/qvm-copy-to-vm.gnome
 usr/lib/qubes/qvm-copy-to-vm.kde
 usr/lib/qubes/qvm-move-to-vm.gnome
 usr/lib/qubes/qvm-move-to-vm.kde
-usr/lib/qubes/setup-ip
-usr/lib/qubes/show-hide-nm-applet.sh
 usr/lib/qubes/sync-ntp-clock
 usr/lib/qubes/tar2qfile
 usr/lib/qubes/update-proxy-configs
@@ -158,8 +133,6 @@ usr/lib/qubes/vusb-ctl.py
 usr/lib/qubes/xdg-icon
 usr/lib/systemd/user/pulseaudio.service.d/30_qubes.conf
 usr/lib/systemd/user/pulseaudio.socket.d/30_qubes.conf
-usr/lib/tmpfiles.d/qubes-core-agent-linux.conf
-usr/sbin/qubes-firewall
 usr/share/glib-2.0/schemas/*
 usr/share/kde4/services/*.desktop
 usr/share/qubes/mime-override/globs

+ 0 - 8
debian/qubes-core-agent.postinst

@@ -69,14 +69,6 @@ case "${1}" in
         if [ -z "${2}" ]; then
 
             debug "FIRST INSTALL..."
-            # Create NetworkManager configuration if we do not have it
-            if ! [ -e /etc/NetworkManager/NetworkManager.conf ]; then
-                echo '[main]' > /etc/NetworkManager/NetworkManager.conf
-                echo 'plugins = keyfile' >> /etc/NetworkManager/NetworkManager.conf
-                echo '[keyfile]' >> /etc/NetworkManager/NetworkManager.conf
-            fi
-            /usr/lib/qubes/qubes-fix-nm-conf.sh
-
             # Location of files which contains list of protected files
             . /usr/lib/qubes/init/functions
 

+ 77 - 46
rpm_spec/core-agent.spec

@@ -116,17 +116,12 @@ Requires:   fedora-release
 %if %{fedora} < 22
 Requires:   yum-plugin-post-transaction-actions
 %endif
-Requires:   NetworkManager >= 0.8.1-1
 %if %{fedora} >= 18
 # Fedora >= 18 defaults to firewalld, which isn't supported nor needed by Qubes
 Conflicts:  firewalld
 %endif
 Requires:	xdg-utils
-Requires:   ethtool
-Requires:   tinyproxy
-Requires:   nmap-ncat
 Requires:   ntpdate
-Requires:   net-tools
 Requires:   qubes-utils >= 3.1.3
 Requires:   initscripts
 Requires:   gawk
@@ -142,12 +137,9 @@ Requires:   pyxdg
 Requires:   python-daemon
 # for qvm-feature-request
 Requires:   python2-qubesdb
-Requires:   nftables
 Requires:   ImageMagick
 Requires:   librsvg2-tools
 Requires:   desktop-notification-daemon
-# to show/hide nm-applet
-Requires:   dconf
 Requires:   zenity
 Requires:   qubes-libvchan
 Requires:   qubes-db-vm
@@ -204,6 +196,37 @@ Requires:   fakeroot
 %description dom0-updates
 Scripts required to handle dom0 updates.
 
+%package networking
+Summary:    Networking support for Qubes VM
+Requires:   ethtool
+Requires:   net-tools
+Requires:   nftables
+Requires:   nmap-ncat
+Requires:   qubes-core-agent
+Requires:   tinyproxy
+
+%description networking
+This package provides:
+ * basic network functionality (setting IP address, DNS, default gateway)
+ * proxy service used by TemplateVMs to download updates
+ * qubes-firewall service (FirewallVM)
+
+Note: if you want to use NetworkManager (you do want it in NetVM), install also
+qubes-core-agent-network-manager.
+
+%package network-manager
+Summary:    NetworkManager integration for Qubes VM
+# to show/hide nm-applet
+Requires:   NetworkManager >= 0.8.1-1
+Requires:   dconf
+Requires:   qubes-core-agent-networking
+
+%description network-manager
+Integration of NetworkManager for Qubes VM:
+ * make connections config persistent
+ * adjust DNS redirections when needed
+ * show/hide NetworkManager applet icon
+
 %define _builddir %(pwd)
 
 %define kde_service_dir /usr/share/kde4/services
@@ -264,17 +287,6 @@ for F in plymouth-shutdown prefdm splash-manager start-ttys tty ; do
 	fi
 done
 
-# Create NetworkManager configuration if we do not have it
-if ! [ -e /etc/NetworkManager/NetworkManager.conf ]; then
-echo '[main]' > /etc/NetworkManager/NetworkManager.conf
-echo 'plugins = keyfile' >> /etc/NetworkManager/NetworkManager.conf
-echo '[keyfile]' >> /etc/NetworkManager/NetworkManager.conf
-fi
-/usr/lib/qubes/qubes-fix-nm-conf.sh
-
-
-# Remove ip_forward setting from sysctl, so NM will not reset it
-sed 's/^net.ipv4.ip_forward.*/#\0/'  -i /etc/sysctl.conf
 
 # Remove old firmware updates link
 if [ -L /lib/firmware/updates ]; then
@@ -384,6 +396,20 @@ mv /etc/selinux/config.processed /etc/selinux/config
 setenforce 0 2>/dev/null
 exit 0
 
+%post network-manager
+
+# Create NetworkManager configuration if we do not have it
+if ! [ -e /etc/NetworkManager/NetworkManager.conf ]; then
+echo '[main]' > /etc/NetworkManager/NetworkManager.conf
+echo 'plugins = keyfile' >> /etc/NetworkManager/NetworkManager.conf
+echo '[keyfile]' >> /etc/NetworkManager/NetworkManager.conf
+fi
+
+# Remove ip_forward setting from sysctl, so NM will not reset it
+sed 's/^net.ipv4.ip_forward.*/#\0/'  -i /etc/sysctl.conf
+
+/usr/lib/qubes/qubes-fix-nm-conf.sh
+
 %preun
 if [ "$1" = 0 ] ; then
     # no more packages left
@@ -421,10 +447,7 @@ rm -f %{name}-%{version}
 %{kde_service_dir}/qvm-copy.desktop
 %{kde_service_dir}/qvm-move.desktop
 %{kde_service_dir}/qvm-dvm.desktop
-/etc/NetworkManager/dispatcher.d/30-qubes-external-ip
-/etc/NetworkManager/dispatcher.d/qubes-nmhook
 %config(noreplace) /etc/X11/xorg-preload-apps.conf
-/etc/dhclient.d/qubes-setup-dnat-to-ns.sh
 /etc/fstab
 /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes*
 %config(noreplace) /etc/polkit-1/localauthority/50-local.d/qubes-allow-all.pkla
@@ -451,7 +474,6 @@ rm -f %{name}-%{version}
 %config(noreplace) /etc/qubes-rpc/qubes.InstallUpdatesGUI
 %config(noreplace) /etc/qubes-rpc/qubes.ResizeDisk
 %config(noreplace) /etc/qubes-rpc/qubes.StartApp
-%config(noreplace) /etc/qubes-rpc/qubes.UpdatesProxy
 %config(noreplace) /etc/qubes-rpc/qubes.PostInstall
 %dir /etc/qubes/autostart
 /etc/qubes/autostart/README.txt
@@ -466,16 +488,8 @@ rm -f %{name}-%{version}
 %config(noreplace) /etc/sudoers.d/qubes
 %config(noreplace) /etc/sudoers.d/qt_x11_no_mitshm
 %config(noreplace) /etc/sysctl.d/20_tcp_timestamps.conf
-%config(noreplace) /etc/qubes/iptables.rules
-%config(noreplace) /etc/qubes/ip6tables.rules
-%config(noreplace) /etc/tinyproxy/tinyproxy-updates.conf
-%config(noreplace) /etc/tinyproxy/updates-blacklist
 %config(noreplace) /etc/udev/rules.d/50-qubes-misc.rules
-%config(noreplace) /etc/udev/rules.d/99-qubes-network.rules
 %config(noreplace) /etc/qubes-suspend-module-blacklist
-/etc/xdg/autostart/00-qubes-show-hide-nm-applet.desktop
-/etc/xen/scripts/vif-route-qubes
-/etc/xen/scripts/vif-qubes-nat.sh
 %config(noreplace) /etc/yum.conf.d/qubes-proxy.conf
 %config(noreplace) /etc/yum.repos.d/qubes-r3.repo
 /etc/yum/pluginconf.d/yum-qubes-hooks.conf
@@ -502,8 +516,6 @@ rm -f %{name}-%{version}
 /usr/lib/qubes/dispvm-prerun.sh
 /usr/lib/qubes/sync-ntp-clock
 /usr/lib/qubes/prepare-suspend
-/usr/lib/qubes/network-manager-prepare-conf-dir
-/usr/lib/qubes/show-hide-nm-applet.sh
 /usr/lib/qubes/qrexec-agent
 /usr/lib/qubes/qrexec-client-vm
 /usr/lib/qubes/qrexec_client_vm
@@ -512,15 +524,11 @@ rm -f %{name}-%{version}
 %attr(4755,root,root) /usr/lib/qubes/qfile-unpacker
 /usr/lib/qubes/qopen-in-vm
 /usr/lib/qubes/qrun-in-vm
-/usr/lib/qubes/qubes-fix-nm-conf.sh
-/usr/lib/qubes/qubes-setup-dnat-to-ns
 /usr/lib/qubes/qubes-trigger-sync-appmenus.sh
 /usr/lib/qubes/qvm-copy-to-vm.kde
 /usr/lib/qubes/qvm-move-to-vm.kde
-/usr/lib/qubes/setup-ip
 /usr/lib/qubes/tar2qfile
 /usr/lib/qubes/vm-file-editor
-/usr/lib/qubes/iptables-updates-proxy
 /usr/lib/qubes/close-window
 /usr/lib/qubes/xdg-icon
 /usr/lib/qubes/update-proxy-configs
@@ -528,7 +536,6 @@ rm -f %{name}-%{version}
 /usr/lib/qubes/upgrades-status-notify
 /usr/lib/yum-plugins/yum-qubes-hooks.py*
 /usr/lib/dracut/dracut.conf.d/30-qubes.conf
-/usr/lib/NetworkManager/conf.d/30-qubes.conf
 %dir /usr/lib/qubes/init
 /usr/lib/qubes/init/bind-dirs.sh
 /usr/lib/qubes/init/control-printer-icon.sh
@@ -536,7 +543,6 @@ rm -f %{name}-%{version}
 /usr/lib/qubes/init/misc-post-stop.sh
 /usr/lib/qubes/init/misc-post.sh
 /usr/lib/qubes/init/mount-dirs.sh
-/usr/lib/qubes/init/network-proxy-setup.sh
 /usr/lib/qubes/init/prepare-dvm.sh
 /usr/lib/qubes/init/qubes-early-vm-config.sh
 /usr/lib/qubes/init/qubes-random-seed.sh
@@ -548,7 +554,6 @@ rm -f %{name}-%{version}
 %dir /usr/lib/qubes-bind-dirs.d
 /usr/lib/qubes-bind-dirs.d/30_cron.conf
 /usr/lib/python2.7/site-packages/qubesxdg.py*
-/usr/sbin/qubes-firewall
 /usr/share/qubes/serial.conf
 /usr/share/glib-2.0/schemas/20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override
 /usr/share/glib-2.0/schemas/20_org.gnome.nautilus.qubes.gschema.override
@@ -586,12 +591,44 @@ rm -f %{name}-%{version}
 %dir %attr(0775,user,user) /var/lib/qubes/dom0-updates
 /usr/lib/qubes/qubes-download-dom0-updates.sh
 
+%files networking
+%config(noreplace) /etc/qubes-rpc/qubes.UpdatesProxy
+%config(noreplace) /etc/qubes/ip6tables.rules
+%config(noreplace) /etc/qubes/iptables.rules
+%config(noreplace) /etc/tinyproxy/tinyproxy-updates.conf
+%config(noreplace) /etc/tinyproxy/updates-blacklist
+%config(noreplace) /etc/udev/rules.d/99-qubes-network.rules
+/etc/dhclient.d/qubes-setup-dnat-to-ns.sh
+/etc/xen/scripts/vif-qubes-nat.sh
+/etc/xen/scripts/vif-route-qubes
+/lib/systemd/system/qubes-firewall.service
+/lib/systemd/system/qubes-iptables.service
+/lib/systemd/system/qubes-network.service
+/lib/systemd/system/qubes-updates-proxy.service
+/usr/lib/qubes/init/network-proxy-setup.sh
+/usr/lib/qubes/init/qubes-iptables
+/usr/lib/qubes/iptables-updates-proxy
+/usr/lib/qubes/qubes-setup-dnat-to-ns
+/usr/lib/qubes/setup-ip
+/usr/lib/tmpfiles.d/qubes-core-agent-linux.conf
+/usr/sbin/qubes-firewall
+
+%files network-manager
+/etc/NetworkManager/dispatcher.d/30-qubes-external-ip
+/etc/NetworkManager/dispatcher.d/qubes-nmhook
+/etc/xdg/autostart/00-qubes-show-hide-nm-applet.desktop
+/usr/lib/NetworkManager/conf.d/30-qubes.conf
+/usr/lib/qubes/network-manager-prepare-conf-dir
+/usr/lib/qubes/qubes-fix-nm-conf.sh
+/usr/lib/qubes/show-hide-nm-applet.sh
+
 %package sysvinit
 Summary:        Qubes unit files for SysV init style or upstart
 License:        GPL v2 only
 Group:          Qubes
 Requires:       upstart
 Requires:       qubes-core-agent
+Requires:       qubes-core-agent-networking
 Provides:       qubes-core-agent-init-scripts
 Conflicts:      qubes-core-agent-systemd
 Provides:       qubes-core-vm-sysvinit = %{version}-%{release}
@@ -677,22 +714,17 @@ The Qubes core startup configuration for SystemD init.
 %defattr(-,root,root,-)
 /lib/systemd/system/qubes-dvm.service
 /lib/systemd/system/qubes-misc-post.service
-/lib/systemd/system/qubes-firewall.service
 /lib/systemd/system/qubes-mount-dirs.service
-/lib/systemd/system/qubes-network.service
-/lib/systemd/system/qubes-iptables.service
 /lib/systemd/system/qubes-sysinit.service
 /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-updates-proxy.service
 /lib/systemd/system/qubes-qrexec-agent.service
 /lib/systemd/system/qubes-updates-proxy-forwarder@.service
 /lib/systemd/system/qubes-updates-proxy-forwarder.socket
 /lib/systemd/system-preset/%qubes_preset_file
 /lib/modules-load.d/qubes-core.conf
 /lib/modules-load.d/qubes-misc.conf
-/usr/lib/qubes/init/qubes-iptables
 /lib/systemd/system/chronyd.service.d/30_qubes.conf
 /lib/systemd/system/crond.service.d/30_qubes.conf
 /lib/systemd/system/cups.service.d/30_qubes.conf
@@ -713,7 +745,6 @@ The Qubes core startup configuration for SystemD init.
 /lib/systemd/system/tmp.mount.d/30_qubes.conf
 /usr/lib/systemd/user/pulseaudio.service.d/30_qubes.conf
 /usr/lib/systemd/user/pulseaudio.socket.d/30_qubes.conf
-/usr/lib/tmpfiles.d/qubes-core-agent-linux.conf
 
 %post systemd