From 83ad49b3ec75c5d0df56a3471d939935829ab4df Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 4 Dec 2006 17:12:22 +0000 Subject: [PATCH] * libSieve download and build for Easy Install. (Not yet tested.) * citadel.h no longer defines CITADEL manually, instead it pulls the package name and version from the build tools. * Updated the documentation slightly in prep for the 7.00 release. --- citadel/citadel.h | 4 ++- citadel/configure.ac | 2 +- citadel/docs/citadel.html | 64 ++++++++++++++++----------------------- citadel/newinstall.sh | 31 +++++++++++++++++++ 4 files changed, 61 insertions(+), 40 deletions(-) diff --git a/citadel/citadel.h b/citadel/citadel.h index df6a38ec1..00f8e4b16 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -32,8 +32,10 @@ extern "C" { /* * Text description of this software + * (We used to define this ourselves, but why bother when + * the GNU build tools do it for us?) */ -#define CITADEL "Citadel 6.90 (beta)" +#define CITADEL PACKAGE_STRING /* * REV_LEVEL is the current version number (multiplied by 100 to avoid having diff --git a/citadel/configure.ac b/citadel/configure.ac index b1584a6ea..9e51ad1ed 100644 --- a/citadel/configure.ac +++ b/citadel/configure.ac @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl $Id$ AC_PREREQ(2.52) -AC_INIT([Citadel], [6.15], [http://uncensored.citadel.org/]) +AC_INIT([Citadel], [6.90], [http://www.citadel.org/]) AC_REVISION([$Revision$]) AC_CONFIG_SRCDIR([citserver.c]) AC_PREFIX_DEFAULT(/usr/local/citadel) diff --git a/citadel/docs/citadel.html b/citadel/docs/citadel.html index af614e483..d881e637e 100644 --- a/citadel/docs/citadel.html +++ b/citadel/docs/citadel.html @@ -595,21 +595,20 @@ the system. It is mandatory that the sysop have "root" access to the operating system. The following are required to install Citadel:

If you are running Citadel on a Linux system, it is STRONGLY -recommended that you run it on a recent distribution (such as Fedora -Core 3 or newer). A new-ish -distribution will have most or all of the prerequisite tools and +recommended that you run it on a recent distribution (such as CentOS +4.1 or newer). A new-ish +distribution will have many of the prerequisite tools and libraries already integrated for you.

Other pieces which complete the Citadel system:

Coming soon:

@@ -638,7 +637,8 @@ by the software if needed. Make sure you have Berkeley DB installed on your system, and that you have all the development libraries and headers in place so that you can compile against them. If you don't, you can -get the latest Berkeley DB at http://www.sleepycat.com. +get the latest Berkeley DB at +http://www.sleepycat.com. If your operating system uses a separate library to support POSIX threads (pthreads), make sure that library is installed as well. This is almost never the case with Linux, but some commercial Unix flavors @@ -1624,16 +1624,11 @@ prevent enormous multimedia files from finding their way into your message base. This maximum is enforced in all protocols and is also advertised by the ESMTP service.

The minimum and maximum number of worker threads can be tuned to -your -liking. Citadel will attempt to keep one worker thread running per -session, -within these constraints. You should be aware that due to the use of -the -worker thread model, Citadel can handle a large number of concurrent -sessions -with a much smaller thread pool. If you don't know the programming -theory -behind multithreaded servers, you should leave these parameters alone.
+your liking. Citadel will attempt to keep one worker thread running per +session, within these constraints. You should be aware that due to the use of +the worker thread model, Citadel can handle a large number of concurrent +sessions with a much smaller thread pool. If you don't know the programming +theory behind multithreaded servers, you should leave these parameters alone.

'Automatically delete committed database logs' is a crucial setting which affects your @@ -1977,7 +1972,7 @@ the server from a shell and watch it load. It might look something like this:

-
smw @ pixel % ./citserver

Multithreaded message server for Citadel
Copyright (C) 1987-2003 by the Citadel development team.
Citadel is open source, covered by the GNU General Public License, and
you are welcome to change it and/or distribute copies of it under certain
conditions. There is absolutely no warranty for this software. Please
read the 'COPYING.txt' file for details.

Loading citadel.config
Opening databases
This is GDBM version 1.8.0, as of May 19, 1999.
Checking floor reference counts
Creating base rooms (if necessary)
Registered a new service (TCP port 504)
Registered a new service (TCP port 0)
Initializing loadable modules
Registered server command CHAT (Begin real-time chat)
Registered server command PEXP (Poll for instant messages)
Registered server command GEXP (Get instant messages)
Registered server command SEXP (Send an instant message)
Registered server command DEXP (Disable instant messages)
Registered a new session function (type 0)
Registered a new x-msg function (priority 0)
Loaded module: $Id$
Registered a new session function (type 1)
Registered a new message function (type 201)
Registered a new message function (type 202)
Registered server command REGI (Enter registration info)
Registered server command GREG (Get registration info)
Registered a new user function (type 100)
Loaded module: $Id$
Server-hosted upgrade level is 5.62
Loaded module: $Id$
Registered server command EXPI (Expire old system objects)
Registered server command FSCK (Check message ref counts)
Loaded module: $Id$
citserver: Can't bind: Address already in use
ERROR: could not bind to TCP port 25.

Registered a new service (TCP port 0)
Registered a new session function (type 50)
Loaded module: $Id$
citserver: Can't bind: Address already in use
ERROR: could not bind to TCP port 110.

Registered a new session function (type 0)
Loaded module: $Id$
Registered a new message function (type 202)Loaded module: $Id$
Registered server command RWHO (Display who is online)
Registered server command HCHG (Masquerade hostname)
Registered server command RCHG (Masquerade roomname)
Registered server command UCHG (Masquerade username)
Registered server command STEL (Enter/exit stealth mode)
Loaded module: $Id$
Changing uid to 513
Starting housekeeper thread
+
smw @ pixel % ./citserver

Multithreaded message server for Citadel
Copyright (C) 1987-2006 by the Citadel development team.
Citadel is open source, covered by the GNU General Public License, and
you are welcome to change it and/or distribute copies of it under certain
conditions. There is absolutely no warranty for this software. Please
read the 'COPYING.txt' file for details.

Loading citadel.config
Opening databases
This is GDBM version 1.8.0, as of May 19, 1999.
Checking floor reference counts
Creating base rooms (if necessary)
Registered a new service (TCP port 504)
Registered a new service (TCP port 0)
Initializing loadable modules
Registered server command CHAT (Begin real-time chat)
Registered server command PEXP (Poll for instant messages)
Registered server command GEXP (Get instant messages)
Registered server command SEXP (Send an instant message)
Registered server command DEXP (Disable instant messages)
Registered a new session function (type 0)
Registered a new x-msg function (priority 0)
Loaded module: $Id$
Registered a new session function (type 1)
Registered a new message function (type 201)
Registered a new message function (type 202)
Registered server command REGI (Enter registration info)
Registered server command GREG (Get registration info)
Registered a new user function (type 100)
Loaded module: $Id$
Server-hosted upgrade level is 5.62
Loaded module: $Id$
Registered server command EXPI (Expire old system objects)
Registered server command FSCK (Check message ref counts)
Loaded module: $Id$
citserver: Can't bind: Address already in use
ERROR: could not bind to TCP port 25.

Registered a new service (TCP port 0)
Registered a new session function (type 50)
Loaded module: $Id$
citserver: Can't bind: Address already in use
ERROR: could not bind to TCP port 110.

Registered a new session function (type 0)
Loaded module: $Id$
Registered a new message function (type 202)Loaded module: $Id$
Registered server command RWHO (Display who is online)
Registered server command HCHG (Masquerade hostname)
Registered server command RCHG (Masquerade roomname)
Registered server command UCHG (Masquerade username)
Registered server command STEL (Enter/exit stealth mode)
Loaded module: $Id$
Changing uid to 513
Starting housekeeper thread

The lines emphasized in boldface in the above log output tell you that Citadel "can't bind" to various ports. The error 'address already in use' generally means that something else is already running on the @@ -2041,7 +2036,7 @@ tell Citadel to forward all of its outbound mail to your other mail system.

Hosting an Internet mailing list

-

Citadel has built in mailing list service (known in the 'net +

Citadel has built in mailing list service (known in Internet vernacular as "listserv") functionality.  You can turn any room into a mailing list.  Users can then choose how they participate -- by logging on to your Citadel server directly, or by having the @@ -2134,8 +2129,7 @@ application, one way to 'keep the conversation going' is to share rooms with other Citadel systems. In a shared room, a message posted to the room is automatically propagated to every system on the network. It's kind of like a UseNet -newsgroup, -but without the spam.

+newsgroup, but without the spam.

If you are using Citadel as the e-mail and groupware platform for a large organization, you can use its networking features to build a large network of Citadel servers which share content (think of rooms as @@ -2144,8 +2138,7 @@ integrate the global address book.  It might make sense, for example, in a large corporation to give each department or location its own Citadel server.  Thanks to Citadel's global address book features, you could still have all of -the -users share a single e-mail domain.

+the users share a single e-mail domain.

Obviously, the first thing you have to do is find another Citadel to share rooms with, and make arrangements with them. The following Citadels are a good place to start:

@@ -2154,8 +2147,6 @@ Citadels are a good place to start:

  • The Dog Pound II - dogpound2.citadel.org
  • -
  • PixelBBS - pixel.citadel.org -
  • You don't have to be a part of the citadel.org domain to participate in the public Citadel network, but the DNS service is provided free of @@ -2238,14 +2229,11 @@ your favorite text editor, right?) with a screen that looks like this:

    # Configuration for room: Quiche Recipes
    # Nodes with which we share this room
    # Specify one per line.

    All you have to do is enter the name of the other Citadel node (i.e. "frobozz" in our example) on a line by itself. As usual, lines starting -with a -"#" are comments. Just go to the end of the file, type "frobozz" -(without -the quotes), save the file... and you're done!

    +with a "#" are comments. Just go to the end of the file, type "frobozz" +(without the quotes), save the file... and you're done!

    At this point, you just sit back and enjoy. Your Citadel and the other one will begin polling each other at regular intervals (once per -hour -by default) and sharing messages.

    +hour by default) and sharing messages.

    Sending mail

    You can send mail to any user on any node of your Citadel network. It may take a little while for your system to learn the entire node @@ -2269,17 +2257,17 @@ would occur every 15 minutes.

    maintenance

    Introduction

    The data store used by Citadel is reliable and self-maintaining. - It requires very little maintenance.  This is primarily due + It requires very little maintenance. This is primarily due to its use of the Berkeley DB record manager.  It is robust, high-performance, and transactional.

    A few small data files are kept in your main Citadel directory, but the -databases are in the data/ subdirectory.  The files with +databases are in the data/ subdirectory. The files with names that begin with "cdb" are the databases themselves; the files with names that begin with "log" are the logs (sometimes referred to as "journals").  Log files will continue to appear as you use your system; each will grow to approximately 10 megabytes in size before a -new one is started.  There is a system configuration setting +new one is started. There is a system configuration setting (found in .Aide System-configuration /dev/null } +install_libsieve () { + cd $BUILD 2>&1 >>$LOG || die + FILENAME=libsieve-easyinstall.sum ; download_this + SUM=`cat libsieve-easyinstall.sum` + SUMFILE=$SUPPORT/etc/libsieve-easyinstall.sum + if [ -r $SUMFILE ] ; then + OLDSUM=`cat $SUMFILE` + if [ $SUM = $OLDSUM ] ; then + echo "* libsieve does not need updating." + return + fi + fi + echo "* Downloading libsieve..." + FILENAME=$LIBSIEVE_SOURCE ; download_this + echo "* Installing libsieve..." + ( gzip -dc $LIBSIEVE_SOURCE | tar -xf - ) 2>&1 >>$LOG || die + cd $BUILD/libsieve-2.2.3/src 2>&1 >>$LOG || die + ./configure --prefix=$SUPPORT 2>&1 >>$LOG || die + $MAKE $MAKEOPTS 2>&1 >>$LOG || die + $MAKE install 2>&1 >>$LOG || die + echo " Complete." + echo $SUM >$SUMFILE + rm -f $CITADEL/citadel-easyinstall.sum 2>/dev/null +} + install_db () { cd $BUILD 2>&1 >>$LOG || die FILENAME=db-easyinstall.sum ; download_this @@ -241,6 +268,10 @@ install_prerequisites () { then install_ical fi + if [ -z "$OK_LIBSIEVE" ] + then + install_libsieve + fi if [ -z "$OK_DB" ] then install_db -- 2.30.2