Index: octave-5.1.0/scripts/pkg/private/install.m =================================================================== --- octave-5.1.0.orig/scripts/pkg/private/install.m +++ octave-5.1.0/scripts/pkg/private/install.m @@ -62,7 +62,14 @@ function install (files, handle_deps, pr for i = 1:length (files) tgz = files{i}; - if (exist (tgz, "file")) + ## The filename pointed to an uncompressed package to begin with. + if (exist (tgz, "dir")) + if (tgz(1) == '/') + packdir = tgz; + else + packdir = fullfile (pwd(), tgz); + endif + elseif (exist (tgz, "file")) ## Create a temporary directory. tmpdir = tempname (); tmpdirs{end+1} = tmpdir; @@ -89,20 +96,12 @@ function install (files, handle_deps, pr if (length (dirlist) > 3) error ("bundles of packages are not allowed"); endif - endif - ## The filename pointed to an uncompressed package to begin with. - if (isfolder (tgz)) - dirlist = {".", "..", tgz}; + ## The two first entries of dirlist are "." and "..". + packdir = fullfile (tmpdir, dirlist{3}); endif if (exist (tgz, "file") || isfolder (tgz)) - ## The two first entries of dirlist are "." and "..". - if (exist (tgz, "file")) - packdir = fullfile (tmpdir, dirlist{3}); - else - packdir = fullfile (pwd (), dirlist{3}); - endif packdirs{end+1} = packdir; ## Make sure the package contains necessary files.