49da8b
diff --git a/Mailman/Archiver/Makefile.in b/Mailman/Archiver/Makefile.in
49da8b
index 65e46cb..dc3a1c6 100644
49da8b
--- a/Mailman/Archiver/Makefile.in
49da8b
+++ b/Mailman/Archiver/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -47,7 +46,7 @@ pipermail.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -63,8 +62,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Bouncers/Makefile.in b/Mailman/Bouncers/Makefile.in
49da8b
index 8865a9f..8878cd9 100644
49da8b
--- a/Mailman/Bouncers/Makefile.in
49da8b
+++ b/Mailman/Bouncers/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Cgi/Makefile.in b/Mailman/Cgi/Makefile.in
49da8b
index 47929e9..e20c07e 100644
49da8b
--- a/Mailman/Cgi/Makefile.in
49da8b
+++ b/Mailman/Cgi/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -47,7 +46,7 @@ CGI_MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -63,8 +62,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(CGIDIR); \
49da8b
         done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Commands/Makefile.in b/Mailman/Commands/Makefile.in
49da8b
index 645d78b..12bbc1b 100644
49da8b
--- a/Mailman/Commands/Makefile.in
49da8b
+++ b/Mailman/Commands/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Gui/Makefile.in b/Mailman/Gui/Makefile.in
49da8b
index 000441e..9273b8a 100644
49da8b
--- a/Mailman/Gui/Makefile.in
49da8b
+++ b/Mailman/Gui/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Handlers/Makefile.in b/Mailman/Handlers/Makefile.in
49da8b
index 71e5576..56ee2eb 100644
49da8b
--- a/Mailman/Handlers/Makefile.in
49da8b
+++ b/Mailman/Handlers/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Logging/Makefile.in b/Mailman/Logging/Makefile.in
49da8b
index e185775..ad5c128 100644
49da8b
--- a/Mailman/Logging/Makefile.in
49da8b
+++ b/Mailman/Logging/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/MTA/Makefile.in b/Mailman/MTA/Makefile.in
49da8b
index 0338806..e1de296 100644
49da8b
--- a/Mailman/MTA/Makefile.in
49da8b
+++ b/Mailman/MTA/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Mailman/Makefile.in b/Mailman/Makefile.in
49da8b
index 93c7efd..45439f0 100644
49da8b
--- a/Mailman/Makefile.in
49da8b
+++ b/Mailman/Makefile.in
49da8b
@@ -20,8 +20,6 @@
49da8b
 
49da8b
 # Variables set by configure
49da8b
 
49da8b
-VERSION=	@VERSION@
49da8b
-
49da8b
 VPATH=		@srcdir@
49da8b
 srcdir= 	@srcdir@
49da8b
 bindir= 	@bindir@
49da8b
@@ -30,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -48,7 +45,7 @@ SUBDIRS=	Cgi Logging Archiver Handlers Bouncers Queue MTA Gui Commands
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -79,12 +76,6 @@ install: install-here
49da8b
 	    (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-	@for d in $(SUBDIRS); \
49da8b
-	do \
49da8b
-	    (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) finish); \
49da8b
-	done
49da8b
-
49da8b
 clean:
49da8b
 	for d in $(SUBDIRS); \
49da8b
 	do \
49da8b
diff --git a/Mailman/Queue/Makefile.in b/Mailman/Queue/Makefile.in
49da8b
index 179f3d9..e0e97ad 100644
49da8b
--- a/Mailman/Queue/Makefile.in
49da8b
+++ b/Mailman/Queue/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -45,7 +44,7 @@ MODULES=	*.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,8 +60,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/Makefile.in b/Makefile.in
49da8b
index 40e04f5..eb40844 100644
49da8b
--- a/Makefile.in
49da8b
+++ b/Makefile.in
49da8b
@@ -61,11 +61,10 @@ SUBDIRS=	bin cron misc Mailman scripts src templates messages tests
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
-DIRSETGID=	chmod g+s
49da8b
 
49da8b
 DATE = $(shell python -c 'import time; print time.strftime("%d-%b-%Y"),')
49da8b
 LANGPACK = README-I18N.en templates messages
49da8b
@@ -85,14 +84,24 @@ install: doinstall update
49da8b
 
49da8b
 doinstall: $(SUBDIRS)
49da8b
 	@echo "Creating architecture independent directories..."
