Browse Source

Convert /usr/local from a symlink to a mount point on upgrade

Fixes QubesOS/qubes-issues#1150
Marek Marczykowski-Górecki 5 years ago
parent
commit
f4c10d47da
3 changed files with 21 additions and 0 deletions
  1. 7 0
      archlinux/PKGBUILD.install
  2. 7 0
      debian/qubes-core-agent.postinst
  3. 7 0
      rpm_spec/core-agent.spec.in

+ 7 - 0
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
 

+ 7 - 0
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

+ 7 - 0
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