bug-apl
[Top][All Lists]
Advanced

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

[Bug-apl] Comments on package manager


From: Juergen Sauermann
Subject: [Bug-apl] Comments on package manager
Date: Mon, 02 Jun 2014 12:53:51 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5

Hi David,

I have a few small comments after reading the documents of your package manager.

1. Distribution format.

I believe it is OK to download the package manager with git or svn as long
as it is under development.  But the normal distribution format should be something
more common such as a package.tar.gz file. System administrators will appreciate that.

2. Metadata file

Do you think it would be possible to have the meta data in the (or the main) APL file instead
of a separate file? Having a separate metadata file does not hurt if you use git, svn, or tar files.
However, I could very well envision other use cases (emails, cut-and-past from documents or
web pages) in particular for small (single file) libraries. In these cases a single file is much
easier to use.

Both file formats used by GNU APL (.xml and .apl) could easily support this (APL ⍝ comments in .apl files or
xml comments or an extra xml tag). Another option would be one or more APL functions returning the metadata.

This would also make it easier to access the metadata from APL.

3. Installation directory

I believe that installing libraries in $HOME/workspaces is not a good idea. If you have a
system administrator then she will most likely no appreciate the idea of installing files in some
user's home directory (and certainly not in her own one). So if the package manager becomes
famous then it rather wants to be installed in some /usr/lib/xxx directory than in $HOME/xxx.

There are a number of existing conventions for installation directories (File System Hierarchy
Standard and autoconf packages) that should be considered in this context).
In particular we should separate user-related directories ($HOME and $GROUP) from machine
directories (usr/lib etc.) so that a package installation only uodates the latter and not the former
(which may contain changes made by the user).

My current thinking is this:

We have 10 library reference numbers 0-9 that could be divided like this by default:

0 $HOME/workspaces
1: $GROUP/wslib1
2. $ALL/wslib2              #$ALL does not exist really - just to explain the concept
3: /usr/lib/apl/wslib3      # fully portable libraries
4: /usr/lib/apl/wslib4      # basically portable libraries
5: /usr/lib/apl/wslib5      # GNU APL specific libraries
6...9: TBD (eg. examples, tutorials, testcases, etc)

In this scheme, packages and GNU APL itself would install libraries in locations 3, 4, and 5.
I am planning to generate the GNU APL preferences file by ./configure so that libraries
that are shipped with GNU APL will be installed in /usr/lib/apl or /usr/local/lib/apl (or $PREFIX/lib/apl)
as determined by ./configure and make the default preferences file use these directories.

/// Jürgen


reply via email to

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