From 2ee09409f7f120d2bf221e9e47a315ebd976889d Mon Sep 17 00:00:00 2001 From: Debian Octave Group Date: Mon, 1 Dec 2014 20:25:52 +0000 Subject: [PATCH] enable_dirs_in_pkg Gbp-Pq: Name enable_dirs_in_pkg --- scripts/pkg/private/install.m | 41 ++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/scripts/pkg/private/install.m b/scripts/pkg/private/install.m index 71fa3321..8ea96190 100644 --- a/scripts/pkg/private/install.m +++ b/scripts/pkg/private/install.m @@ -75,25 +75,32 @@ function install (files, handle_deps, autoload, prefix, archprefix, verbose, endif ## Uncompress the package. - if (verbose) - printf ("untar (%s, %s)\n", tgz, tmpdir); - endif - untar (tgz, tmpdir); - - ## Get the name of the directories produced by tar. - [dirlist, err, msg] = readdir (tmpdir); - if (err) - error ("couldn't read directory produced by tar: %s", msg); - endif + if (!exist(tgz, "dir")) + if (verbose) + printf ("untar (%s, %s)\n", tgz, tmpdir); + endif + untar (tgz, tmpdir); - if (length (dirlist) > 3) - error ("bundles of packages are not allowed"); - endif - endif + ## Get the name of the directories produced by tar. + [dirlist, err, msg] = readdir (tmpdir); + if (err) + error ("couldn't read directory produced by tar: %s", msg); + endif - ## The filename pointed to an uncompressed package to begin with. - if (exist (tgz, "dir")) - dirlist = {".", "..", tgz}; + if (length (dirlist) > 3) + error ("bundles of packages are not allowed"); + endif + else + ## we are dealing with a directory, so just copy the files + if (verbose) + printf ("Copying directory (%s, %s)\n", tgz, tmpdir); + endif + [status, msg, msgid] = copyfile (tgz, tmpdir); + if (!status) + disp(msg); + endif + dirlist = {".", "..", tgz}; + endif endif if (exist (tgz, "file") || exist (tgz, "dir")) -- 2.30.2