From 2ee80b9b83facf8a4b3e8c6c6d020e047a1a6bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Wed, 11 Jul 2018 14:24:17 +0200 Subject: [PATCH] Convert /usr/local from a symlink to a mount point on upgrade Fixes QubesOS/qubes-issues#1150 (cherry picked from commit f4c10d47da71a7eaaa46be2b44301189ae3ef54a) --- archlinux/PKGBUILD.install | 7 +++++++ debian/qubes-core-agent.postinst | 7 +++++++ rpm_spec/core-vm.spec | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/archlinux/PKGBUILD.install b/archlinux/PKGBUILD.install index 4dd23a7..2f0a801 100644 --- a/archlinux/PKGBUILD.install +++ b/archlinux/PKGBUILD.install @@ -79,6 +79,13 @@ update_qubesconfig() { rm -f /lib/firmware/updates fi + # convert /usr/local symlink to a mount point + if [ -L /usr/local ]; then + rm -f /usr/local + mkdir /usr/local + mount /usr/local || : + fi + #/usr/lib/qubes/update-proxy-configs # Archlinux pacman configuration is handled in update_finalize diff --git a/debian/qubes-core-agent.postinst b/debian/qubes-core-agent.postinst index 2b48af6..84e3e51 100755 --- a/debian/qubes-core-agent.postinst +++ b/debian/qubes-core-agent.postinst @@ -175,6 +175,13 @@ case "${1}" in rm -f /lib/firmware/updates fi + # convert /usr/local symlink to a mount point + if [ -L /usr/local ]; then + rm -f /usr/local + mkdir /usr/local + mount /usr/local || : + fi + # remove old symlinks if [ -L /etc/systemd/system/sysinit.target.wants/qubes-random-seed.service ]; then rm /etc/systemd/system/sysinit.target.wants/qubes-random-seed.service diff --git a/rpm_spec/core-vm.spec b/rpm_spec/core-vm.spec index 79bb952..f704643 100644 --- a/rpm_spec/core-vm.spec +++ b/rpm_spec/core-vm.spec @@ -276,6 +276,13 @@ if [ -L /lib/firmware/updates ]; then rm -f /lib/firmware/updates fi +# convert /usr/local symlink to a mount point +if [ -L /usr/local ]; then + rm -f /usr/local + mkdir /usr/local + mount /usr/local || : +fi + if test -f /etc/yum.conf && ! grep -q '/etc/yum\.conf\.d/qubes-proxy\.conf' /etc/yum.conf; then echo >> /etc/yum.conf echo '# Yum does not support inclusion of config dir...' >> /etc/yum.conf