Dear all,
First of all, I've updated the proposal document in the CVS repository.
It now talks about layouts, and is more or less in sync with the code.
I still need to document David's extensions and a few other small
things, though. If you have comments, they are welcome as always.
Apart from that, I have a question regarding how permissions should be
handled in the installation library.
For now, the situation is as follows: all installation procedures take
an optional argument, which specifies the permissions to use for the
installed files/directories and for all directories created in the
process.
This behaviour has, I think, several drawbacks:
1. the same permissions are used for copied files *and* created
directories, and it is hard to find a set of permissions which are good
for both: typically one wants rw-r--r-- for files and rwxr-xr-x for
directories,
2. all installation procedures create all parent directories of the
target directory if they do not exist, and it is a bit strange that
these directories get the same permissions as the installed files just
because it happens that they did not exist when installation was
performed,
3. when installing complete hierarchies in one go (using
"install-directory" or "install-directory-contents"), one can only
specify *one* set of permissions to use for the *whole* hierarchy,
which is too coarse IMO.
I'd therefore like to change the situation, but I don't find a solution
I consider good. The best one I've found until now is the following:
- installation procedures *do not* create parent directories anymore;
that is, the target directory must exist before something can be
installed in it, and the installation library provides a function to
create a *single*, empty directory with some permissions,
- installation procedures do not take a set of permissions as argument
anymore, the permissions given to the installed files are just the ones
the file had in the archive.
Basically, this moves the problem upstream, so to speak. A package
author has to make sure that the permissions are set correctly in the
archive, and then he doesn't need to bother with them in the
installation script.
What do you think?
Michel.
|