diff scripts/pkg/private/install.m @ 24013:26ec2e264826

Fix installing pkgs into a symlinked dir (bug #50994). * scripts/pkg/private/install.m (copy_files): Test whether install directory and octfiledir are the same by comparing their canonical names.
author Rik <rik@octave.org>
date Wed, 06 Sep 2017 09:10:27 -0700
parents 092078913d54
children 194eb4bd202b
line wrap: on
line diff
--- a/scripts/pkg/private/install.m	Wed Sep 06 09:08:36 2017 -0700
+++ b/scripts/pkg/private/install.m	Wed Sep 06 09:10:27 2017 -0700
@@ -504,9 +504,10 @@
       error ("couldn't copy files to the installation directory");
     endif
     if (exist (fullfile (desc.dir, getarch ()), "dir")
-        && ! strcmp (fullfile (desc.dir, getarch ()), octfiledir))
+        && ! strcmp (canonicalize_file_name (fullfile (desc.dir, getarch ())),
+                     canonicalize_file_name (octfiledir)))
       if (! exist (octfiledir, "dir"))
-        ## Can be required to create upto three levels of dirs.
+        ## Can be required to create up to three levels of dirs.
         octm1 = fileparts (octfiledir);
         if (! exist (octm1, "dir"))
           octm2 = fileparts (octm1);