annotate scripts/pkg/pkg.m @ 26207:b964092ad9f8

pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151). * pkg.m: Delete code emitting an error if package names are supplied for "update" command. Add code to compare list of package names to list of installed packages and only update installed packages.
author Nicholas R. Jankowski <jankowskin@asme.org>
date Tue, 11 Dec 2018 17:08:10 -0800
parents 7a8f895c8f15
children 00f796120a6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25054
6652d3823428 maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 25030
diff changeset
1 ## Copyright (C) 2005-2018 Søren Hauberg
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
2 ## Copyright (C) 2010 VZLU Prague, a.s.
14466
cfb0173fe1ca maint: Refactor pkg.m and move subfunctions to private/ directory.
Carlo de Falco <kingcrimson@tiscali.it>
parents: 14446
diff changeset
3 ## Copyright (C) 2012 Carlo de Falco
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11547
diff changeset
4 ##
6440
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
5 ## This file is part of Octave.
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
6 ##
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
7 ## Octave is free software: you can redistribute it and/or modify it
6440
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
8 ## under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
9 ## the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22529
diff changeset
10 ## (at your option) any later version.
6440
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
11 ##
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
12 ## Octave is distributed in the hope that it will be useful, but
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
13 ## WITHOUT ANY WARRANTY; without even the implied warranty of
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22529
diff changeset
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22529
diff changeset
15 ## GNU General Public License for more details.
6440
98ee80702bca [project @ 2007-03-23 15:13:19 by jwe]
jwe
parents: 6378
diff changeset
16 ##
5801
70013c9f3ccc [project @ 2006-05-10 16:53:03 by jwe]
jwe
parents:
diff changeset
17 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6950
diff changeset
18 ## along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
19 ## <https://www.gnu.org/licenses/>.
5801
70013c9f3ccc [project @ 2006-05-10 16:53:03 by jwe]
jwe
parents:
diff changeset
20
70013c9f3ccc [project @ 2006-05-10 16:53:03 by jwe]
jwe
parents:
diff changeset
21 ## -*- texinfo -*-
20852
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20727
diff changeset
22 ## @deftypefn {} {} pkg @var{command} @var{pkg_name}
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20727
diff changeset
23 ## @deftypefnx {} {} pkg @var{command} @var{option} @var{pkg_name}
22529
640c1b476860 pkg.m: more clearly document package querying options (bug #49156)
Philip Nienhuis <prnienhuis@users.sf.net>
parents: 22323
diff changeset
24 ## @deftypefnx {} {[@var{out1}, @dots{}] =} pkg (@var{command}, @dots{} )
640c1b476860 pkg.m: more clearly document package querying options (bug #49156)
Philip Nienhuis <prnienhuis@users.sf.net>
parents: 22323
diff changeset
25 ## Manage or query packages (groups of add-on functions) for Octave.
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
26 ##
22529
640c1b476860 pkg.m: more clearly document package querying options (bug #49156)
Philip Nienhuis <prnienhuis@users.sf.net>
parents: 22323
diff changeset
27 ## Different actions are available depending on the value of @var{command}
640c1b476860 pkg.m: more clearly document package querying options (bug #49156)
Philip Nienhuis <prnienhuis@users.sf.net>
parents: 22323
diff changeset
28 ## and on return arguments.
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
29 ##
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
30 ## Available commands:
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
31 ##
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
32 ## @table @samp
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
33 ##
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
34 ## @item install
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
35 ## Install named packages. For example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
36 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
37 ## @example
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
38 ## pkg install image-1.0.0.tar.gz
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
39 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
40 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
41 ## @noindent
24934
1db0b81efafe maint: strip trailing whitespace from source files
Mike Miller <mtmiller@octave.org>
parents: 24877
diff changeset
42 ## installs the package found in the file @file{image-1.0.0.tar.gz}. The
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
43 ## file containing the package can be an url, e.g.
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
44 ##
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
45 ## @example
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
46 ## pkg install 'http://somewebsite.org/image-1.0.0.tar.gz'
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
47 ## @end example
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
48 ##
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
49 ## @noindent
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
50 ## installs the package found in the given url. This
24934
1db0b81efafe maint: strip trailing whitespace from source files
Mike Miller <mtmiller@octave.org>
parents: 24877
diff changeset
51 ## requires an internet connection and the cURL library.
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
52 ##
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
53 ## @noindent
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
54 ## @emph{Security risk}: no verification of the package is performed
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
55 ## before the installation. It has the same security issues as manually
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
56 ## downloading the package from the given url and installing it.
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
57 ##
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
58 ## @noindent
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
59 ## @emph{No support}: the GNU Octave community is not responsible for
24934
1db0b81efafe maint: strip trailing whitespace from source files
Mike Miller <mtmiller@octave.org>
parents: 24877
diff changeset
60 ## packages installed from foreign sites. For support or for
1db0b81efafe maint: strip trailing whitespace from source files
Mike Miller <mtmiller@octave.org>
parents: 24877
diff changeset
61 ## reporting bugs you need to contact the maintainers of the installed
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
62 ## package directly (see the @file{DESCRIPTION} file of the package)
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
63 ##
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
64 ## The @var{option} variable can contain options that affect the manner
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
65 ## in which a package is installed. These options can be one or more of
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
66 ##
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
67 ## @table @code
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
68 ## @item -nodeps
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
69 ## The package manager will disable dependency checking. With this option it
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
70 ## is possible to install a package even when it depends on another package
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
71 ## which is not installed on the system. @strong{Use this option with care.}
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
72 ##
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
73 ## @item -local
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 12931
diff changeset
74 ## A local installation (package available only to current user) is forced,
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
75 ## even if the user has system privileges.
6258
ea3a7e8469e9 [project @ 2007-01-30 20:17:19 by dbateman]
dbateman
parents: 6254
diff changeset
76 ##
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
77 ## @item -global
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
78 ## A global installation (package available to all users) is forced, even if
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
79 ## the user doesn't normally have system privileges.
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12561
diff changeset
80 ##
12561
0ade5992e374 Add documentation for '-forge' option (bug #32464).
Rik <octave@nomad.inbox5.com>
parents: 12167
diff changeset
81 ## @item -forge
25836
07cb3e098c0a Use "Octave Forge" spelling in all files.
Rik <rik@octave.org>
parents: 25539
diff changeset
82 ## Install a package directly from the Octave Forge repository. This
12561
0ade5992e374 Add documentation for '-forge' option (bug #32464).
Rik <octave@nomad.inbox5.com>
parents: 12167
diff changeset
83 ## requires an internet connection and the cURL library.
6614
3a53d0f3e0e4 [project @ 2007-05-12 05:50:03 by dbateman]
dbateman
parents: 6500
diff changeset
84 ##
20708
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
85 ## @emph{Security risk}: no verification of the package is performed
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
86 ## before the installation. There are no signature for packages, or
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
87 ## checksums to confirm the correct file was downloaded. It has the
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
88 ## same security issues as manually downloading the package from the
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
89 ## Octave Forge repository and installing it.
453fca9ae397 pkg: add warning about security implications when using -forge.
Carnë Draug <carandraug@octave.org>
parents: 20480
diff changeset
90 ##
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
91 ## @item -verbose
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
92 ## The package manager will print the output of all commands as
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
93 ## they are performed.
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
94 ## @end table
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
95 ##
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
96 ## @item update
25836
07cb3e098c0a Use "Octave Forge" spelling in all files.
Rik <rik@octave.org>
parents: 25539
diff changeset
97 ## Check installed Octave Forge packages against repository and update any
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
98 ## outdated items. This requires an internet connection and the cURL library.
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
99 ## Usage:
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
100 ##
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
101 ## @example
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
102 ## pkg update
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
103 ## @end example
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
104 ##
24966
70490bb1f59d pkg.m: remove update of single package and update docstring
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24965
diff changeset
105 ## @noindent
70490bb1f59d pkg.m: remove update of single package and update docstring
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24965
diff changeset
106 ## To update a single package use @code{pkg install -forge}
70490bb1f59d pkg.m: remove update of single package and update docstring
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24965
diff changeset
107 ##
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
108 ## @item uninstall
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
109 ## Uninstall named packages. For example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
110 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
111 ## @example
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
112 ## pkg uninstall image
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
113 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
114 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
115 ## @noindent
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
116 ## removes the @code{image} package from the system. If another installed
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
117 ## package depends on the @code{image} package an error will be issued.
10793
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10685
diff changeset
118 ## The package can be uninstalled anyway by using the @option{-nodeps} option.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
119 ##
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
120 ## @item load
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
121 ## Add named packages to the path. After loading a package it is
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
122 ## possible to use the functions provided by the package. For example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
123 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
124 ## @example
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
125 ## pkg load image
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
126 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
127 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
128 ## @noindent
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
129 ## adds the @code{image} package to the path.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
130 ##
6203
512d72ee321f [project @ 2006-12-06 18:00:13 by jwe]
jwe
parents: 6189
diff changeset
131 ## @item unload
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
132 ## Remove named packages from the path. After unloading a package it is
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
133 ## no longer possible to use the functions provided by the package.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
134 ##
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
135 ## @item list
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
136 ## Show the list of currently installed packages. For example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
137 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
138 ## @example
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
139 ## pkg list
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
140 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
141 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
142 ## @noindent
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
143 ## will produce a short report with the package name, version, and installation
19597
db92e7e28e1f strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 19596
diff changeset
144 ## directory for each installed package. Supply a package name to limit
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
145 ## reporting to a particular package. For example:
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
146 ##
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
147 ## @example
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
148 ## pkg list image
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
149 ## @end example
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
150 ##
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
151 ## If a single return argument is requested then @code{pkg} returns a cell
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
152 ## array where each element is a structure with information on a single
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
153 ## package.
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
154 ##
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
155 ## @example
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
156 ## installed_packages = pkg ("list")
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
157 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
158 ##
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
159 ## If two output arguments are requested @code{pkg} splits the list of
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
160 ## installed packages into those which were installed by the current user,
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
161 ## and those which were installed by the system administrator.
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 12931
diff changeset
162 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
163 ## @example
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
164 ## [user_packages, system_packages] = pkg ("list")
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
165 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
166 ##
25836
07cb3e098c0a Use "Octave Forge" spelling in all files.
Rik <rik@octave.org>
parents: 25539
diff changeset
167 ## The @qcode{"-forge"} option lists packages available at the Octave Forge
19593
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
168 ## repository. This requires an internet connection and the cURL library.
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17243
diff changeset
169 ## For example:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
170 ##
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
171 ## @example
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
172 ## oct_forge_pkgs = pkg ("list", "-forge")
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
173 ## @end example
12561
0ade5992e374 Add documentation for '-forge' option (bug #32464).
Rik <octave@nomad.inbox5.com>
parents: 12167
diff changeset
174 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
175 ## @item describe
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
176 ## Show a short description of installed packages. With the option
21546
f7f97d7e9294 doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents: 21518
diff changeset
177 ## @qcode{"-verbose"} also list functions provided by the package. For
f7f97d7e9294 doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents: 21518
diff changeset
178 ## example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
179 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
180 ## @example
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
181 ## pkg describe -verbose
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
182 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
183 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
184 ## @noindent
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
185 ## will describe all installed packages and the functions they provide.
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
186 ## Display can be limited to a set of packages:
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
187 ##
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
188 ## @example
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
189 ## pkg describe control signal # describe control and signal packages
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
190 ## @end example
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
191 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
192 ## If one output is requested a cell of structure containing the
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
193 ## description and list of functions of each package is returned as
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
194 ## output rather than printed on screen:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
195 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
196 ## @example
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
197 ## desc = pkg ("describe", "secs1d", "image")
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
198 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
199 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
200 ## @noindent
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
201 ## If any of the requested packages is not installed, @code{pkg} returns an
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
202 ## error, unless a second output is requested:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
203 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
204 ## @example
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
205 ## [desc, flag] = pkg ("describe", "secs1d", "image")
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
206 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
207 ##
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
208 ## @noindent
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17243
diff changeset
209 ## @var{flag} will take one of the values @qcode{"Not installed"},
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17243
diff changeset
210 ## @qcode{"Loaded"}, or
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17243
diff changeset
211 ## @qcode{"Not loaded"} for each of the named packages.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
212 ##
6034
5cbbf96b52da [project @ 2006-10-04 18:45:43 by jwe]
jwe
parents: 6033
diff changeset
213 ## @item prefix
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
214 ## Set the installation prefix directory. For example,
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
215 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
216 ## @example
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
217 ## pkg prefix ~/my_octave_packages
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
218 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
219 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
220 ## @noindent
9307
c2923c27c877 Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents: 9258
diff changeset
221 ## sets the installation prefix to @file{~/my_octave_packages}.
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
222 ## Packages will be installed in this directory.
6034
5cbbf96b52da [project @ 2006-10-04 18:45:43 by jwe]
jwe
parents: 6033
diff changeset
223 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
224 ## It is possible to get the current installation prefix by requesting an
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
225 ## output argument. For example:
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
226 ##
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
227 ## @example
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
228 ## pfx = pkg ("prefix")
6070
df821c22355c [project @ 2006-10-23 19:01:04 by jwe]
jwe
parents: 6055
diff changeset
229 ## @end example
6925
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
230 ##
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
231 ## The location in which to install the architecture dependent files can be
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
232 ## independently specified with an addition argument. For example:
6925
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
233 ##
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
234 ## @example
9153
5247e89688e1 Eliminate most overfull errors when running texi2pdf for generating pdf documentation
Rik <rdrider0-list@yahoo.com>
parents: 9079
diff changeset
235 ## pkg prefix ~/my_octave_packages ~/my_arch_dep_pkgs
6925
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
236 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
237 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
238 ## @item local_list
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
239 ## Set the file in which to look for information on locally
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
240 ## installed packages. Locally installed packages are those that are
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
241 ## available only to the current user. For example:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
242 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
243 ## @example
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
244 ## pkg local_list ~/.octave_packages
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
245 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
246 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
247 ## It is possible to get the current value of local_list with the following
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
248 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
249 ## @example
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
250 ## pkg local_list
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
251 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
252 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
253 ## @item global_list
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
254 ## Set the file in which to look for information on globally
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
255 ## installed packages. Globally installed packages are those that are
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
256 ## available to all users. For example:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
257 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
258 ## @example
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
259 ## pkg global_list /usr/share/octave/octave_packages
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
260 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
261 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
262 ## It is possible to get the current value of global_list with the following
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
263 ##
6189
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
264 ## @example
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
265 ## pkg global_list
0d23b0c0ce1a [project @ 2006-11-29 21:01:05 by dbateman]
dbateman
parents: 6143
diff changeset
266 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
267 ##
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
268 ## @item build
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
269 ## Build a binary form of a package or packages. The binary file produced
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
270 ## will itself be an Octave package that can be installed normally with
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 8942
diff changeset
271 ## @code{pkg}. The form of the command to build a binary package is
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
272 ##
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
273 ## @example
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
274 ## pkg build builddir image-1.0.0.tar.gz @dots{}
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
275 ## @end example
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
276 ##
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
277 ## @noindent
9079
4d610aba7347 Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents: 9051
diff changeset
278 ## where @code{builddir} is the name of a directory where the temporary
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
279 ## installation will be produced and the binary packages will be found.
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11547
diff changeset
280 ## The options @option{-verbose} and @option{-nodeps} are respected, while
12779
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
281 ## all other options are ignored.
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
282 ##
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
283 ## @item rebuild
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
284 ## Rebuild the package database from the installed directories. This can
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
285 ## be used in cases where the package database has been corrupted.
095fd5c8b7e1 doc: Update docstring for pkg()
Rik <octave@nomad.inbox5.com>
parents: 12778
diff changeset
286 ##
6032
dcecca0396e6 [project @ 2006-10-04 17:35:15 by jwe]
jwe
parents: 6025
diff changeset
287 ## @end table
19192
8a8a7bc2a09d Improve docstrings and mark documentation m-files as tested in miscellaneous/ dir.
Rik <rik@octave.org>
parents: 19187
diff changeset
288 ## @seealso{ver, news}
11547
e1851653d59c Eliminate @deffn macros.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
289 ## @end deftypefn
5947
009fa69b6182 [project @ 2006-08-21 16:15:20 by jwe]
jwe
parents: 5928
diff changeset
290
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
291 function [local_packages, global_packages] = pkg (varargin)
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
292
8202
cf59d542f33e replace all TODOs and XXXs with FIXMEs
Jaroslav Hajek <highegg@gmail.com>
parents: 8174
diff changeset
293 ## Installation prefix (FIXME: what should these be on windows?)
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
294 persistent user_prefix = false;
16304
c8e1b0213e34 pkg.m: Fix str-to-num warnings (bug #37785)
Rik <rik@octave.org>
parents: 16173
diff changeset
295 persistent prefix = false;
6925
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
296 persistent archprefix = -1;
7498
a939fb03a137 pkg.m style fixes
John W. Eaton <jwe@octave.org>
parents: 7497
diff changeset
297 persistent local_list = tilde_expand (fullfile ("~", ".octave_packages"));
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
298 persistent global_list = fullfile (OCTAVE_HOME (), "share", "octave",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
299 "octave_packages");
14471
d2c095e45196 maint: Remove redundant private function from the package manager.
Carlo de Falco <kingcrimson@tiscali.it>
parents: 14466
diff changeset
300
14472
045a5b85495d maint: Remove redundant private function from the package manager.
Carlo de Falco <kingcrimson@tiscali.it>
parents: 14471
diff changeset
301 ## If user is superuser set global_istall to true
045a5b85495d maint: Remove redundant private function from the package manager.
Carlo de Falco <kingcrimson@tiscali.it>
parents: 14471
diff changeset
302 ## FIXME: is it OK to set this always true on windows?
045a5b85495d maint: Remove redundant private function from the package manager.
Carlo de Falco <kingcrimson@tiscali.it>
parents: 14471
diff changeset
303 global_install = ((ispc () && ! isunix ()) || (geteuid () == 0));
6683
a2f697dca2a4 [project @ 2007-06-01 23:10:24 by dbateman]
dbateman
parents: 6675
diff changeset
304
16304
c8e1b0213e34 pkg.m: Fix str-to-num warnings (bug #37785)
Rik <rik@octave.org>
parents: 16173
diff changeset
305 if (isbool (prefix))
18448
b26d6be1767a Move definifion of default package paths to separate function.
Carlo de Falco <cdf@users.sourceforge.net>
parents: 17744
diff changeset
306 [prefix, archprefix] = default_prefix (global_install);
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
307 prefix = tilde_expand (prefix);
6925
1401a79af68c [project @ 2007-09-26 18:58:52 by dbateman]
dbateman
parents: 6820
diff changeset
308 archprefix = tilde_expand (archprefix);
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
309 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
310
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
311 mlock ();
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
312
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
313 confirm_recursive_rmdir (false, "local");
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
314
24965
0974a3649c81 pkg.m: alphabetic order of available_actions
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24934
diff changeset
315 # valid actions in alphabetical order
0974a3649c81 pkg.m: alphabetic order of available_actions
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24934
diff changeset
316 available_actions = {"build", "describe", "global_list", "install", ...
0974a3649c81 pkg.m: alphabetic order of available_actions
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24934
diff changeset
317 "list", "load", "local_list", "prefix", "rebuild", ...
0974a3649c81 pkg.m: alphabetic order of available_actions
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24934
diff changeset
318 "uninstall", "unload", "update"};
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
319
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
320 ## Parse input arguments
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
321 if (isempty (varargin) || ! iscellstr (varargin))
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
322 print_usage ();
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
323 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
324 files = {};
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
325 deps = true;
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
326 action = "none";
6614
3a53d0f3e0e4 [project @ 2007-05-12 05:50:03 by dbateman]
dbateman
parents: 6500
diff changeset
327 verbose = false;
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
328 octave_forge = false;
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
329 for i = 1:numel (varargin)
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
330 switch (varargin{i})
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
331 case "-nodeps"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
332 deps = false;
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
333 ## TODO completely remove these warnings after some releases.
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
334 case "-noauto"
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
335 warning ("Octave:deprecated-option",
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
336 ["pkg: autoload is no longer supported. The -noauto "...
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
337 "option is no longer required."]);
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
338 case "-auto"
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
339 warning ("Octave:deprecated-option",
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
340 ["pkg: autoload is no longer supported. Add a "...
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
341 "'pkg load ...' command to octaverc instead."]);
6614
3a53d0f3e0e4 [project @ 2007-05-12 05:50:03 by dbateman]
dbateman
parents: 6500
diff changeset
342 case "-verbose"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
343 verbose = true;
13275
635db52feab4 pkg.m: Display verbose output immediately rather than buffering it.
Rik <octave@nomad.inbox5.com>
parents: 13141
diff changeset
344 ## Send verbose output to pager immediately. Change setting locally.
635db52feab4 pkg.m: Display verbose output immediately rather than buffering it.
Rik <octave@nomad.inbox5.com>
parents: 13141
diff changeset
345 page_output_immediately (true, "local");
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
346 case "-forge"
21434
1da428cbf401 deprecate octave_config_info
John W. Eaton <jwe@octave.org>
parents: 20852
diff changeset
347 if (! __octave_config_info__ ("CURL_LIBS"))
25841
0d4b88086f36 doc: use "Octave Forge" spelling in a few more instances
Mike Miller <mtmiller@octave.org>
parents: 25836
diff changeset
348 error ("pkg: can't download from Octave Forge without the cURL library");
15184
0b29c16a2645 pkg: check cURL library when using -forge
Carnë Draug <carandraug+dev@gmail.com>
parents: 15058
diff changeset
349 endif
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
350 octave_forge = true;
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
351 case "-local"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
352 global_install = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
353 if (! user_prefix)
18448
b26d6be1767a Move definifion of default package paths to separate function.
Carlo de Falco <cdf@users.sourceforge.net>
parents: 17744
diff changeset
354 [prefix, archprefix] = default_prefix (global_install);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
355 endif
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
356 case "-global"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
357 global_install = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
358 if (! user_prefix)
18448
b26d6be1767a Move definifion of default package paths to separate function.
Carlo de Falco <cdf@users.sourceforge.net>
parents: 17744
diff changeset
359 [prefix, archprefix] = default_prefix (global_install);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
360 endif
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
361 case available_actions
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
362 if (! strcmp (action, "none"))
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
363 error ("pkg: more than one action specified");
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
364 endif
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
365 action = varargin{i};
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
366 otherwise
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
367 files{end+1} = varargin{i};
5801
70013c9f3ccc [project @ 2006-05-10 16:53:03 by jwe]
jwe
parents:
diff changeset
368 endswitch
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
369 endfor
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
370
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
371 if (octave_forge && ! any (strcmp (action, {"install", "list"})))
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
372 error ("pkg: '-forge' can only be used with install or list");
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
373 endif
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
374
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
375 ## Take action
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
376 switch (action)
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
377 case "list"
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
378 if (octave_forge)
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
379 if (nargout)
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
380 local_packages = list_forge_packages ();
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
381 else
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
382 list_forge_packages ();
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
383 endif
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
384 else
20480
ad7fe3cb6fd2 pkg: fix regression on output of pkg list (bug #45873)
Carnë Draug <carandraug@octave.org>
parents: 20475
diff changeset
385 if (nargout == 1)
ad7fe3cb6fd2 pkg: fix regression on output of pkg list (bug #45873)
Carnë Draug <carandraug@octave.org>
parents: 20475
diff changeset
386 local_packages = installed_packages (local_list, global_list, files);
ad7fe3cb6fd2 pkg: fix regression on output of pkg list (bug #45873)
Carnë Draug <carandraug@octave.org>
parents: 20475
diff changeset
387 elseif (nargout > 1)
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
388 [local_packages, global_packages] = installed_packages (local_list,
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
389 global_list,
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
390 files);
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
391 else
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
392 installed_packages (local_list, global_list, files);
10685
81a43049dee2 support pkg list -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10684
diff changeset
393 endif
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
394 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
395
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
396 case "install"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
397 if (isempty (files))
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
398 error ("pkg: install action requires at least one filename");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
399 endif
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
400
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
401 local_files = {};
25140
ad6dce96cbca pkg.m: fix undefined variable error in install (bug #53567)
Mike Miller <mtmiller@octave.org>
parents: 25131
diff changeset
402 tmp_dir = tempname ();
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
403 unwind_protect
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
404
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
405 if (octave_forge)
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
406 [urls, local_files] = cellfun ("get_forge_download", files,
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
407 "uniformoutput", false);
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
408 [files, succ] = cellfun ("urlwrite", urls, local_files,
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
409 "uniformoutput", false);
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
410 succ = [succ{:}];
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
411 if (! all (succ))
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
412 i = find (! succ, 1);
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
413 error ("pkg: could not download file %s from url %s",
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
414 local_files{i}, urls{i});
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
415 endif
24871
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
416 else
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
417 ## If files do not exist, maybe they are not local files.
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
418 ## Try to download them.
25539
60e89abe0e61 pkg.m: Restore ability to use file glob patterns when specifying local pkg files (bug #54224).
Rik <rik@octave.org>
parents: 25306
diff changeset
419 external_files_mask = cellfun (@(x) isempty (glob (x)), files);
24871
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
420 if (any (external_files_mask))
25140
ad6dce96cbca pkg.m: fix undefined variable error in install (bug #53567)
Mike Miller <mtmiller@octave.org>
parents: 25131
diff changeset
421 [success, msg] = mkdir (tmp_dir);
24871
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
422 if (success != 1)
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
423 error ("pkg: failed to create temporary directory: %s", msg);
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
424 endif
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
425
24871
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
426 for file_idx = find (external_files_mask)
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
427
25030
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
428 [~, fname, fext] = fileparts (files{file_idx});
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
429 local_files{end+1} = fullfile (tmp_dir, [fname fext]);
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
430 [~, success, msg] = urlwrite (files{file_idx}, local_files{end});
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
431 if (success != 1)
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
432 error ("pkg: failed to read package '%s': %s",
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
433 files{file_idx}, msg);
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
434 endif
62186547b752 pkg.m: remove yes-no question when installing from URI.
Carnë Draug <carandraug@octave.org>
parents: 24934
diff changeset
435 files{file_idx} = local_files{end};
24872
a26f8c97df21 warning and yes_or_no for installing using url
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 24871
diff changeset
436
24871
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
437 endfor
ca43264971ea pkg: allow URI for external files (https/ftp/etc links) as install targets
Carnë Draug <carandraug@octave.org>
parents: 24534
diff changeset
438 endif
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
439 endif
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
440 install (files, deps, prefix, archprefix, verbose, local_list,
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
441 global_list, global_install);
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
442
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
443 unwind_protect_cleanup
25306
a6419af90031 pkg: restore deletion of package archive downloaded from Octave Forge
Mike Miller <mtmiller@octave.org>
parents: 25140
diff changeset
444 cellfun ("unlink", local_files);
25131
0cd7076a97c8 pkg.m: Don't leave behind temporary directories if error occurs during install (bug #53567).
Rik <rik@octave.org>
parents: 25054
diff changeset
445 if (exist (tmp_dir, "file"))
0cd7076a97c8 pkg.m: Don't leave behind temporary directories if error occurs during install (bug #53567).
Rik <rik@octave.org>
parents: 25054
diff changeset
446 rmdir (tmp_dir, "s");
0cd7076a97c8 pkg.m: Don't leave behind temporary directories if error occurs during install (bug #53567).
Rik <rik@octave.org>
parents: 25054
diff changeset
447 endif
10684
76aba4305f1f support pkg install -forge
Jaroslav Hajek <highegg@gmail.com>
parents: 10549
diff changeset
448 end_unwind_protect
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
449
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
450 case "uninstall"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
451 if (isempty (files))
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
452 error ("pkg: uninstall action requires at least one package name");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
453 endif
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
454 uninstall (files, deps, verbose, local_list, global_list, global_install);
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
455
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
456 case "load"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
457 if (isempty (files))
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
458 error ("pkg: load action requires at least one package name");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
459 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
460 load_packages (files, deps, local_list, global_list);
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
461
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
462 case "unload"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
463 if (isempty (files))
21954
6da01de4dd8a pkg: drop special usage of 'all' in load, unload, and describe (bug #40674)
Carnë Draug <carandraug@octave.org>
parents: 21634
diff changeset
464 error ("pkg: unload action requires at least one package name");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
465 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
466 unload_packages (files, deps, local_list, global_list);
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
467
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
468 case "prefix"
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
469 if (isempty (files) && ! nargout)
21634
96518f623c91 Backed out changeset dcf8922b724b
Mike Miller <mtmiller@octave.org>
parents: 21633
diff changeset
470 printf ("Installation prefix: %s\n", prefix);
96518f623c91 Backed out changeset dcf8922b724b
Mike Miller <mtmiller@octave.org>
parents: 21633
diff changeset
471 printf ("Architecture dependent prefix: %s\n", archprefix);
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
472 elseif (isempty (files) && nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
473 local_packages = prefix;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
474 global_packages = archprefix;
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
475 elseif (numel (files) >= 1 && ischar (files{1}))
16173
40a9a4e0d12a pkg.m: Restore ability to use '~' in specifying prefix directories.
Rik <rik@octave.org>
parents: 15966
diff changeset
476 prefix = tilde_expand (files{1});
26100
7a8f895c8f15 pkg.m: Don't create 'prefix' directory until needed (bug #53577).
Rik <rik@octave.org>
parents: 25842
diff changeset
477 local_packages = prefix = make_absolute_filename (prefix);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
478 user_prefix = true;
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
479 if (numel (files) >= 2 && ischar (files{2}))
26100
7a8f895c8f15 pkg.m: Don't create 'prefix' directory until needed (bug #53577).
Rik <rik@octave.org>
parents: 25842
diff changeset
480 archprefix = make_absolute_filename (tilde_expand (files{2}));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
481 endif
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
482 else
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
483 error ("pkg: prefix action requires a directory input, or an output argument");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
484 endif
19593
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
485
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
486 case "local_list"
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
487 if (isempty (files) && ! nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
488 disp (local_list);
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
489 elseif (isempty (files) && nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
490 local_packages = local_list;
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
491 elseif (numel (files) == 1 && ! nargout && ischar (files{1}))
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
492 local_list = files{1};
19593
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
493 if (! exist (local_list, "file"))
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
494 try
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
495 ## Force file to be created
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
496 fclose (fopen (local_list, "wt"));
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
497 catch
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
498 error ("pkg: cannot create file %s", local_list);
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
499 end_try_catch
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
500 endif
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
501 local_list = canonicalize_file_name (local_list);
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
502 else
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
503 error ("pkg: specify a local_list file, or request an output argument");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
504 endif
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
505
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
506 case "global_list"
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
507 if (isempty (files) && ! nargout)
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
508 disp (global_list);
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
509 elseif (isempty (files) && nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
510 local_packages = global_list;
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
511 elseif (numel (files) == 1 && ! nargout && ischar (files{1}))
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
512 global_list = files{1};
19593
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
513 if (! exist (global_list, "file"))
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
514 try
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
515 ## Force file to be created
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
516 fclose (fopen (files{1}, "wt"));
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
517 catch
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
518 error ("pkg: cannot create file %s", global_list);
15000
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
519 end_try_catch
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
520 endif
4c8ddf57fcda remove redundant private function absolute_pathname
Carlo de Falco <cdf@users.sourceforge.net>
parents: 14860
diff changeset
521 global_list = canonicalize_file_name (global_list);
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
522 else
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
523 error ("pkg: specify a global_list file, or request an output argument");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
524 endif
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
525
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
526 case "rebuild"
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
527 if (global_install)
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11547
diff changeset
528 global_packages = rebuild (prefix, archprefix, global_list, files,
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
529 verbose);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
530 global_packages = save_order (global_packages);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
531 save (global_list, "global_packages");
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
532 if (nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
533 local_packages = global_packages;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
534 endif
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
535 else
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
536 local_packages = rebuild (prefix, archprefix, local_list, files,
21624
cf227735d5fd pkg: remove support for autoload (automatically loading package at start).
Carnë Draug <carandraug@octave.org>
parents: 21546
diff changeset
537 verbose);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
538 local_packages = save_order (local_packages);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
539 save (local_list, "local_packages");
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
540 if (! nargout)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
541 clear ("local_packages");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10401
diff changeset
542 endif
6645
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
543 endif
81eb28d50cee [project @ 2007-05-21 21:05:54 by dbateman]
dbateman
parents: 6634
diff changeset
544
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
545 case "build"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
546 if (numel (files) < 2)
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
547 error ("pkg: build action requires build directory and at least one filename");
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
548 endif
21518
2ee20a290d61 pkg build: complete rewrite of the logic behind binary packages.
Carnë Draug <carandraug@octave.org>
parents: 21434
diff changeset
549 build (files{1}, files(2:end), verbose);
6675
f938c7018d28 [project @ 2007-05-31 19:31:14 by dbateman]
dbateman
parents: 6663
diff changeset
550
7497
bb7cc90cdc5e added describe command to pkg
carlo@guglielmo.local
parents: 7329
diff changeset
551 case "describe"
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
552 ## FIXME: name of the output variables is inconsistent with their content
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
553 if (nargout)
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
554 [local_packages, global_packages] = describe (files, verbose,
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
555 local_list, global_list);
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
556 else
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
557 describe (files, verbose, local_list, global_list);
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
558 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11547
diff changeset
559
12778
0ca5672d5f1a Implement pkg update command
Lukas Reichlin <lukas.reichlin@gmail.com>
parents: 12710
diff changeset
560 case "update"
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
561 installed_pkgs_lst = installed_packages (local_list, global_list);
25031
f2f813a55eec pkg: remove update of listed packages (actually do 70490bb1f59d)
Carnë Draug <carandraug@octave.org>
parents: 24966
diff changeset
562
26207
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
563 ## Explicit list of packages to update, rather than all packages
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
564 if (numel (files) > 0)
26207
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
565 update_lst = {};
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
566 installed_names = cellfun (@(idx) idx.name, installed_pkgs_lst,
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
567 "UniformOutput", false);
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
568 for i = 1:numel (files)
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
569 idx = find (strcmp (files{i}, installed_names), 1);
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
570 if (isempty (idx))
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
571 warning ("pkg: package %s is not installed - skipping update",
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
572 files{i});
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
573 else
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
574 update_lst = [ update_lst, installed_pkgs_lst(idx) ];
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
575 endif
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
576 endfor
b964092ad9f8 pkg.m: Allow updating a list of supplied packages, instead of all (bug #48151).
Nicholas R. Jankowski <jankowskin@asme.org>
parents: 26100
diff changeset
577 installed_pkgs_lst = update_lst;
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
578 endif
25031
f2f813a55eec pkg: remove update of listed packages (actually do 70490bb1f59d)
Carnë Draug <carandraug@octave.org>
parents: 24966
diff changeset
579
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
580 for i = 1:numel (installed_pkgs_lst)
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
581 installed_pkg_name = installed_pkgs_lst{i}.name;
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
582 installed_pkg_version = installed_pkgs_lst{i}.version;
21998
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
583 try
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
584 forge_pkg_version = get_forge_pkg (installed_pkg_name);
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
585 catch
25841
0d4b88086f36 doc: use "Octave Forge" spelling in a few more instances
Mike Miller <mtmiller@octave.org>
parents: 25836
diff changeset
586 warning ("pkg: package %s not found on Octave Forge - skipping update\n",
21998
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
587 installed_pkg_name);
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
588 forge_pkg_version = "0";
cf5db742f552 pkg: warn and continue updating on non-forge packages (bug #48294)
Mike Miller <mtmiller@octave.org>
parents: 21954
diff changeset
589 end_try_catch
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
590 if (compare_versions (forge_pkg_version, installed_pkg_version, ">"))
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
591 feval (@pkg, "install", "-forge", installed_pkg_name);
18556
4daf647c86c3 Implement pkg update pkgnametoupdate (Bug #41732)
John Donoghue <john.donoghue@ieee.org>
parents: 17744
diff changeset
592 endif
20475
7fa1970a655d pkg.m: drop check of nargout value, the interpreter already does that.
Carnë Draug <carandraug@octave.org>
parents: 19833
diff changeset
593 endfor
12778
0ca5672d5f1a Implement pkg update command
Lukas Reichlin <lukas.reichlin@gmail.com>
parents: 12710
diff changeset
594
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
595 otherwise
20726
25d676f9619c Preface error() messages with name of function when possible.
Rik <rik@octave.org>
parents: 20708
diff changeset
596 error ("pkg: invalid action. See 'help pkg' for available actions");
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
597 endswitch
19187
b54093acb8fe ver.m: Overhaul function.
Rik <rik@octave.org>
parents: 18576
diff changeset
598
6496
e0acfe7c3f7b [project @ 2007-04-05 17:19:30 by jwe]
jwe
parents: 6440
diff changeset
599 endfunction