Hi David,
I am planning to generate the preferences file with ./configure so that
the libdirs for GNU APL in the default preferences file (in
/etc/gnu-apl.d or
in /usr/local/etc/gnu-apl.d depending on the nature of the target system)
points to typically /usr/lib/apl or to /usr/local/lib/apl.
Somehow ./configure decides if eg /usr/lib or /usr/local/lib is used;
this can
be changed with prefix= in ./configure.
The bottom line is that the default values in the preferences file will
be (on a /usr/lib
kind of system):
/usr/lib/apl/wslib3 for library reference 3
/usr/lib/apl/wslib4 for library reference 4
/usr/lib/apl/wslib5 for library reference 5
library references 0, 1, and 2 will have no default values, even though
I was
thinking of defaulting library reference 0 to $HOME/workspaces (and
maybe 1 to
$GROUP/wslib1). This is to not override user libraries by the installation.
*make install is normally executed by root so**no file is safe and it is
important to keep files of the user separate from files installed by GNU
APL*.
In GNU APL itself there is a )LIBS command that shows the absolute paths
for the library references.
It your case the package manager should go to /usr/lib/apl/wslib3 if it
is completely ISO-compatible
or into /usr/lib/apl/wslib5 if it uses GNU APL features.
If your package only contains executable file (eg APL workspaces) and
has no need for compilation
then an autoconf file would be fairly straightforward and could take
care of the installation issues.
It would also make sure that the files of the package use the same
conventions (eg usr/lib vs. /usr/local/lib),
which is very important for different libraries to find each other.
/// Jürgen
On 06/04/2014 08:03 PM, David Lamkins wrote:
As noted elsewhere, I need to rethink installation of the package manager.
There are two main issues:
1. I shouldn't (try to) drop the package manager into the same
directory as workspaces [i.e. )lib 0]. The package manager should have
its own home directory.
2. I need to find a way to handle the case where workspace directories
are located relative to APL's working directory.
Based upon my understanding of the issues, I propose the following
solution. I'd like to get feedback on this before I commit the
solution to code.
I propose to locate the package manager and packages in their own
directory. This directory will be configurable at installation time
and easily reconfigurable later.
You'd still use a symlink to reference the package manager's boot
file; I can arrange that the installer lets you create multiple copies
of this link, if needed. (Alternatively, you could copy or move an
existing symlink using shell commands.)
I think that this change would address most concerns with running APL
in different working directories without having configured (in
~/.gnu-apl/preferences) an absolute path to your workspaces directory.
The downside, of course, is that you wouldn't be able to mix and match
packages from the repository and the working directory. I will
eventually address that concern with a proper search path, but not in
the first release.
--
"The secret to creativity is knowing how to hide your sources."
Albert Einstein
http://soundcloud.com/davidlamkins
http://reverbnation.com/lamkins
http://reverbnation.com/lcw
http://lamkins-guitar.com/
http://lamkins.net/
http://successful-lisp.com/