From f4c10d47da71a7eaaa46be2b44301189ae3ef54a 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 --- archlinux/PKGBUILD.install | 7 +++++++ debian/qubes-core-agent.postinst | 7 +++++++ rpm_spec/core-agent.spec.in | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/archlinux/PKGBUILD.install b/archlinux/PKGBUILD.install index 258756b..ce625bb 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 a3baf49..db84be4 100755 --- a/debian/qubes-core-agent.postinst +++ b/debian/qubes-core-agent.postinst @@ -167,6 +167,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-agent.spec.in b/rpm_spec/core-agent.spec.in index 62c43d8..a3578e3 100644 --- a/rpm_spec/core-agent.spec.in +++ b/rpm_spec/core-agent.spec.in @@ -339,6 +339,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