scsh-hackers
[Top] [All Lists]

[Scsh-hackers] Packaging proposal: permissions of installed files

To: scsh-hackers hackers <scsh-hackers@lists.sourceforge.net>
Subject: [Scsh-hackers] Packaging proposal: permissions of installed files
From: Michel Schinz <Michel.Schinz@epfl.ch>
Date: Tue Dec 16 14:53:02 2003
List-id: Discussion among the implementors <scsh-hackers.lists.sourceforge.net>
Sender: scsh-hackers-admin@lists.sourceforge.net
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.



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-hackers] Packaging proposal: permissions of installed files, Michel Schinz <=