diff options
| -rw-r--r-- | Mailman/Makefile.in | 2 | ||||
| -rw-r--r-- | Mailman/bin/Makefile.in | 71 | ||||
| -rw-r--r-- | Mailman/bin/__init__.py | 0 | ||||
| -rwxr-xr-x | Mailman/bin/newlist.py (renamed from bin/newlist) | 219 | ||||
| -rwxr-xr-x | Mailman/bin/rmlist.py (renamed from bin/rmlist) | 0 | ||||
| -rw-r--r-- | Makefile.in | 2 | ||||
| -rw-r--r-- | bin/Makefile.in | 15 | ||||
| -rw-r--r-- | bin/mmshell | 48 | ||||
| -rwxr-xr-x | configure | 28 | ||||
| -rw-r--r-- | configure.in | 8 |
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() @@ -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 |
