summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mailman/Makefile.in2
-rw-r--r--Mailman/bin/Makefile.in71
-rw-r--r--Mailman/bin/__init__.py0
-rwxr-xr-xMailman/bin/newlist.py (renamed from bin/newlist)219
-rwxr-xr-xMailman/bin/rmlist.py (renamed from bin/rmlist)0
-rw-r--r--Makefile.in2
-rw-r--r--bin/Makefile.in15
-rw-r--r--bin/mmshell48
-rwxr-xr-xconfigure28
-rw-r--r--configure.in8
10 files changed, 254 insertions, 139 deletions
diff --git a/Mailman/Makefile.in b/Mailman/Makefile.in
index 96a617839..2fe6c0d14 100644
--- a/Mailman/Makefile.in
+++ b/Mailman/Makefile.in
@@ -43,7 +43,7 @@ PACKAGEDIR= $(prefix)/Mailman
SHELL= /bin/sh
MODULES= $(srcdir)/*.py
-SUBDIRS= Cgi Archiver Handlers Bouncers Queue MTA Gui Commands
+SUBDIRS= Cgi Archiver Handlers Bouncers Queue MTA Gui Commands bin
# Modes for directories and executables created by the install
# process. Default to group-writable directories but
diff --git a/Mailman/bin/Makefile.in b/Mailman/bin/Makefile.in
new file mode 100644
index 000000000..1ba409155
--- /dev/null
+++ b/Mailman/bin/Makefile.in
@@ -0,0 +1,71 @@
+# Copyright (C) 1998-2006 by the Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
+
+# NOTE: Makefile.in is converted into Makefile by the configure script
+# in the parent directory. Once configure has run, you can recreate
+# the Makefile by running just config.status.
+
+# Variables set by configure
+
+VPATH= @srcdir@
+srcdir= @srcdir@
+bindir= @bindir@
+prefix= @prefix@
+exec_prefix= @exec_prefix@
+DESTDIR=
+
+CC= @CC@
+CHMOD= @CHMOD@
+INSTALL= @INSTALL@
+
+DEFS= @DEFS@
+
+# Customizable but not set by configure
+
+OPT= @OPT@
+CFLAGS= $(OPT) $(DEFS)
+PACKAGEDIR= $(prefix)/Mailman/bin
+SHELL= /bin/sh
+
+MODULES= *.py
+
+# Modes for directories and executables created by the install
+# process. Default to group-writable directories but
+# user-only-writable for executables.
+DIRMODE= 775
+EXEMODE= 755
+FILEMODE= 644
+INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+
+
+# Rules
+
+all:
+
+install:
+ for f in $(MODULES); \
+ do \
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+finish:
+
+clean:
+
+distclean:
+ -rm *.pyc
+ -rm Makefile
diff --git a/Mailman/bin/__init__.py b/Mailman/bin/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Mailman/bin/__init__.py
diff --git a/bin/newlist b/Mailman/bin/newlist.py
index 70e9cb8c1..79b584eee 100755
--- a/bin/newlist
+++ b/Mailman/bin/newlist.py
@@ -1,6 +1,4 @@
-#! @PYTHON@
-#
-# Copyright (C) 1998-2005 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2006 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -14,34 +12,33 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-"""Create a new, unpopulated mailing list.
-
-Usage: %(PROGRAM)s [options] [listname [listadmin-addr [admin-password]]]
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
-Options:
+import os
+import sha
+import sys
+import getpass
+import optparse
- -l language
- --language=language
- Make the list's preferred language `language', which must be a two
- letter language code.
+from Mailman import Errors
+from Mailman import MailList
+from Mailman import Message
+from Mailman import Utils
+from Mailman import Version
+from Mailman import i18n
+from Mailman import mm_cfg
- -u urlhost
- --urlhost=urlhost
- Gives the list's web interface host name.
+_ = i18n._
- -e emailhost
- --emailhost=emailhost
- Gives the list's email domain name.
- -q/--quiet
- Normally the administrator is notified by email (after a prompt) that
- their list has been created. This option suppresses the prompt and
- notification.
+
+def parseargs():
+ parser = optparse.OptionParser(version='GNU Mailman ' + Version.VERSION,
+ usage=_("""\
+Create a new, unpopulated mailing list.
- -h/--help
- Print this help text and exit.
+Usage: %%prog [options] [listname [listadmin-addr [admin-password]]]
You can specify as many of the arguments as you want on the command line:
you will be prompted for the missing ones.
@@ -86,130 +83,108 @@ If you spell the list name as just `mylist', then the email hostname will be
taken from DEFAULT_EMAIL_HOST and the url will be taken from DEFAULT_URL (as
defined in your Defaults.py file or overridden by settings in mm_cfg.py).
-Note that listnames are forced to lowercase.
-"""
-
-import sys
-import os
-import getpass
-import getopt
-import sha
-
-import paths
-from Mailman import mm_cfg
-from Mailman import MailList
-from Mailman import Utils
-from Mailman import Errors
-from Mailman import Message
-from Mailman import i18n
-
-_ = i18n._
-
-PROGRAM = sys.argv[0]
-
-
-
-def usage(code, msg=''):
- if code:
- fd = sys.stderr
- else:
- fd = sys.stdout
- print >> fd, _(__doc__)
- if msg:
- print >> fd, msg
- sys.exit(code)
+Note that listnames are forced to lowercase."""))
+ parser.add_option('-l', '--language',
+ type='string', action='store',
+ default=mm_cfg.DEFAULT_SERVER_LANGUAGE,
+ help=_("""\
+Make the list's preferred language LANGUAGE, which must be a two letter
+language code."""))
+ parser.add_option('-u', '--urlhost',
+ type='string', action='store',
+ help=_('The hostname for the web interface'))
+ parser.add_option('-e', '--emailhost',
+ type='string', action='store',
+ help=_('The hostname for the email server'))
+ parser.add_option('-q', '--quiet',
+ default=False, action='store_true',
+ help=_("""\
+Normally the administrator is notified by email (after a prompt) that their
+list has been created. This option suppresses the prompt and
+notification."""))
+ opts, args = parser.parse_args()
+ # Is the language known?
+ if opts.language not in mm_cfg.LC_DESCRIPTIONS:
+ parser.print_help()
+ print >> sys.stderr, _('Unknown language: $opts.language')
+ sys.exit(1)
+ return parser, opts, args
def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:',
- ['help', 'quiet', 'language=',
- 'urlhost=', 'emailhost='])
- except getopt.error, msg:
- usage(1, msg)
-
- lang = mm_cfg.DEFAULT_SERVER_LANGUAGE
- quiet = 0
- urlhost = None
- emailhost = None
- for opt, arg in opts:
- if opt in ('-h', '--help'):
- usage(0)
- if opt in ('-q', '--quiet'):
- quiet = 1
- if opt in ('-l', '--language'):
- lang = arg
- if opt in ('-u', '--urlhost'):
- urlhost = arg
- if opt in ('-e', '--emailhost'):
- emailhost = arg
-
- # Is the language known?
- if lang not in mm_cfg.LC_DESCRIPTIONS.keys():
- usage(1, _('Unknown language: %(lang)s'))
+ parser, opts, args = parseargs()
- if len(args) > 0:
- listname = args[0]
+ # Handle variable number of positional arguments
+ if args:
+ listname = args.pop(0)
else:
listname = raw_input(_('Enter the name of the list: '))
- listname = listname.lower()
+ listname = listname.lower()
if '@' in listname:
- # note that --urlhost and --emailhost have precedence
+ # Note that --urlhost and --emailhost have precedence
listname, domain = listname.split('@', 1)
- urlhost = urlhost or domain
- emailhost = emailhost or mm_cfg.VIRTUAL_HOSTS.get(domain, domain)
+ urlhost = opts.urlhost or domain
+ emailhost = opts.emailhost or mm_cfg.VIRTUAL_HOSTS.get(domain, domain)
- urlhost = urlhost or mm_cfg.DEFAULT_URL_HOST
- host_name = emailhost or \
- mm_cfg.VIRTUAL_HOSTS.get(urlhost, mm_cfg.DEFAULT_EMAIL_HOST)
+ urlhost = opts.urlhost or mm_cfg.DEFAULT_URL_HOST
+ host_name = (opts.emailhost or
+ mm_cfg.VIRTUAL_HOSTS.get(urlhost, mm_cfg.DEFAULT_EMAIL_HOST))
web_page_url = mm_cfg.DEFAULT_URL_PATTERN % urlhost
if Utils.list_exists(listname):
- usage(1, _('List already exists: %(listname)s'))
+ parser.print_help()
+ print >> sys.stderr, _('List already exists: $listname')
- if len(args) > 1:
- owner_mail = args[1]
+ if args:
+ owner_mail = args.pop(0)
else:
owner_mail = raw_input(
_('Enter the email of the person running the list: '))
- if len(args) > 2:
- listpasswd = args[2]
+ if args:
+ listpasswd = args.pop(0)
else:
- listpasswd = getpass.getpass(_('Initial %(listname)s password: '))
+ listpasswd = getpass.getpass(_('Initial $listname password: '))
+
# List passwords cannot be empty
listpasswd = listpasswd.strip()
if not listpasswd:
- usage(1, _('The list password cannot be empty'))
+ parser.print_help()
+ print >> sys.stderr, _('The list password cannot be empty')
mlist = MailList.MailList()
try:
pw = sha.new(listpasswd).hexdigest()
# Guarantee that all newly created files have the proper permission.
# proper group ownership should be assured by the autoconf script
- # enforcing that all directories have the group sticky bit set
+ # enforcing that all directories have the group sticky bit set.
oldmask = os.umask(002)
try:
try:
mlist.Create(listname, owner_mail, pw)
- finally:
- os.umask(oldmask)
- except Errors.BadListNameError, s:
- usage(1, _('Illegal list name: %(s)s'))
- except Errors.EmailAddressError, s:
- usage(1, _('Bad owner email address: %(s)s'))
- except Errors.MMListAlreadyExistsError:
- usage(1, _('List already exists: %(listname)s'))
+ except Errors.BadListNameError, s:
+ parser.print_help()
+ print >> sys.stderr, _('Illegal list name: $s')
+ sys.exit(1)
+ except Errors.EmailAddressError, s:
+ parser.print_help()
+ print >> sys.stderr, _('Bad owner email address: $s')
+ sys.exit(1)
+ except Errors.MMListAlreadyExistsError:
+ parser.print_help()
+ print >> sys.stderr, _('List already exists: $listname')
+ sys.exit(1)
+ finally:
+ os.umask(oldmask)
# Assign domain-specific attributes
mlist.host_name = host_name
mlist.web_page_url = web_page_url
# And assign the preferred language
- mlist.preferred_language = lang
-
+ mlist.preferred_language = opts.language
mlist.Save()
finally:
mlist.Unlock()
@@ -221,19 +196,19 @@ def main():
sys.modules[modname].create(mlist)
# And send the notice to the list owner
- if not quiet:
- print _('Hit enter to notify %(listname)s owner...'),
+ if not opts.quiet:
+ print _('Hit enter to notify $listname owner...'),
sys.stdin.readline()
siteowner = Utils.get_site_email(mlist.host_name, 'owner')
- text = Utils.maketext(
- 'newlist.txt',
- {'listname' : listname,
- 'password' : listpasswd,
- 'admin_url' : mlist.GetScriptURL('admin', absolute=1),
- 'listinfo_url': mlist.GetScriptURL('listinfo', absolute=1),
- 'requestaddr' : mlist.GetRequestEmail(),
- 'siteowner' : siteowner,
- }, mlist=mlist)
+ d = dict(
+ listname = listname,
+ password = listpasswd,
+ admin_url = mlist.GetScriptURL('admin', absolute=True),
+ listinfo_url = mlist.GetScriptURL('listinfo', absolute=True),
+ requestaddr = mlist.GetRequestEmail(),
+ siteowner = siteowner,
+ )
+ text = Utils.maketext('newlist.txt', d, mlist=mlist)
# Set the I18N language to the list's preferred language so the header
# will match the template language. Stashing and restoring the old
# translation context is just (healthy? :) paranoia.
@@ -242,7 +217,7 @@ def main():
try:
msg = Message.UserNotification(
owner_mail, siteowner,
- _('Your new mailing list: %(listname)s'),
+ _('Your new mailing list: $listname'),
text, mlist.preferred_language)
msg.send(mlist)
finally:
diff --git a/bin/rmlist b/Mailman/bin/rmlist.py
index fbaf30641..fbaf30641 100755
--- a/bin/rmlist
+++ b/Mailman/bin/rmlist.py
diff --git a/Makefile.in b/Makefile.in
index 0328d0c2d..e14df27db 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -49,7 +49,7 @@ VAR_DIRS= \
ARCH_INDEP_DIRS= \
bin templates scripts cron pythonlib \
- Mailman Mailman/Cgi Mailman/Archiver \
+ Mailman Mailman/bin Mailman/Cgi Mailman/Archiver \
Mailman/Handlers Mailman/Queue Mailman/Bouncers \
Mailman/MTA Mailman/Gui Mailman/Commands messages icons \
tests tests/bounces tests/msgs
diff --git a/bin/Makefile.in b/bin/Makefile.in
index 8bb385c9f..9e59a62f9 100644
--- a/bin/Makefile.in
+++ b/bin/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2004 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2006 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -12,7 +12,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
# NOTE: Makefile.in is converted into Makefile by the configure script
# in the parent directory. Once configure has run, you can recreate
@@ -30,6 +31,7 @@ DESTDIR=
CC= @CC@
CHMOD= @CHMOD@
INSTALL= @INSTALL@
+LN_S= @LN_S@
DEFS= @DEFS@
@@ -42,7 +44,7 @@ SCRIPTSDIR= $(prefix)/bin
SHELL= /bin/sh
-SCRIPTS= mmsitepass newlist rmlist add_members \
+SCRIPTS= mmsitepass mmshell add_members \
list_members remove_members clone_member update arch \
sync_members check_db withlist check_perms find_member \
version config_list list_lists dumpdb cleanarch \
@@ -51,6 +53,8 @@ SCRIPTS= mmsitepass newlist rmlist add_members \
list_owners msgfmt.py show_qfiles discard rb-archfix \
reset_pw.py templ2pot.py po2templ.py
+LN_SCRIPTS= newlist rmlist
+
BUILDDIR= ../build/bin
# Modes for directories and executables created by the install
@@ -71,6 +75,11 @@ install:
do \
$(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(SCRIPTSDIR); \
done
+ for f in $(LN_SCRIPTS); \
+ do \
+ rm -f $(DESTDIR)/$(SCRIPTSDIR)/$$f; \
+ (cd $(DESTDIR)/$(SCRIPTSDIR); $(LN_S) mmshell $$f); \
+ done
finish:
diff --git a/bin/mmshell b/bin/mmshell
new file mode 100644
index 000000000..042f659f2
--- /dev/null
+++ b/bin/mmshell
@@ -0,0 +1,48 @@
+#! @PYTHON@
+#
+# Copyright (C) 2006 by the Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
+
+"""Driver for all command line scripts in Mailman.
+
+This works by interrogating sys.argv[0] to determine which module actually
+implements the script's functionality.
+"""
+
+import os
+import sys
+
+import paths
+from Mailman.i18n import _
+
+
+
+def main():
+ script_name = os.path.basename(sys.argv[0])
+ module_name = 'Mailman.bin.' + script_name
+ __import__(module_name)
+ try:
+ status = sys.modules[module_name].main()
+ except KeyboardInterrupt:
+ print >> sys.stderr, _('Interrupted')
+ status = 0
+ sys.exit(status)
+
+
+
+if __name__ == '__main__':
+ main()
diff --git a/configure b/configure
index f0ef9f2f7..146fc7516 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 7627 .
+# From configure.in Revision: 7858 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59.
#
@@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_python PYTHON INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE TRUE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT OPT VAR_PREFIX MAILMAN_USER MAILMAN_GROUP MAIL_GROUP CGI_GROUP CGIEXT MAILHOST URLHOST LANGUAGES CPP EGREP SCRIPTS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_python PYTHON INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE TRUE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT OPT VAR_PREFIX MAILMAN_USER MAILMAN_GROUP MAIL_GROUP CGI_GROUP CGIEXT MAILHOST URLHOST LANGUAGES CPP EGREP SCRIPTS LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -721,13 +721,13 @@ echo X"$0" |
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
+if test ! -r "$srcdir/$ac_unique_file"; then
if test "$ac_srcdir_defaulted" = yes; then
{ echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
{ (exit 1); exit 1; }; }
@@ -736,7 +736,7 @@ if test ! -r $srcdir/$ac_unique_file; then
{ (exit 1); exit 1; }; }
fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+(cd $srcdir && test -r "./$ac_unique_file") 2>/dev/null ||
{ echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
{ (exit 1); exit 1; }; }
srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
@@ -1580,6 +1580,17 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
@@ -4285,14 +4296,13 @@ build/bin/list_lists:bin/list_lists \
build/bin/list_members:bin/list_members \
build/bin/list_owners:bin/list_owners \
build/bin/mailmanctl:bin/mailmanctl \
+build/bin/mmshell:bin/mmshell \
build/bin/mmsitepass:bin/mmsitepass \
build/bin/msgfmt.py:bin/msgfmt.py \
-build/bin/newlist:bin/newlist \
build/bin/pygettext.py:bin/pygettext.py \
build/bin/qrunner:bin/qrunner \
build/bin/remove_members:bin/remove_members \
build/bin/reset_pw.py:bin/reset_pw.py \
-build/bin/rmlist:bin/rmlist \
build/bin/show_qfiles:bin/show_qfiles \
build/bin/sync_members:bin/sync_members \
build/bin/transcheck:bin/transcheck \
@@ -4322,7 +4332,7 @@ build/cron/senddigests:cron/senddigests \
# scripts. They're removed on a make distclean, so we make them here.
mkdir -p build/bin build/contrib build/cron
- ac_config_files="$ac_config_files misc/paths.py Mailman/Defaults.py Mailman/mm_cfg.py.dist src/Makefile misc/Makefile bin/Makefile Mailman/Makefile Mailman/Cgi/Makefile Mailman/Archiver/Makefile Mailman/Commands/Makefile Mailman/Handlers/Makefile Mailman/Bouncers/Makefile Mailman/Queue/Makefile Mailman/MTA/Makefile Mailman/Gui/Makefile templates/Makefile cron/Makefile scripts/Makefile messages/Makefile cron/crontab.in misc/mailman Makefile tests/Makefile tests/bounces/Makefile tests/msgs/Makefile $SCRIPTS"
+ ac_config_files="$ac_config_files misc/paths.py Mailman/Defaults.py Mailman/mm_cfg.py.dist src/Makefile misc/Makefile bin/Makefile Mailman/bin/Makefile Mailman/Makefile Mailman/Cgi/Makefile Mailman/Archiver/Makefile Mailman/Commands/Makefile Mailman/Handlers/Makefile Mailman/Bouncers/Makefile Mailman/Queue/Makefile Mailman/MTA/Makefile Mailman/Gui/Makefile templates/Makefile cron/Makefile scripts/Makefile messages/Makefile cron/crontab.in misc/mailman Makefile tests/Makefile tests/bounces/Makefile tests/msgs/Makefile $SCRIPTS"
ac_config_commands="$ac_config_commands default"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -4884,6 +4894,7 @@ do
"src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"misc/Makefile" ) CONFIG_FILES="$CONFIG_FILES misc/Makefile" ;;
"bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
+ "Mailman/bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mailman/bin/Makefile" ;;
"Mailman/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mailman/Makefile" ;;
"Mailman/Cgi/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mailman/Cgi/Makefile" ;;
"Mailman/Archiver/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mailman/Archiver/Makefile" ;;
@@ -4994,6 +5005,7 @@ s,@PYTHON@,$PYTHON,;t t
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@LN_S@,$LN_S,;t t
s,@SET_MAKE@,$SET_MAKE,;t t
s,@TRUE@,$TRUE,;t t
s,@CC@,$CC,;t t
diff --git a/configure.in b/configure.in
index dd3d9a547..d3c691c3f 100644
--- a/configure.in
+++ b/configure.in
@@ -15,7 +15,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
dnl Process this file with autoconf to produce a configure script.
-AC_REVISION($Revision: 7858 $)
+AC_REVISION($Revision: 7876 $)
AC_PREREQ(2.0)
AC_INIT(src/common.h)
@@ -123,6 +123,7 @@ AC_MSG_RESULT($havedistutils)
# Checks for programs.
AC_PROG_INSTALL
+AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PATH_PROG(TRUE, true, true, $PATH:/bin:/usr/bin)
@@ -613,14 +614,13 @@ bin/list_lists \
bin/list_members \
bin/list_owners \
bin/mailmanctl \
+bin/mmshell \
bin/mmsitepass \
bin/msgfmt.py \
-bin/newlist \
bin/pygettext.py \
bin/qrunner \
bin/remove_members \
bin/reset_pw.py \
-bin/rmlist \
bin/show_qfiles \
bin/sync_members \
bin/transcheck \
@@ -665,7 +665,7 @@ mkdir -p build/bin build/contrib build/cron
dnl Output everything
AC_OUTPUT([misc/paths.py Mailman/Defaults.py Mailman/mm_cfg.py.dist
- src/Makefile misc/Makefile bin/Makefile
+ src/Makefile misc/Makefile bin/Makefile Mailman/bin/Makefile
Mailman/Makefile Mailman/Cgi/Makefile
Mailman/Archiver/Makefile Mailman/Commands/Makefile
Mailman/Handlers/Makefile Mailman/Bouncers/Makefile