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