# HG changeset patch # User Carlo de Falco # Date 1331920509 -3600 # Node ID d2c095e45196cf122bbd5667241ce2c83eaae805 # Parent aad7ad0e15c1860adf44d42c7e6fd531edd1d0a6 maint: Remove redundant private function from the package manager. * pkg/private/rm_rf.m: remove file. * pkg/provate/build.m: remove calls to rm_rf. * pkg/provate/configure_make.m: remove calls to rm_rf. * pkg/provate/copy_files.m: remove calls to rm_rf. * pkg/provate/finish_installation.m: remove calls to rm_rf. * pkg/provate/install.m: remove calls to rm_rf. * pkg/provate/packinfo_copy_file.m: remove calls to rm_rf. * pkg/provate/prepare_installation.m: remove calls to rm_rf. * pkg/provate/repackage.m: remove calls to rm_rf. * pkg/provate/uninstall.m: remove calls to rm_rf. diff --git a/scripts/pkg/module.mk b/scripts/pkg/module.mk --- a/scripts/pkg/module.mk +++ b/scripts/pkg/module.mk @@ -34,7 +34,6 @@ pkg/private/print_package_description.m \ pkg/private/rebuild.m \ pkg/private/repackage.m \ - pkg/private/rm_rf.m \ pkg/private/save_order.m \ pkg/private/shell.m \ pkg/private/uninstall.m \ diff --git a/scripts/pkg/pkg.m b/scripts/pkg/pkg.m --- a/scripts/pkg/pkg.m +++ b/scripts/pkg/pkg.m @@ -268,6 +268,9 @@ persistent local_list = tilde_expand (fullfile ("~", ".octave_packages")); persistent global_list = fullfile (OCTAVE_HOME (), "share", "octave", "octave_packages"); + + confirm_recursive_rmdir (false, "local"); + mlock (); global_install = issuperuser (); diff --git a/scripts/pkg/private/build.m b/scripts/pkg/private/build.m --- a/scripts/pkg/private/build.m +++ b/scripts/pkg/private/build.m @@ -51,7 +51,7 @@ unwind_protect_cleanup unload_packages ({"all"}, handle_deps, buildlist, ""); if (exist (installdir, "dir")) - rm_rf (installdir); + rmdir (installdir, "s"); endif if (exist (buildlist, "file")) unlink (buildlist); diff --git a/scripts/pkg/private/configure_make.m b/scripts/pkg/private/configure_make.m --- a/scripts/pkg/private/configure_make.m +++ b/scripts/pkg/private/configure_make.m @@ -56,7 +56,7 @@ "./configure --prefix=\"", desc.dir, "\"", flags)); if (status != 0) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("the configure script returned the following error: %s", output); elseif (verbose) printf("%s", output); @@ -68,7 +68,7 @@ if (exist (fullfile (src, "Makefile"), "file")) [status, output] = shell (cstrcat (scenv, "make -C '", src, "'")); if (status != 0) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("'make' returned the following error: %s", output); elseif (verbose) printf("%s", output); @@ -134,7 +134,7 @@ endif [status, output] = copyfile (archindependent, instdir); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("Couldn't copy files from 'src' to 'inst': %s", output); endif endif @@ -149,7 +149,7 @@ endif [status, output] = copyfile (archdependent, archdir); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("Couldn't copy files from 'src' to 'inst': %s", output); endif endif diff --git a/scripts/pkg/private/copy_files.m b/scripts/pkg/private/copy_files.m --- a/scripts/pkg/private/copy_files.m +++ b/scripts/pkg/private/copy_files.m @@ -40,7 +40,7 @@ if (! dirempty (instdir)) [status, output] = copyfile (fullfile (instdir, "*"), desc.dir); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("couldn't copy files to the installation directory"); endif if (exist (fullfile (desc.dir, getarch ()), "dir") @@ -55,39 +55,39 @@ if (! exist (octm3, "dir")) [status, output] = mkdir (octm3); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("couldn't create installation directory %s : %s", octm3, output); endif endif [status, output] = mkdir (octm2); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("couldn't create installation directory %s : %s", octm2, output); endif endif [status, output] = mkdir (octm1); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("couldn't create installation directory %s : %s", octm1, output); endif endif [status, output] = mkdir (octfiledir); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("couldn't create installation directory %s : %s", octfiledir, output); endif endif [status, output] = movefile (fullfile (desc.dir, getarch (), "*"), octfiledir); - rm_rf (fullfile (desc.dir, getarch ())); + rmdir (fullfile (desc.dir, getarch ()), "s"); if (status != 1) - rm_rf (desc.dir); - rm_rf (octfiledir); + rmdir (desc.dir, "s"); + rmdir (octfiledir, "s"); error ("couldn't copy files to the installation directory"); endif endif @@ -98,8 +98,8 @@ packinfo = fullfile (desc.dir, "packinfo"); [status, msg] = mkdir (packinfo); if (status != 1) - rm_rf (desc.dir); - rm_rf (octfiledir); + rmdir (desc.dir, "s"); + rmdir (octfiledir, "s"); error ("couldn't create packinfo directory: %s", msg); endif @@ -119,8 +119,8 @@ write_index (desc, fullfile (packdir, "inst"), fullfile (packinfo, "INDEX"), global_install); catch - rm_rf (desc.dir); - rm_rf (octfiledir); + rmdir (desc.dir, "s"); + rmdir (octfiledir, "s"); rethrow (lasterror ()); end_try_catch endif diff --git a/scripts/pkg/private/finish_installation.m b/scripts/pkg/private/finish_installation.m --- a/scripts/pkg/private/finish_installation.m +++ b/scripts/pkg/private/finish_installation.m @@ -33,8 +33,8 @@ cd (wd); catch cd (wd); - rm_rf (desc.dir); - rm_rf (getarchdir (desc), global_install); + rmdir (desc.dir, "s"); + rmdir (getarchdir (desc), "s"); rethrow (lasterror ()); end_try_catch endif diff --git a/scripts/pkg/private/install.m b/scripts/pkg/private/install.m --- a/scripts/pkg/private/install.m +++ b/scripts/pkg/private/install.m @@ -144,7 +144,7 @@ catch ## Something went wrong, delete tmpdirs. for i = 1:length (tmpdirs) - rm_rf (tmpdirs{i}); + rmdir (tmpdirs{i}, "s"); endfor rethrow (lasterror ()); end_try_catch @@ -198,7 +198,7 @@ catch ## Something went wrong, delete tmpdirs. for i = 1:length (tmpdirs) - rm_rf (tmpdirs{i}); + rmdir (tmpdirs{i}, "s"); endfor rethrow (lasterror ()); end_try_catch @@ -217,7 +217,7 @@ catch ## Something went wrong, delete tmpdirs. for i = 1:length (tmpdirs) - rm_rf (tmpdirs{i}); + rmdir (tmpdirs{i}, "s"); endfor rethrow (lasterror ()); end_try_catch @@ -236,11 +236,11 @@ catch ## Something went wrong, delete tmpdirs. for i = 1:length (tmpdirs) - rm_rf (tmpdirs{i}); + rmdir (tmpdirs{i}, "s"); endfor for i = 1:length (descriptions) - rm_rf (descriptions{i}.dir); - rm_rf (getarchdir (descriptions{i})); + rmdir (descriptions{i}.dir, "s"); + rmdir (getarchdir (descriptions{i}), "s"); endfor rethrow (lasterror ()); end_try_catch @@ -251,8 +251,8 @@ if (dirempty (descriptions{i}.dir, {"packinfo", "doc"}) && dirempty (getarchdir (descriptions{i}))) warning ("package %s is empty\n", descriptions{i}.name); - rm_rf (descriptions{i}.dir); - rm_rf (getarchdir (descriptions{i})); + rmdir (descriptions{i}.dir, "s"); + rmdir (getarchdir (descriptions{i}), "s"); descriptions(i) = []; endif endfor @@ -296,10 +296,10 @@ catch ## Something went wrong, delete tmpdirs. for i = 1:length (tmpdirs) - rm_rf (tmpdirs{i}); + rmdir (tmpdirs{i}, "s"); endfor for i = 1:length (descriptions) - rm_rf (descriptions{i}.dir); + rmdir (descriptions{i}.dir, "s"); endfor if (global_install) printf ("error: couldn't append to %s\n", global_list); @@ -311,8 +311,8 @@ ## All is well, let's clean up. for i = 1:length (tmpdirs) - [status, msg] = rm_rf (tmpdirs{i}); - if (status != 1) + [status, msg] = rmdir (tmpdirs{i}, "s"); + if (status != 1 && exist (tmpdirs{i}, "dir")) warning ("couldn't clean up after my self: %s\n", msg); endif endfor diff --git a/scripts/pkg/private/packinfo_copy_file.m b/scripts/pkg/private/packinfo_copy_file.m --- a/scripts/pkg/private/packinfo_copy_file.m +++ b/scripts/pkg/private/packinfo_copy_file.m @@ -30,8 +30,8 @@ else [status, output] = copyfile (filepath, packinfo); if (status != 1) - rm_rf (desc.dir); - rm_rf (octfiledir); + rmdir (desc.dir, "s"); + rmdir (octfiledir, "s"); error ("Couldn't copy %s file: %s", filename, output); endif endif diff --git a/scripts/pkg/private/prepare_installation.m b/scripts/pkg/private/prepare_installation.m --- a/scripts/pkg/private/prepare_installation.m +++ b/scripts/pkg/private/prepare_installation.m @@ -41,7 +41,7 @@ if (! exist (inst_dir, "dir")) [status, msg] = mkdir (inst_dir); if (status != 1) - rm_rf (desc.dir); + rmdir (desc.dir, "s"); error ("the 'inst' directory did not exist and could not be created: %s", msg); endif diff --git a/scripts/pkg/private/repackage.m b/scripts/pkg/private/repackage.m --- a/scripts/pkg/private/repackage.m +++ b/scripts/pkg/private/repackage.m @@ -82,7 +82,7 @@ end_try_catch unwind_protect_cleanup if (exist (pack.name, "dir")) - rm_rf (pack.name); + rmdir (pack.name, "s"); endif cd (wd); end_unwind_protect diff --git a/scripts/pkg/private/rm_rf.m b/scripts/pkg/private/rm_rf.m deleted file mode 100644 --- a/scripts/pkg/private/rm_rf.m +++ /dev/null @@ -1,41 +0,0 @@ -## Copyright (C) 2005-2012 S�ren Hauberg -## Copyright (C) 2010 VZLU Prague, a.s. -## -## This file is part of Octave. -## -## Octave is free software; you can redistribute it and/or modify it -## under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3 of the License, or (at -## your option) any later version. -## -## Octave is distributed in the hope that it will be useful, but -## WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Octave; see the file COPYING. If not, see -## . - -## -*- texinfo -*- -## @deftypefn {Function File} {[@var{status_out}, @var{msg_out}] =}@ -## rm_rf (@var{dir}) -## Undocumented internal function. -## @end deftypefn - -function [status_out, msg_out] = rm_rf (dir) - if (exist (dir)) - crr = confirm_recursive_rmdir (false, "local"); - [status, msg] = rmdir (dir, "s"); - else - status = 1; - msg = ""; - endif - if (nargout > 0) - status_out = status; - endif - if (nargout > 1) - msg_out = msg; - endif -endfunction - diff --git a/scripts/pkg/private/uninstall.m b/scripts/pkg/private/uninstall.m --- a/scripts/pkg/private/uninstall.m +++ b/scripts/pkg/private/uninstall.m @@ -112,16 +112,16 @@ endif endif if (exist (desc.dir, "dir")) - [status, msg] = rm_rf (desc.dir); - if (status != 1) + [status, msg] = rmdir (desc.dir, "s"); + if (status != 1 && exist (desc.dir, "dir")) error ("couldn't delete directory %s: %s", desc.dir, msg); endif - [status, msg] = rm_rf (getarchdir (desc)); - if (status != 1) + [status, msg] = rmdir (getarchdir (desc), "s"); + if (status != 1 && exist (getarchdir (desc), "dir")) error ("couldn't delete directory %s: %s", getarchdir (desc), msg); endif if (dirempty (desc.archprefix)) - rm_rf (desc.archprefix); + rmdir (desc.archprefix, "s"); endif else warning ("directory %s previously lost", desc.dir);