[ mailman-Patches-671297 ] set directory permissions, partition install steps

SourceForge.net noreply at sourceforge.net
Mon Mar 10 08:55:12 EST 2003

Patches item #671297, was opened at 2003-01-20 19:34
You can respond by visiting: 

Category: configure/install
Group: Mailman 2.1
Status: Open
Resolution: None
Priority: 5
Submitted By: John Dennis (johndennis)
Assigned to: Nobody/Anonymous (nobody)
Summary: set directory permissions, partition install steps

Initial Comment:
This patch accomplishes two things:

1) A number of the directories created during make
   had failed to set their permissions correctly, this
   the script check_perms to report errors, this adds
the setting
   of correct permissions to those directories.

2) Most packaging/install tools divide the installation
task into
   2 distinct phases

   File Marshaling: This is where the files of the
package are built
   and installed into a temporary root. The the tool
collects all the
   files under the temporary root and adds them to some
type of
   archive file. During installation on the target
machine these files
   are extracted from the archive and placed in
matching positions in
   the target file system with matching ownership and

   Target Update: After the files are placed on the
target it is often
   necessary to run commands on the target system to do
such things as
   register the files, register services, etc.

   The "make install" in the shipped version of mailman did
   not separate out these two steps. In particular it
attempted to
   compile the python files during the first phase of file
   marshaling. During this phase the python files are
in a temporary
   root directory, not their final install position on
the target. The
   paths.py file which is included by many of the
python files has
   hard coded in it the the target installation
directory (from the
   configure step). Thus when attempting to compile the
files in the
   marshaling area the compilations would fail because
it could not
   located patch information. Also the make install
attempt to run the
   bin/update, but once again this has to be deferred
to target update
   time, not package build time.


>Comment By: Thomas Wouters (twouters)
Date: 2003-03-10 17:55

Logged In: YES 

A patch that accomplishes two separate things is usually not
a wise idea, but here are my two separate answers :-)

1) The permissions for the new directories are actually
wrong; they're set set-groupid (because you use DIRSETGID to
set the permissions) but they don't need to be, and I'm sure
many sysadmins would not be too happy if they were made
DIRSETGID :-) Also, since mkinstalldirs already creates
subdirectories of directories it creates, it should be fine
to just set umask appropriately, or patch mkinstalldirs so
new directories are made with an acceptable mode.

2) Which packaging mechanisms use the original Makefile to
do the actual installation/updating on the target system(s)
? I would say SF patch #683906 addresses most of your
issues, in that it makes it possible to place files in a
separate tree than the one configured. Can you explain why
the separate steps are necessary ?


You can respond by visiting: 

More information about the Mailman-coders mailing list