diff options
| author | viega | 1998-07-27 18:58:44 +0000 |
|---|---|---|
| committer | viega | 1998-07-27 18:58:44 +0000 |
| commit | 4fc40ca07ea1dea231b981c546bbce046d7cc720 (patch) | |
| tree | 28ab9794dd095e98f62c4f80c4f7d13feae82046 | |
| parent | 7148042508dba30f3687c55fda3796cfeb8b03c2 (diff) | |
| download | mailman-4fc40ca07ea1dea231b981c546bbce046d7cc720.tar.gz mailman-4fc40ca07ea1dea231b981c546bbce046d7cc720.tar.zst mailman-4fc40ca07ea1dea231b981c546bbce046d7cc720.zip | |
| -rw-r--r-- | DONE | 7 | ||||
| -rw-r--r-- | admin/www/index.html | 3 | ||||
| -rw-r--r-- | configure.in | 326 |
3 files changed, 331 insertions, 5 deletions
@@ -1,4 +1,7 @@ -DONE $Revision: 891 $, $Date: 1998-07-27 19:21:52 +0100 (Mon, 27 Jul 1998) $ +---- New stuff goes above this line. Do not change this line. ---- +1.0b5 + +DONE $Revision: 894 $, $Date: 1998-07-27 19:58:44 +0100 (Mon, 27 Jul 1998) $ - New file locking that should be portable and work w/ NFS. @@ -10,7 +13,7 @@ DONE $Revision: 891 $, $Date: 1998-07-27 19:21:52 +0100 (Mon, 27 Jul 1998) $ - Various and sundry bug fixes. ----- New stuff goes above this line. Do not change this line. ---- + 1.0b4 diff --git a/admin/www/index.html b/admin/www/index.html index 87c4270e9..aa7f011fe 100644 --- a/admin/www/index.html +++ b/admin/www/index.html @@ -44,7 +44,7 @@ under the GNU GPL. <td> Before you can run Mailman, you need to download and install the <a href=http://www.python.org/>Python programming language (version 1.5 or later)</a>.<p> The first GNU release is not out yet. For now, you can get the last -pre-GNU beta release (<!-VERSION--->1.0b4<!-VERSION--->, released <!-DATE--->June 3, 1998<!-DATE--->) <A HREF=ftp://list.org/pub/mailman/>here</a>. +pre-GNU beta release (<!-VERSION--->1.0b5<!-VERSION--->, released <!-DATE--->Jul 27 1998<!-DATE--->) <A HREF=ftp://list.org/pub/mailman/>here</a>. The next release will be in mid-to-late June. </td> </tr> @@ -78,3 +78,4 @@ You may also want to find a project on our Mailman <a href=todo.html>TODO list</ </BODY> </HTML> + diff --git a/configure.in b/configure.in index f403730eb..0238b83c6 100644 --- a/configure.in +++ b/configure.in @@ -1,323 +1,645 @@ # Copyright (C) 1998 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + dnl Process this file with autoconf to produce a configure script. -AC_REVISION($Revision: 882 $) + +AC_REVISION($Revision: 894 $) + AC_PREREQ(2.0) + AC_INIT(src/alias-wrapper.c) + + + # Set VERSION so we only need to edit it in one place + AC_SUBST(VERSION) -VERSION=1.0b5 + +VERSION=1.0b6 + + # /home/mailman is the default installation directory + AC_PREFIX_DEFAULT(/home/mailman) + + # Check for Python! Better be found on $PATH + AC_MSG_CHECKING(for --with-python) + AC_ARG_WITH(python, [ + --with-python specify path to Python interpreter]) + AC_MSG_RESULT($with_python) + + if test -z "$with_python" + then + AC_PATH_PROG(with_python, python, /usr/local/bin/python) + fi + + AC_MSG_CHECKING(Python interpreter) + if test ! -x $with_python + then + AC_MSG_ERROR([ + + ***** No Python interpreter found! + ***** Try including the configure option + ***** --with-python=/path/to/python/interpreter]) + fi + AC_SUBST(PYTHON) + PYTHON=$with_python + AC_MSG_RESULT($PYTHON) + + # Checks for programs. + AC_PROG_INSTALL + AC_PROG_MAKE_SET + + # Find compiler, allow alternatives to gcc + AC_MSG_CHECKING(for --without-gcc) + AC_ARG_WITH(gcc, [--without-gcc never use gcc], [ + case $withval in + no) CC=cc + without_gcc=yes;; + yes) CC=gcc + without_gcc=no;; + *) CC=$withval + without_gcc=$withval;; + esac], without_gcc=no;) + AC_MSG_RESULT($without_gcc) + + # If the user switches compilers, we can't believe the cache + if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" + then + AC_ERROR(cached CC is different -- throw away $cache_file + (it is also a good idea to do 'make clean' before compiling)) + fi + + AC_PROG_CC + + + # Optimizer/debugger flags passed between Makefiles + AC_SUBST(OPT) + if test -z "$OPT" + then + case $GCC in + yes) + case $ac_cv_prog_cc_g in + yes) OPT="-g -O2";; + *) OPT="-O2";; + esac + ;; + *) OPT="-O";; + esac + fi + + # We better be able to execute interpreters + AC_SYS_INTERPRETER + if test "$ac_cv_sys_interpreter" != "yes" + then + AC_MSG_ERROR([ + + ***** Cannot execute interpreter scripts? + ***** Are you sure you system doesn't support this?]) + fi + + + # new macro for finding GIDs + AC_DEFUN(MM_FIND_GROUP_ID, [ + # $1 == variable name + # $2 == user id to check for + AC_SUBST($1) + changequote(,) + if test -z "$$1" + then + cat > conftest.py <<EOF + import grp, string + gid = '' + for group in string.split("$2"): + try: + try: + gid = grp.getgrgid(int(group))[2] + break + except ValueError: + gid = grp.getgrnam(group)[2] + break + except KeyError: + gid = '' + fp = open("conftest.out", "w") + fp.write("%s\n" % gid) + fp.close() + EOF + $PYTHON conftest.py + $1=`cat conftest.out` + fi + changequote([, ]) + AC_MSG_RESULT($$1) + rm -f conftest.out conftest.py]) + + + # Group `mailman' must exist + AC_MSG_CHECKING(for mailman GID) + MM_FIND_GROUP_ID(MAILMAN_GID, mailman) + if test -z "$MAILMAN_GID" + then + AC_MSG_ERROR([ + + ***** No `mailman' group found! + ***** Your system must have a `mailman' group defined (usually + ***** in your /etc/group file). Please see the INSTALL file + ***** file details.]) + fi + + + # Now make sure that $prefix is set up correctly. It must be group + # owned by `mailman', it must have the group sticky bit set, and it + # must be a+rx + if test "$prefix" = "NONE" + then + prefixcheck=$ac_default_prefix + else + prefixcheck=$prefix + fi + AC_MSG_CHECKING(permissions on $prefixcheck) + changequote(,) + cat > conftest.py <<EOF + import os, grp, string + from stat import * + prefix = "$prefixcheck" + mailmangid = $MAILMAN_GID + problems = [] + try: statdata = os.stat(prefix) + except os.error: + problems.append("Directory doesn't exist: " + prefix) + else: + mode = statdata[ST_MODE] + gid = statdata[ST_GID] + if mailmangid <> gid: + problems.append("Directory must be owned by group mailman: " + prefix) + if (mode & S_ISGID) <> S_ISGID: + problems.append("Group set-id bit must be set for directory: " +prefix) + perms = S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH + if (mode & perms) <> perms: + problems.append("Permissions should be at least 0775: " + prefix) + if not problems: + msg = "okay\n" + else: + msg = '***** ' + string.join(problems, '\n***** ') + '\n' + fp = open("conftest.out", "w") + fp.write(msg) + fp.close() + EOF + changequote([, ]) + $PYTHON conftest.py + status=`cat conftest.out` + rm -f conftest.out conftest.py + if test "$status" != "okay" + then + AC_MSG_ERROR([ + + ***** Installation directory $prefixcheck is not configured properly! + $status]) + fi + AC_MSG_RESULT(okay) + + + # Now find the UIDs and GIDs + # Support --with-mail-gid and --with-cgi-gid + AC_MSG_CHECKING(for mail wrapper GID) + AC_ARG_WITH(mail-gid, [ + --with-mail-gid specify GID mail programs run as]) + if test -z "$with_mail_gid" + then + AC_CACHE_VAL(ac_cv_group_mail, [dnl + ac_cv_group_mail="other mail daemon"]) + else + ac_cv_group_mail=$with_mail_gid + fi + MM_FIND_GROUP_ID(MAIL_GID, $ac_cv_group_mail) + if test -z "$MAIL_GID" + then + AC_MSG_ERROR([ + + ***** No existing group found for the mail_wrapper program. + ***** This is the group that your mail delivery agent runs under, and + ***** uses to run filter programs. You might want to specify an + ***** existing group with the --with-mail-gid configure option. + ***** Please see your mail agent's documentation, and the INSTALL file + ***** for details]) + fi + + AC_MSG_CHECKING(for CGI wrapper GID) + AC_ARG_WITH(cgi-gid, [ + --with-cgi-gid specify GID CGI programs run as]) + if test -z "$with_cgi_gid" + then + AC_CACHE_VAL(ac_cv_group_cgi, [dnl + ac_cv_group_cgi="www www-data nobody"]) + else + ac_cv_group_cgi=$with_cgi_gid + fi + MM_FIND_GROUP_ID(CGI_GID, $ac_cv_group_cgi) + if test -z "$CGI_GID" + then + AC_MSG_ERROR([ + + ***** No existing group found for the cgi_wrapper program. + ***** This is the group that your Web server runs CGI scripts under. + ***** You might want to specify an existing group with the + ***** --with-cgi-gid configure option. Please see your Web server's + ***** documentation, and the INSTALL file for details]) + fi + + #MM_FIND_USER_ID(ALIAS_UID, mailman, alias_wrapper) + #MM_FIND_GROUP_ID(ALIAS_GID, mail, alias_wrapper) + + + # figure out the DEFAULT_HOST_NAME and DEFAULT_URL + AC_SUBST(FQDN) + AC_SUBST(URL) + changequote(,) + cat > conftest.py <<EOF + # attempt to figure out the default hostname and URL + from socket import * + import string + fqdn = None + www = None + host, aliases, ipaddrs = gethostbyaddr(gethostbyname(gethostname())) + aliases.insert(0, host) + for h in aliases: + parts = string.split(h, '.') + if len(parts) > 1: + if parts[0] == 'www': + www = h + elif not fqdn: + fqdn = h + fp = open('conftest.out', 'w') + if not www and fqdn: + fp.write('%s\n%s\n' % (fqdn, fqdn)) + elif www: + dhn = string.join(string.split(www, '.')[1:], '.') + fp.write('%s\n%s\n' % (dhn, www)) + else: + fp.write('please.change.me\nwww.please.change.me\n') + fp.close() + EOF + $PYTHON conftest.py + changequote([, ]) + AC_MSG_CHECKING(for default fully qualified host name) + if test -z "$FQDN" + then + FQDN=`head -1 conftest.out` + fi + AC_MSG_RESULT($FQDN) + AC_MSG_CHECKING(for default URL host component) + if test -z "$URL" + then + URL=`tail -1 conftest.out` + fi + AC_MSG_RESULT($URL) + rm -f conftest.out conftest.py + + # Checks for libraries. + AC_CHECK_FUNCS(strerror) + + # Checks for header files. + AC_HEADER_STDC + AC_CHECK_HEADERS(syslog.h) + + # Checks for typedefs, structures, and compiler characteristics. + AC_TYPE_UID_T + AC_TYPE_GETGROUPS + + # Checks for library functions. + AC_FUNC_VPRINTF + + dnl Output everything + AC_OUTPUT([misc/paths.py Mailman/Defaults.py Mailman/mm_cfg.py + src/Makefile misc/Makefile bin/Makefile + Mailman/Makefile Mailman/Cgi/Makefile Mailman/Logging/Makefile + mail/Makefile templates/Makefile cron/Makefile + filters/Makefile scripts/Makefile + cron/crontab.in Makefile]) + |
