bugGNU Octave - Bugs: bug #51684, Request for Windows Portable zip...


bug #51684: Request for Windows Portable zip version without absolute paths & system hooks

Submitter:  Nicholas Jankowski <nrjank>
Submitted:  Tue 08 Aug 2017 01:56:29 AM UTC
Category:  Configuration and Build System Severity:  1 - Wish
Priority:  3 - Low Item Group:  Feature Request
Status:  Postponed Assigned to:  None
Originator Name:  Nicholas Jankowski Open/Closed:  * Open
Release:  * other Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Jump to the original submission

Wed 21 Oct 2020 09:15:35 AM UTC, comment #6: 

See also bug #35392 (just closed)

Philip Nienhuis <philipnienhuis>
Group Member
Wed 21 Oct 2020 09:08:45 AM UTC, comment #5: 

Right you are.

A long time ago in a slightly different context I was once thinking that the place where Octave stores its setting should be user-configurable with just one global setting.

AFAICS for OF packages all of that is available now but not (yet?) in one place; installed global packages are relocatable and we have "pkg prefix" for (local) OF packages.
For history there's something similar.
I suppose such settings can all be put in a .octaverc file in a thumb drive. Not guaranteed fool-proof, but you can get a long way.
But Qt-settings etc. are more involved (hard-coded AFAIK).

What is needed is a list of what (other) settings locations need to change.

Maybe adapt the bug title report so that this is more clear?

Philip Nienhuis <philipnienhuis>
Group Member
Tue 20 Oct 2020 01:53:57 PM UTC, comment #4: 

looking at Mike's list in comment #1, he identified the bug #51632 issue as a subtask for this one.  a lot but not all of making a Portable version relates to the entire install, not just pkg, respecting OCTAVE_HOME. I think that is largely complete.  But a truly portable version would also not depend on the user profile, not leaving behind any config or settings files, etc. I.e., you should be to be able to have it sitting on a flash drive, and move it from one computer to another without any change to Octave.

I think that's a pretty substantial change to how the GUI stores settings, but I could be wrong.

Nicholas Jankowski <nrjank>
Group Member
Tue 20 Oct 2020 11:44:34 AM UTC, comment #3: 

This looks like a sort of duplicate of bug #51632; the latter got fixed in Feb 2020. AFAIK Octave installations on Windows are now relocatable, whether they came from an (executable) installer or a zip file.

OK to close this bug?

Philip Nienhuis <philipnienhuis>
Group Member
Tue 08 Aug 2017 08:59:44 PM UTC, comment #2: 

I dug up this old thread from almost 3 years ago:


It looks to me like there may have been a consensus to just eliminate the possibility of configuring the pkg global prefix, and always have it depend on OCTAVE_HOME, or possibly to use one of the other compiled-in paths that already change with OCTAVE_HOME like "localverfcnfiledir" and "localveroctfiledir". But no work was done and no bugs were filed to do anything about it.

AFAICT the main blocker to major improvements to the pkg system has been that a lot of work was done on a fork/rewrite/redesign some years ago, and it has not been merged back in. And now I feel that some (myself included) are wary about changing the pkg that we have because this other rewritten pkg exists out there.

Mike Miller <mtmiller>
Group Member
Tue 08 Aug 2017 08:43:46 PM UTC, comment #1: 

From a high-level view, in order to actually address this, it would help to itemize what the little things are that would make this work, and then address them in individual bug reports. For some there are already open bug reports, so please try to find those and add them as dependencies of this bug.

For example there are already open bug reports about making the user configuration depend on the USERPROFILE setting in Windows, and on the Freedesktop configuration setting on unixy systems. If startup scripts, config files, history, etc could be read from another directory based on well-known environment variables like USERPROFILE and XDG_CONFIG_HOME, that would take care of a small piece of this.

The Octave interpreter already has a facility to load startup commands from package global, site global, and user-specific locations. I suspect that Qt has a facility for loading its settings files this way also, so the GUI settings could live with the software rather than in the user's home/profile directory.

Another change might be to make the default global and local pkg paths depend on OCTAVE_HOME and USERPROFILE or XDG_DATA_HOME by default  if that's not already the case (e.g. I set up my environment to install packages in ~/.local/lib/octave and ~/.local/share/octave). The global pkg prefix and cache are the relevant ones for Windows users by default.

And then of course you want the contents of the pkg cache that contain OCTAVE_HOME in their path name to also use the value of OCTAVE_HOME, so when the whole thing moves to a different location you don't have to rebuild the cache.

And you probably want all of this to work when OCTAVE_HOME is a path name with spaces or non-ASCII characters in it.

Mike Miller <mtmiller>
Group Member
Tue 08 Aug 2017 01:56:29 AM UTC, original submission:  

This has come up a few times recently in discussion of the Windows zip installer [1,2] and whether it could be portable version. It is currently not for a few reasons: it makes changes to the logged in user's home folder and a number of components (at least the pkg system) use absolute folder paths that aren't tied to the OCTAVE_HOME path variable.

Creating this as a lower priority wish list place to discuss what changes would enable a portable version and possibly collect patches to do so.

[1] bug #51632

[2] http://octave.1599824.n4.nabble.com/Octave-for-Windows-OpenBLAS-and-Portable-Mode-tp4681854.html

Nicholas Jankowski <nrjank>
Group Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Carbon-Copy List
  • -email is unavailable- added by nrjank (Submitted the item)
  • -email is unavailable- added by nrjank
  • -email is unavailable- added by nrjank
  • -email is unavailable- added by nrjank

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.


    Follow 11 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-11-19 mtmiller Carbon-CopyRemoved 80942 -
    2018-03-30 mtmiller CategoryNone Configuration and Build System
        StatusNone Postponed
    2017-08-08 mtmiller Dependencies- Depends on bugs #36477
    2017-08-08 mtmiller Dependencies- Depends on bugs #40444
    2017-08-08 mtmiller Dependencies- Depends on bugs #51632
    2017-08-08 mtmiller Severity3 - Normal 1 - Wish
        Priority5 - Normal 3 - Low
    2017-08-08 nrjank Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added tpapastylianou

    Back to the top

    Powered by Savane 3.12.
    Corresponding source code