diff --git a/archlinux/PKGBUILD.in b/archlinux/PKGBUILD.in index f7fc1454..8e89b2f6 100644 --- a/archlinux/PKGBUILD.in +++ b/archlinux/PKGBUILD.in @@ -1,6 +1,6 @@ # Maintainer: Frédéric Pierret (fepitre) -pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-passwordless-root) +pkgname=(qubes-vm-core qubes-vm-networking qubes-vm-keyring qubes-vm-passwordless-root qubes-vm-dom0-updates) pkgver=@VERSION@ pkgrel=@REL@ pkgdesc="The Qubes core files for installation inside a Qubes VM." @@ -38,7 +38,7 @@ build() { sed 's:/usr/sbin/ntpdate:/usr/bin/ntpdate:g' -i qubes-rpc/sync-ntp-clock for dir in qubes-rpc misc; do - make -C "$dir" + make -C "$dir" VERSION=${pkgver} done } @@ -153,6 +153,7 @@ package_qubes-vm-networking() { python iproute2 networkmanager + network-manager-applet tinyproxy nftables conntrack-tools @@ -204,3 +205,29 @@ package_qubes-vm-passwordless-root() { USER_DROPIN_DIR=/usr/lib/systemd/user \ DIST=archlinux } + +package_qubes-vm-dom0-updates() { + pkgdesc="Qubes OS tools for fetching dom0 updates" + depends=( + qubes-vm-core + qubes-vm-networking + python + dnf + ) + + cd "${_pkgnvr}" + make -C package-managers install \ + DESTDIR="$pkgdir" \ + SBINDIR=/usr/bin \ + LIBDIR=/usr/lib \ + SYSLIBDIR=/usr/lib \ + SYSTEM_DROPIN_DIR=/usr/lib/systemd/system \ + USER_DROPIN_DIR=/usr/lib/systemd/user \ + DIST=archlinux + + # already included in the main package + rm -f "${pkgdir}/usr/lib/qubes/upgrades-installed-check" + rm -f "${pkgdir}/usr/lib/qubes/upgrades-status-notify" + # not relevant for dom0 updates + rm -f "${pkgdir}/usr/lib/environment.d/60-gnome-software-fix.conf" +} diff --git a/package-managers/qubes-download-dom0-updates.sh b/package-managers/qubes-download-dom0-updates.sh index 1004c471..1b4efaa1 100755 --- a/package-managers/qubes-download-dom0-updates.sh +++ b/package-managers/qubes-download-dom0-updates.sh @@ -71,8 +71,8 @@ fi if type dnf >/dev/null 2>&1; then UPDATE_CMD=dnf UPDATE_ARGUMENTS+=(--noplugins -y) - "$UPDATE_CMD" "$UPDATE_ACTION" --help | grep -q best && UPDATE_ARGUMENTS+=(--best) - "$UPDATE_CMD" "$UPDATE_ACTION" --help | grep -q allowerasing && UPDATE_ARGUMENTS+=(--allowerasing) + "$UPDATE_CMD" "${OPTS[@]}" "$UPDATE_ACTION" --help | grep -q best && UPDATE_ARGUMENTS+=(--best) + "$UPDATE_CMD" "${OPTS[@]}" "$UPDATE_ACTION" --help | grep -q allowerasing && UPDATE_ARGUMENTS+=(--allowerasing) if "$UPDATE_CMD" --version | grep -q dnf5 && [ "$CHECK_ONLY" = "1" ]; then UPDATE_ACTION=check-upgrade fi @@ -151,7 +151,7 @@ UPDATE_COMMAND=(fakeroot "$UPDATE_CMD" "$UPDATE_ACTION" "${UPDATE_ARGUMENTS[@]}" # search, info and similar actions if --downloadonly is specified. The below # condition is a smart way to check if --downloadonly option is applicable to # the action. -"$UPDATE_CMD" "$UPDATE_ACTION" --help | grep -q downloadonly && UPDATE_COMMAND+=(--downloadonly) +"$UPDATE_CMD" "${OPTS[@]}" "$UPDATE_ACTION" --help | grep -q downloadonly && UPDATE_COMMAND+=(--downloadonly) mkdir -p "$DOM0_UPDATES_DIR/packages" diff --git a/qubes-rpc/post-install.d/10-qubes-core-agent-features.sh b/qubes-rpc/post-install.d/10-qubes-core-agent-features.sh index 510f11ad..17159926 100755 --- a/qubes-rpc/post-install.d/10-qubes-core-agent-features.sh +++ b/qubes-rpc/post-install.d/10-qubes-core-agent-features.sh @@ -49,6 +49,7 @@ qvm-features-request qubes-agent-version="$qubes_version" if [ -r /etc/os-release ]; then distro_like="" eol="" + version="" while IFS='=' read -r key val; do val="${val##[\"\']}" val="${val%%[\"\']}" diff --git a/vm-systemd/75-qubes-vm.preset b/vm-systemd/75-qubes-vm.preset index 7573e2d2..394c97df 100644 --- a/vm-systemd/75-qubes-vm.preset +++ b/vm-systemd/75-qubes-vm.preset @@ -112,6 +112,8 @@ enable module-load-dummy-psu.service enable module-load-dummy-backlight.service enable qubes-psu-client@.service default sys-usb enable dev-xvdc1-swap.service +enable NetworkManager.service +enable NetworkManager-dispatcher.service # Disable useless Xen services in Qubes VM disable xenstored.service