49da8b
+	dir=$(DESTDIR)$(prefix); \
49da8b
+	if test ! -d $$dir; then \
49da8b
+		echo "Creating directory hierarchy $$dir"; \
49da8b
+		$(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
+	else true; \
49da8b
+	fi;
49da8b
+	dir=$(DESTDIR)$(var_prefix); \
49da8b
+	if test ! -d $$dir; then \
49da8b
+		echo "Creating directory hierarchy $$dir"; \
49da8b
+		$(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
+	else true; \
49da8b
+	fi;
49da8b
 	@for d in $(VAR_DIRS); \
49da8b
 	do \
49da8b
 	    dir=$(DESTDIR)$(var_prefix)/$$d; \
49da8b
 	    if test ! -d $$dir; then \
49da8b
 		echo "Creating directory hierarchy $$dir"; \
49da8b
-		$(srcdir)/mkinstalldirs $$dir; \
49da8b
-		chmod $(DIRMODE) $$dir; \
49da8b
-		$(DIRSETGID) $$dir; \
49da8b
+		$(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
 	    else true; \
49da8b
 	    fi; \
49da8b
 	done
49da8b
@@ -102,9 +111,7 @@ doinstall: $(SUBDIRS)
49da8b
 	    dir=$(DESTDIR)$(prefix)/$$d; \
49da8b
 	    if test ! -d $$dir; then \
49da8b
 		echo "Creating directory hierarchy $$dir"; \
49da8b
-		$(srcdir)/mkinstalldirs $$dir; \
49da8b
-		chmod $(DIRMODE) $$dir; \
49da8b
-		$(DIRSETGID) $$dir; \
49da8b
+		$(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
 	    else true; \
49da8b
 	    fi; \
49da8b
 	done
49da8b
@@ -114,9 +121,7 @@ doinstall: $(SUBDIRS)
49da8b
 	    dir=$(DESTDIR)$(exec_prefix)/$$d; \
49da8b
 	    if test ! -d $$dir; then \
49da8b
 		echo "Creating directory hierarchy $$dir"; \
49da8b
-		$(srcdir)/mkinstalldirs $$dir; \
49da8b
-		chmod $(DIRMODE) $$dir; \
49da8b
-		$(DIRSETGID) $$dir; \
49da8b
+		$(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
 	    else true; \
49da8b
 	    fi; \
49da8b
 	done
49da8b
diff --git a/bin/Makefile.in b/bin/Makefile.in
49da8b
index 22c24b0..d795333 100644
49da8b
--- a/bin/Makefile.in
49da8b
+++ b/bin/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -56,7 +55,7 @@ BUILDDIR=	../build/bin
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -72,8 +71,6 @@ install:
49da8b
 	    $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(SCRIPTSDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/cron/Makefile.in b/cron/Makefile.in
49da8b
index 2a7c8fd..c14d119 100644
49da8b
--- a/cron/Makefile.in
49da8b
+++ b/cron/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -68,8 +67,6 @@ install:
49da8b
 	    $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(CRONDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/messages/Makefile.in b/messages/Makefile.in
49da8b
index 2bbec3f..0b8b7d6 100644
49da8b
--- a/messages/Makefile.in
49da8b
+++ b/messages/Makefile.in
49da8b
@@ -32,7 +32,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -43,7 +42,6 @@ OPT=		@OPT@
49da8b
 CFLAGS=		$(OPT) $(DEFS)
49da8b
 PACKAGEDIR= 	$(prefix)/messages
49da8b
 SHELL=		/bin/sh
49da8b
-DIRSETGID=	chmod g+s
49da8b
 MSGFMT= 	@PYTHON@ ../build/bin/msgfmt.py
49da8b
 MSGMERGE=	msgmerge
49da8b
 
49da8b
@@ -60,7 +58,7 @@ TARGETS=	$(MOFILES)
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -90,9 +88,8 @@ doinstall: mofiles
49da8b
 	do \
49da8b
 	    dir=$(DESTDIR)$(prefix)/$$d; \
49da8b
 	    echo "Creating language directory $$dir"; \
49da8b
-	    $(srcdir)/../mkinstalldirs $$dir; \
49da8b
-	    chmod $(DIRMODE) $$dir; \
49da8b
-	    $(DIRSETGID) $$dir; \
49da8b
+	    $(INSTALL) -d -m $(DIRMODE) `dirname $$dir`; \
49da8b
+	    $(INSTALL) -d -m $(DIRMODE) $$dir; \
49da8b
 	done
49da8b
 	@for d in $(LANGUAGES); \
49da8b
 	do \
49da8b
@@ -113,8 +110,6 @@ doinstall: mofiles
49da8b
 
49da8b
 mofiles: $(MOFILES)
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 	-rm -f */LC_MESSAGES/mailman.mo
49da8b
 
49da8b
diff --git a/misc/Makefile.in b/misc/Makefile.in
49da8b
index 5125cd8..af99c04 100644
49da8b
--- a/misc/Makefile.in
49da8b
+++ b/misc/Makefile.in
49da8b
@@ -30,7 +30,6 @@ var_prefix=	@VAR_PREFIX@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 PYTHON=		@PYTHON@
49da8b
 
49da8b
@@ -62,7 +61,7 @@ PACKAGES= $(EMAILPKG) $(JACODECSPKG) $(KOCODECSPKG)
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 DATAMODE=	664
49da8b
@@ -101,8 +100,6 @@ install-packages:
49da8b
 	    (cd $(PKGDIR)/$$p ; umask 02 ; PYTHONPATH=$(PYTHONLIBDIR) $(PYTHON) $(SETUPCMD)); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
49da8b
index 49b82ec..cea250c 100644
49da8b
--- a/scripts/Makefile.in
49da8b
+++ b/scripts/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -49,7 +48,7 @@ SCRIPTS=	bounces confirm driver join leave owner post request
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -68,8 +67,6 @@ install:
49da8b
 	$(INSTALL) -m $(FILEMODE) $(srcdir)/join    $(DESTDIR)$(SCRIPTSDIR)/subscribe
49da8b
 	$(INSTALL) -m $(FILEMODE) $(srcdir)/leave   $(DESTDIR)$(SCRIPTSDIR)/unsubscribe
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/src/Makefile.in b/src/Makefile.in
49da8b
index ce52356..7ed820b 100644
49da8b
--- a/src/Makefile.in
49da8b
+++ b/src/Makefile.in
49da8b
@@ -28,7 +28,6 @@ bindir= 	@bindir@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 PYTHON=  	@PYTHON@
49da8b
 
49da8b
@@ -65,10 +64,9 @@ COMMON_FLAGS=	-DPREFIX="\"$(prefix)\"" \
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
-EXEMODE=	755
49da8b
+DIRMODE=	2775
49da8b
+EXEMODE=	2755
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
-DIRSETGID=	chmod g+s
49da8b
 
49da8b
 # Fixed definitions
49da8b
 
49da8b
@@ -112,20 +110,10 @@ install: all
49da8b
 	do \
49da8b
 	    exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
49da8b
 	    $(INSTALL_PROGRAM) $$f $$exe; \
49da8b
-	    $(DIRSETGID) $$exe; \
49da8b
 	done
49da8b
 	for f in $(MAIL_PROGS); \
49da8b
 	do \
49da8b
 	    $(INSTALL_PROGRAM) $$f $(DESTDIR)$(MAILDIR); \
49da8b
-	    $(DIRSETGID) $(DESTDIR)$(MAILDIR)/$$f; \
49da8b
-	done
49da8b
-
49da8b
-finish:
49da8b
-	-for f in $(SUID_CGI_PROGS); \
49da8b
-	do \
49da8b
-	    exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
49da8b
-	    chown $(MAILMAN_USER) $$exe; \
49da8b
-	    chmod u+s $$exe; \
49da8b
 	done
49da8b
 
49da8b
 clean:
49da8b
diff --git a/templates/Makefile.in b/templates/Makefile.in
49da8b
index 3dfee3a..b23d7c1 100644
49da8b
--- a/templates/Makefile.in
49da8b
+++ b/templates/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 TRUE=		@TRUE@
49da8b
 
49da8b
@@ -48,7 +47,7 @@ LANGUAGES=	ar ast ca cs da de el en es et eu fi fr gl he hr hu ia it ja \
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -61,15 +60,13 @@ all:
49da8b
 install:
49da8b
 	for d in $(LANGUAGES); \
49da8b
 	do \
49da8b
-	    $(srcdir)/../mkinstalldirs $(DESTDIR)$(TEMPLATEDIR)/$$d; \
49da8b
+	    $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(TEMPLATEDIR)/$$d; \
49da8b
 	    for f in $(srcdir)/$$d/*.html $(srcdir)/$$d/*.txt; \
49da8b
 	    do \
49da8b
 	    	$(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(TEMPLATEDIR)/$$d; \
49da8b
 	    done; \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/tests/Makefile.in b/tests/Makefile.in
49da8b
index 26d6e31..ca92425 100644
49da8b
--- a/tests/Makefile.in
49da8b
+++ b/tests/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -46,7 +45,7 @@ EXECS=  	$(srcdir)/onebounce.py $(srcdir)/fblast.py
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -71,8 +70,6 @@ install:
49da8b
 	    (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/tests/bounces/Makefile.in b/tests/bounces/Makefile.in
49da8b
index 5798097..f7014cb 100644
49da8b
--- a/tests/bounces/Makefile.in
49da8b
+++ b/tests/bounces/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -46,7 +45,7 @@ BOUNCE_FILES=	$(srcdir)/*.txt
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -60,8 +59,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(BOUNCEDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean:
49da8b
diff --git a/tests/msgs/Makefile.in b/tests/msgs/Makefile.in
49da8b
index 736d721..edef5ae 100644
49da8b
--- a/tests/msgs/Makefile.in
49da8b
+++ b/tests/msgs/Makefile.in
49da8b
@@ -28,7 +28,6 @@ exec_prefix=	@exec_prefix@
49da8b
 DESTDIR=
49da8b
 
49da8b
 CC=		@CC@
49da8b
-CHMOD=  	@CHMOD@
49da8b
 INSTALL=	@INSTALL@
49da8b
 
49da8b
 DEFS=   	@DEFS@
49da8b
@@ -46,7 +45,7 @@ MSG_FILES=	$(srcdir)/*.txt
49da8b
 # Modes for directories and executables created by the install
49da8b
 # process.  Default to group-writable directories but
49da8b
 # user-only-writable for executables.
49da8b
-DIRMODE=	775
49da8b
+DIRMODE=	2775
49da8b
 EXEMODE=	755
49da8b
 FILEMODE=	644
49da8b
 INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
49da8b
@@ -60,8 +59,6 @@ install:
49da8b
 	    $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(MSGSDIR); \
49da8b
 	done
49da8b
 
49da8b
-finish:
49da8b
-
49da8b
 clean:
49da8b
 
49da8b
 distclean: