During upgrades all library link kits are now removed early on - right
after mounting the file systems. This leaves a number of questions where
the user can choose to abort the upgrade, or possibilities for things to
go wrong. In such cases, or if the user makes any choice of sets not
including base*.tgz, library relinking will be broken on next boot.

I think we should only remove these link kits if we know that a new one
will be installed:

Index: install.sub
===================================================================
RCS file: /var/cvs/src/distrib/miniroot/install.sub,v
retrieving revision 1.1110
diff -u -p -r1.1110 install.sub
--- install.sub 11 Feb 2019 17:51:53 -0000      1.1110
+++ install.sub 1 Mar 2019 19:01:00 -0000
@@ -1640,6 +1640,10 @@ install_files() {
                return
        fi
 
+       if [[ $MODE == upgrade ]] && isin base$VERSION.tgz $_get_sets; then
+               rm -f /mnt/usr/share/relink/usr/lib/*
+       fi
+
        # Install the set files.
        for _f in $_get_sets; do
                _fsrc="$_src/$_f"
@@ -3168,8 +3172,6 @@ do_upgrade() {
 
        # Ensure that previous installer choices (e.g. method) are available.
        wait_cgiinfo
-
-       rm -f /mnt/usr/share/relink/usr/lib/*
 
        # Ask the user for locations, and install whatever sets the user
        # selected.

Reply via email to