Orion Poplawski 1d2756f
diff -up octave-3.8.0-rc2/scripts/pkg/private/install.m.pkgbuilddir octave-3.8.0-rc2/scripts/pkg/private/install.m
Orion Poplawski 1d2756f
--- octave-3.8.0-rc2/scripts/pkg/private/install.m.pkgbuilddir	2013-12-21 12:31:40.000000000 -0700
Orion Poplawski 1d2756f
+++ octave-3.8.0-rc2/scripts/pkg/private/install.m	2013-12-28 16:12:03.283207320 -0700
Orion Poplawski 1d2756f
@@ -62,7 +62,10 @@ function install (files, handle_deps, au
Orion Poplawski 1d2756f
     for i = 1:length (files)
Orion Poplawski 1d2756f
       tgz = files{i};
Orion Poplawski 1d2756f
 
Orion Poplawski 1d2756f
-      if (exist (tgz, "file"))
Orion Poplawski 1d2756f
+      ## The filename pointed to an uncompressed package to begin with.
Orion Poplawski 1d2756f
+      if (exist (tgz, "dir"))
Orion Poplawski 1d2756f
+        dirlist = {".", "..", tgz};
Orion Poplawski 1d2756f
+      elseif (exist (tgz, "file"))
Orion Poplawski 1d2756f
         ## Create a temporary directory.
Orion Poplawski 1d2756f
         tmpdir = tmpnam ();
Orion Poplawski 1d2756f
         tmpdirs{end+1} = tmpdir;
Orion Poplawski 1d2756f
@@ -91,17 +94,16 @@ function install (files, handle_deps, au
Orion Poplawski 1d2756f
         endif
Orion Poplawski 1d2756f
       endif
Orion Poplawski 1d2756f
 
Orion Poplawski 1d2756f
-      ## The filename pointed to an uncompressed package to begin with.
Orion Poplawski 1d2756f
-      if (exist (tgz, "dir"))
Orion Poplawski 1d2756f
-        dirlist = {".", "..", tgz};
Orion Poplawski 1d2756f
-      endif
Orion Poplawski 1d2756f
-
Orion Poplawski 1d2756f
-      if (exist (tgz, "file") || exist (tgz, "dir"))
Orion Poplawski 1d2756f
+      if (exist (tgz, "file"))
Orion Poplawski 1d2756f
         ## The two first entries of dirlist are "." and "..".
Orion Poplawski 1d2756f
-        if (exist (tgz, "file"))
Orion Poplawski 1d2756f
-          packdir = fullfile (tmpdir, dirlist{3});
Orion Poplawski 1d2756f
+        if (exist (tgz, "dir"))
Orion Poplawski 1d2756f
+          if (tgz(1) == '/')
Orion Poplawski 1d2756f
+            packdir = tgz;
Orion Poplawski 1d2756f
+          else
Orion Poplawski 1d2756f
+            packdir = fullfile (pwd (), dirlist{3});
Orion Poplawski 1d2756f
+          endif
Orion Poplawski 1d2756f
         else
Orion Poplawski 1d2756f
-          packdir = fullfile (pwd (), dirlist{3});
Orion Poplawski 1d2756f
+          packdir = fullfile (tmpdir, dirlist{3});
Orion Poplawski 1d2756f
         endif
Orion Poplawski 1d2756f
         packdirs{end+1} = packdir;
Orion Poplawski 1d2756f