octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #57083] pkg list affected by mixup of 8.3 and


From: Philip Nienhuis
Subject: [Octave-bug-tracker] [bug #57083] pkg list affected by mixup of 8.3 and LFN path names
Date: Sat, 26 Oct 2019 09:31:59 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4

Follow-up Comment #14, bug #57083 (project octave):

@Markus,

__It sounds like you already identified all points in pkg that need
changing__

If only that were true ...

pkg.m and its functions are a beast. It's all every complicated and big and
the path names pop up in various places.
I tried to identify all places where a package directory is defined.
private/install.m is an obvious candidate but als for "pkg rebuild" in pkg.m
itself some fixes are due.

The underlying issue is that mxe-octave builds are configured with 8.3 style
path names for OCTAVE_HOME and various prefixes. The reason is avoiding
problems when Octave is installed in a path containing spaces in subdir
names.
OTOH, AFAICS pkg.m works fine with LFN path names.

My current idea is to do this:
1. grep for 'save (global_list' and 'save (local_list' in share
octave/packages/pkg/
2. before each occurrence, add in a call to a new private function
3. create that function which does nothing more than invoke
canonicalize_file_name on all path names in in each item of the package struct
and replace those path names.

That solution won't interfere with why the 8.3 style path names were
configured in the first place, and users can see "real" paths when typing "pkg
list". In addition fileseps won't need to be adapted before comparison at
various places in pkg.m and friends.

@Markus:
is_same_file could be a solution.
Does it also work for paths rather than files? (I guess so).

I'll first see if I can go along the lines sketched above. I agree with Rik
that we'd better use one type of file/path name and I interpret it as hiding
8.3 filenames for user functions.
An mxe crossbuild, needed to get is-same_file working, takes > 2 hours here so
is_same_file will have to wait a little anyway.

Later on we can decide what the best option would be.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57083>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]