# HG changeset patch # User Carlo de Falco # Date 1390554855 -3600 # Fri Jan 24 10:14:15 2014 +0100 # Node ID 1e2f142077e7ab2dc672ec502a131f47a9d9d998 # Parent 9ca314e79956eaab1868336a0f52ac54b339a1a6 Move definifion of default package paths to separate function. * scripts/pkg/private/default_prefix.m: New function. * scripts/pkg/pkg.m: use new function default_prefix. * scripts/pkg/private/get_archprefix.m: use new function default_prefix. diff --git a/scripts/pkg/pkg.m b/scripts/pkg/pkg.m --- a/scripts/pkg/pkg.m +++ b/scripts/pkg/pkg.m @@ -280,14 +280,7 @@ global_install = ((ispc () && ! isunix ()) || (geteuid () == 0)); if (isbool (prefix)) - if (global_install) - prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); - archprefix = fullfile (octave_config_info ("libdir"), - "octave", "packages"); - else - prefix = fullfile ("~", "octave"); - archprefix = prefix; - endif + [prefix, archprefix] = default_prefix (global_install); prefix = tilde_expand (prefix); archprefix = tilde_expand (archprefix); endif @@ -326,15 +319,12 @@ case "-local" global_install = false; if (! user_prefix) - prefix = tilde_expand (fullfile ("~", "octave")); - archprefix = prefix; + [prefix, archprefix] = default_prefix (global_install); endif case "-global" global_install = true; if (! user_prefix) - prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); - archprefix = fullfile (octave_config_info ("libdir"), - "octave", "packages"); + [prefix, archprefix] = default_prefix (global_install); endif case available_actions if (strcmp (action, "none")) diff --git a/scripts/pkg/private/default_prefix.m b/scripts/pkg/private/default_prefix.m new file mode 100644 --- /dev/null +++ b/scripts/pkg/private/default_prefix.m @@ -0,0 +1,35 @@ +## Copyright (C) 2014 Carlo de Falco +## +## 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} address@hidden, @var{archprefix} =} @ +## default_prefix (@var{global_install}) +## Undocumented internal function. +## @end deftypefn + +function [prefix, archprefix] = default_prefix (global_install) + if (global_install) + prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); + archprefix = fullfile (octave_config_info ("libdir"), "octave", + "packages", [desc.name "-" desc.version]); + else + prefix = tilde_expand (fullfile ("~", "octave")); + archprefix = prefix; + endif +endfunction + diff --git a/scripts/pkg/private/getarchprefix.m b/scripts/pkg/private/getarchprefix.m --- a/scripts/pkg/private/getarchprefix.m +++ b/scripts/pkg/private/getarchprefix.m @@ -24,8 +24,7 @@ function archprefix = getarchprefix (desc, global_install) if (global_install) - archprefix = fullfile (octave_config_info ("libdir"), "octave", - "packages", [desc.name "-" desc.version]); + [~, archprefix] = default_prefix (global_install); else archprefix = desc.dir; endif