add devtool environment and bump version
This commit is contained in:
parent
e8a971cbb8
commit
a67daab901
@ -2,3 +2,8 @@ configure config.log config.cache config.status Makefile
|
||||
acl.c acl-scan.c acl-scan.h
|
||||
petidomo
|
||||
petidomo.1
|
||||
config.guess
|
||||
config.sub
|
||||
libtool.m4
|
||||
ltmain.sh
|
||||
shtool
|
||||
|
||||
202
README
202
README
@ -1,45 +1,179 @@
|
||||
OSSP Petidomo 4.0
|
||||
_ ___ ____ ____ ____ _ _ _
|
||||
|_|_ _ / _ \/ ___/ ___|| _ \ _ __ ___| |_(_) __| | ___ _ __ ___ ___
|
||||
_|_||_| | | | \___ \___ \| |_) || '_ \ / _ \ __| |/ _` |/ _ \| '_ ` _ \ / _ \
|
||||
|_||_|_| | |_| |___) |__) | __/ | |_) | __/ |_| | (_| | (_) | | | | | | (_) |
|
||||
|_|_|_| \___/|____/____/|_| | .__/ \___|\__|_|\__,_|\___/|_| |_| |_|\___/
|
||||
|_|
|
||||
OSSP petidomo - mailing list manager
|
||||
Version 4.0b3 (02-Feb-2004)
|
||||
|
||||
On December 12th, 2000, CyberSolutions GmbH published a version of
|
||||
Petidomo 2.2 under the GNU General Public License. The OSSP project
|
||||
enhanced that version significantly and hereby releases the result of
|
||||
its efforts as »OSSP Petidomo 4.0«. OSSP Petidomo is a small but
|
||||
powerful package that can be used to host and maintain mailing lists
|
||||
on an Unix machine. Its only requirement is that there is a working
|
||||
mail transport agent installed, such as sendmail.
|
||||
ABSTRACT
|
||||
|
||||
OSSP Petidomo has -- among other things -- the following features:
|
||||
On December 12th, 2000, CyberSolutions GmbH published a version of
|
||||
Petidomo 2.2 under the GNU General Public License. The OSSP project
|
||||
enhanced that version significantly and hereby releases the result
|
||||
of its efforts as »OSSP Petidomo 4.0«. OSSP Petidomo is a small but
|
||||
powerful package that can be used to host and maintain mailing lists
|
||||
on an Unix machine. Its only requirement is that there is a working
|
||||
mail transport agent installed, such as sendmail.
|
||||
|
||||
* A simple-to-use e-mail command interface, which can be used by
|
||||
users and administrators of a mailing list to subscribe or
|
||||
unsubscribe addresses, approve postings that have been deferred or
|
||||
rejected, list all subscribed addresses of a list, etc.
|
||||
OSSP Petidomo has -- among other things -- the following features:
|
||||
|
||||
* Petidomo supports various modes of operation for a mailing list
|
||||
such as open lists, closed lists, and moderated lists.
|
||||
* A simple-to-use e-mail command interface, which can be used by users
|
||||
and administrators of a mailing list to subscribe or unsubscribe
|
||||
addresses, approve postings that have been deferred or rejected,
|
||||
alist ll subscribed addresses of a list, etc.
|
||||
|
||||
* Petidomo supports various modes of operation for a mailing list such
|
||||
as open lists, closed lists, and moderated lists.
|
||||
|
||||
* Mailing list subscriptions or postings can be verified by requiring
|
||||
an acknowledgement. This feature is particularly useful when used
|
||||
for mailing list postings as it will keep the vast majority of all
|
||||
spam mail off the list.
|
||||
|
||||
* Petidomo can host an arbitrary number of mailing lists in entirely
|
||||
different domain name spaces -- also known as »Virtual Hosting«.
|
||||
|
||||
* A powerful »Access Control Language« (ACL) can be used to reject,
|
||||
approve, drop, or redirect postings or subscription attempts.
|
||||
|
||||
* Mailing list postings can be piped through an external »Posting
|
||||
Filter«, which can modify the article before it's delivered in any
|
||||
way it sees fit.
|
||||
|
||||
* Mailing list subscriptions or postings can be verified by requiring
|
||||
an acknowledgement. This feature is particularly useful when used
|
||||
for mailing list postings as it will keep the vast majority of all
|
||||
spam mail off the list.
|
||||
* Petidomo can be configured to add arbitrary headers to any mail
|
||||
that's posted on a mailing list.
|
||||
|
||||
* Petidomo can be configured to add a signature to any mail that's
|
||||
posted on a mailing list.
|
||||
|
||||
* Petidomo can host an arbitrary number of mailing lists in entirely
|
||||
different domain name spaces -- also known as »Virtual Hosting«.
|
||||
The whole package is written in ISO-C and should compile
|
||||
out-of-the-box on any POSIX.1 compliant system that provides a mail
|
||||
transport agent. It has been released under the GNU General Public
|
||||
License.
|
||||
|
||||
* A powerful »Access Control Language« (ACL) can be used to reject,
|
||||
approve, drop, or redirect postings or subscription attempts.
|
||||
COPYRIGHT AND LICENSE
|
||||
|
||||
* Mailing list postings can be piped through an external »Posting
|
||||
Filter«, which can modify the article before it's delivered in any
|
||||
way it sees fit.
|
||||
Copyright (c) 2004 The OSSP Project <http://www.ossp.org/>
|
||||
|
||||
* Petidomo can be configured to add arbitrary headers to any mail
|
||||
that's posted on a mailing list.
|
||||
This file is part of OSSP petidomo, an application for managing
|
||||
mailing lists which can found at http://www.ossp.org/pkg/lib/uuid/
|
||||
|
||||
* Petidomo can be configured to add a signature to any mail that's
|
||||
posted on a mailing list.
|
||||
Permission to use, copy, modify, and distribute this software for
|
||||
any purpose with or without fee is hereby granted, provided that
|
||||
the above copyright notice and this permission notice appear in all
|
||||
copies.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
HOME AND DOCUMENTATION
|
||||
|
||||
The documentation and latest release can be found on
|
||||
|
||||
o http://www.ossp.org/pkg/lib/uuid/
|
||||
o ftp://ftp.ossp.org/pkg/lib/uuid/
|
||||
|
||||
PETI's STATEMENT
|
||||
|
||||
Petidomo Mailing List Manager
|
||||
Version 4.0b3 (02-Feb-2004)
|
||||
|
||||
|
||||
Greetings citizen,
|
||||
|
||||
I know how tedious reading "manuals" is when you're eager to install
|
||||
the new software, so I'll keep it as short as possible. Before
|
||||
Petidomo can be installed, either from a binary or a source
|
||||
distribution, you -must- do the following:
|
||||
|
||||
1) Create a user of the name "petidomo".
|
||||
|
||||
The petidomo-user is needed by the software, but will usually not
|
||||
be used to log into the system, so you should set the password
|
||||
entry to "*" and the login shell to "/usr/bin/true" or
|
||||
"/sbin/nologin" -- depending on what your system uses.
|
||||
|
||||
|
||||
2) Create a group of the name "petidomo".
|
||||
|
||||
This group should contain all users of your system who are allowed
|
||||
to administrate Petidomo or for other reasons need access to the
|
||||
installation. The "petidomo" user should be a member of this
|
||||
group, too, even though this is not strictly necessary.
|
||||
|
||||
|
||||
3) Create the home directory of the "petidomo" user.
|
||||
|
||||
The home directory is the place where the package will live. A
|
||||
good place is "/usr/local/petidomo", but you can place it
|
||||
wherever it suits your installation.
|
||||
|
||||
|
||||
Once the user, the group and the directory exist, you can use the
|
||||
following mechanisms to do the actual installation.
|
||||
|
||||
If you're upgrading from Petidomo 2.0 and have some mailing lists
|
||||
installed already, you can safely use these mechanisms, too. In no
|
||||
event will the installation procedure overwrite your config files or
|
||||
change anything except for the actual binaries.
|
||||
|
||||
The installation itself works as follows:
|
||||
|
||||
Binary distribution:
|
||||
|
||||
Become 'root' and start the "install.sh" script, which can be
|
||||
found in the same directory as this file. install.sh will populate
|
||||
the home directory of the petidomo user and insert the required
|
||||
mail aliases into /etc/aliases. Then it will install the CGI
|
||||
config manager and that's it: Petidomo is ready to run.
|
||||
|
||||
|
||||
Source distribution:
|
||||
|
||||
Obviously you need to compile the sources first of all. In order
|
||||
to compile Petidomo, you will need the following tools:
|
||||
|
||||
- a C compiler, preferably gcc or egcs
|
||||
|
||||
- a version of make(1) that understands the "include" and
|
||||
".PHONY" statement (use GNU make if your native make doesn't)
|
||||
|
||||
- flex, the GNU version of lex
|
||||
|
||||
- bison, the GNU version of yacc, at least version 1.25. Older
|
||||
version -might- work, but I had problems with them, because
|
||||
they're lacking the YYERROR_VERBOSE mechanism.
|
||||
|
||||
If you have all these tools, you can compile Petidomo with the
|
||||
following commands:
|
||||
|
||||
$ make
|
||||
$ make install (must be done as root)
|
||||
|
||||
|
||||
In case you experience any problems you're not able to fix, you're
|
||||
welcome to file a problem report with the "send-pr" utility, included
|
||||
in the distribution. You might also want to check out the
|
||||
petidomo-users mailing list, to which you can subscribe by sending a
|
||||
SUBSCRIBE command to the following address:
|
||||
|
||||
petidomo-users-request@petidomo.com
|
||||
|
||||
Okay, I hope you'll find the Petidomo Mailing List Manager useful, and
|
||||
may the force be with you!
|
||||
|
||||
|
||||
Peter Simons <simons@petidomo.com>
|
||||
|
||||
The whole package is written in ISO-C and should compile
|
||||
out-of-the-box on any POSIX.1 compliant system that provides a mail
|
||||
transport agent. It has been released under the GNU General Public
|
||||
License.
|
||||
|
||||
@ -8,10 +8,10 @@ AC_INIT(petidomo.h)
|
||||
|
||||
dnl Print the standard OSSP.
|
||||
dnl
|
||||
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)
|
||||
V=`./etc/shtool version -lc -dlong version.c`
|
||||
./etc/shtool echo -e "Configuring %BOSSP Petidomo%b, Version %B${V}%b"
|
||||
AC_DIVERT_POP()
|
||||
dnl AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)
|
||||
V=`./shtool version -lc -dlong version.c`
|
||||
./shtool echo -e "Configuring %BOSSP Petidomo%b, Version %B${V}%b"
|
||||
dnl AC_DIVERT_POP()
|
||||
|
||||
dnl Get rid of the lousy -g and -O defaults in CFLAGS.
|
||||
dnl
|
||||
|
||||
47
devtool
Executable file
47
devtool
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
##
|
||||
## devtool -- Development Tool
|
||||
## Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com>
|
||||
##
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "devtool:USAGE: devtool <command> [<arg> ...]" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmd="$1"
|
||||
shift
|
||||
|
||||
devtoolfunc="./devtool.func"
|
||||
|
||||
if [ ! -f devtool.conf ]; then
|
||||
echo "devtool:ERROR: no devtool.conf in current directory" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmdline=`grep "^%$cmd" devtool.conf`
|
||||
if [ ".$cmdline" = . ]; then
|
||||
echo "devtool:ERROR: command $cmd not found in devtool.conf" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ".$TMPDIR" != . ]; then
|
||||
tmpdir="$TMPDIR"
|
||||
elif [ ".$TEMPDIR" != . ]; then
|
||||
tmpdir="$TEMPDIR"
|
||||
else
|
||||
tmpdir="/tmp"
|
||||
fi
|
||||
tmpfile="$tmpdir/rc.$$.tmp"
|
||||
|
||||
rm -f $tmpfile
|
||||
touch $tmpfile
|
||||
echo ". $devtoolfunc" >>$tmpfile
|
||||
( sed <devtool.conf -e "1,/^%common/d" -e '/^%.*/,$d'
|
||||
sed <devtool.conf -e "1,/^%$cmd/d" -e '/^%.*/,$d' ) |\
|
||||
sed -e 's;\([ ]\)@\([a-zA-Z_][a-zA-Z0-9_]*\);\1devtool_\2;' >>$tmpfile
|
||||
|
||||
sh $tmpfile "$@"
|
||||
|
||||
rm -f $tmpfile >/dev/null 2>&1 || true
|
||||
|
||||
91
devtool.conf
Normal file
91
devtool.conf
Normal file
@ -0,0 +1,91 @@
|
||||
##
|
||||
## devtool.conf -- Development Tool Configuration
|
||||
##
|
||||
|
||||
%autogen
|
||||
@autogen shtool 1.6.2 "1.6.*" all
|
||||
@autogen libtool 1.5.2 "1.5*"
|
||||
@autogen autoconf 2.59 "2.5[3-9]*"
|
||||
|
||||
%autoclean
|
||||
@autoclean shtool
|
||||
@autoclean libtool
|
||||
@autoclean autoconf
|
||||
|
||||
%configure
|
||||
./configure \
|
||||
--prefix=/tmp/petidomo \
|
||||
--disable-shared \
|
||||
--enable-debug \
|
||||
"$@"
|
||||
|
||||
%release
|
||||
./devtool version
|
||||
./devtool tag
|
||||
./devtool dist
|
||||
./devtool upload
|
||||
|
||||
%version
|
||||
./shtool version -l c -n "OSSP petidomo" -p petidomo_ -e version.c
|
||||
V=`./shtool version -l c -d long version.c`
|
||||
sed -e "s/Version .*/Version $V/g" <README >README.n && mv README.n README
|
||||
|
||||
%tag
|
||||
V=`./shtool version -l c -dshort version.c | sed -e 's;\.;_;g'`
|
||||
echo "+++ tagging CVS sources as PETIDOMO_${V}"
|
||||
cvs commit -m 'flush pending changes before tagging'
|
||||
cvs tag PETIDOMO_${V}
|
||||
|
||||
%dist
|
||||
echo "+++ removing old tarballs"
|
||||
rm -f petidomo-*.tar.gz
|
||||
echo "+++ generating"
|
||||
./devtool autoclean
|
||||
./devtool autogen
|
||||
echo "+++ configuring"
|
||||
./configure
|
||||
echo "+++ building"
|
||||
make clean all man
|
||||
echo "+++ cleaning"
|
||||
make distclean
|
||||
echo "+++ fixing"
|
||||
./shtool fixperm -v .
|
||||
echo "+++ rolling"
|
||||
V=`./shtool version -l c -d short version.c`
|
||||
./shtool tarball -o petidomo-${V}.tar.gz -d petidomo-${V} -u ossp -g ossp \
|
||||
-e 'CVS,\.cvsignore,\.[ao]$,^\.,devtool*,*.tar.gz,^#.*,.*~$' -c 'gzip --best' .
|
||||
ls -l petidomo-${V}.tar.gz
|
||||
echo "+++ testing"
|
||||
gunzip <petidomo-${V}.tar.gz | tar tvf - | head -10
|
||||
echo "[...]"
|
||||
gunzip <petidomo-${V}.tar.gz | tar tvf - | tail -10
|
||||
|
||||
%snap
|
||||
echo "+++ removing old tarballs"
|
||||
rm -f petidomo-*.tar.gz
|
||||
echo "+++ generating"
|
||||
./devtool autoclean
|
||||
./devtool autogen
|
||||
echo "+++ configuring"
|
||||
./configure
|
||||
echo "+++ building"
|
||||
make clean all man
|
||||
echo "+++ cleaning"
|
||||
make distclean
|
||||
echo "+++ fixing"
|
||||
./shtool fixperm -v .
|
||||
echo "+++ rolling"
|
||||
D=`date '+%Y%m%d'`
|
||||
./shtool tarball -o petidomo-SNAP-${D}.tar.gz -d petidomo-SNAP-${D} -u ossp -g ossp \
|
||||
-e 'CVS,\.cvsignore,\.[ao]$,^\.,devtool*,*.tar.gz,^#.*,.*~$' -c 'gzip --best' .
|
||||
ls -l petidomo-SNAP-${D}.tar.gz
|
||||
echo "+++ testing"
|
||||
gunzip <petidomo-SNAP-${D}.tar.gz | tar tvf - | head -10
|
||||
echo "[...]"
|
||||
gunzip <petidomo-SNAP-${D}.tar.gz | tar tvf - | tail -10
|
||||
|
||||
%upload
|
||||
echo "+++ copying to ftp://ftp.ossp.org/pkg/lib/petidomo/"
|
||||
V=`./shtool version -l c -d short version.c`
|
||||
scp petidomo-${V}.tar.gz master.ossp.org:/e/ossp/ftp/pkg/tool/petidomo/
|
||||
|
||||
73
devtool.func
Normal file
73
devtool.func
Normal file
@ -0,0 +1,73 @@
|
||||
##
|
||||
## devtool.func -- Development Tool Functions
|
||||
## Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com>
|
||||
##
|
||||
|
||||
devtool_require () {
|
||||
t="$1"; o="$2"; p="$3"; e="$4"; a="$5"
|
||||
v=`($t $o | head -1 | awk "{ print \\\$$p; }") 2>/dev/null`
|
||||
if [ ".$v" = . ]; then
|
||||
echo "devtool:ERROR: unable to determine version of $t" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
case "$v" in
|
||||
$e )
|
||||
;;
|
||||
$a )
|
||||
echo "devtool:WARNING: $t version $v still accepted, although expected $e." 1>&2
|
||||
;;
|
||||
* )
|
||||
echo "devtool:ERROR: $t version $e expected, but found $v." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
echo "$v"
|
||||
}
|
||||
|
||||
devtool_autogen () {
|
||||
tool=$1
|
||||
shift
|
||||
case $tool in
|
||||
autoconf )
|
||||
autoconf_version=`devtool_require autoconf --version 4 "$1" "$2"`
|
||||
echo "generating (GNU Autoconf $autoconf_version): configure config.h.in"
|
||||
autoconf
|
||||
autoheader 2>&1 | grep -v "is unchanged"
|
||||
rm -rf autom4te.cache >/dev/null 2>&1
|
||||
;;
|
||||
libtool )
|
||||
libtoolize_version=`devtool_require libtoolize --version 4 "$1" "$2"`
|
||||
echo "generating (GNU Libtool $libtoolize_version): ltmain.sh, libtool.m4, config.guess, config.sub"
|
||||
libtoolize --force --copy >/dev/null 2>&1
|
||||
cp `libtoolize --force --copy --dry-run | grep "add the contents of" |\
|
||||
sed -e 's;^[^\`]*\`;;' -e "s;'.*;;"` libtool.m4
|
||||
;;
|
||||
shtool )
|
||||
shtoolize_version=`devtool_require shtoolize -v 3 "$1" "$2"`
|
||||
echo "generating (GNU Shtool $shtoolize_version): shtool"
|
||||
shift
|
||||
shift
|
||||
shtoolize -q "$@"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
devtool_autoclean () {
|
||||
tool=$1
|
||||
shift
|
||||
case $tool in
|
||||
autoconf )
|
||||
echo "removing: configure config.h.in"
|
||||
rm -f configure config.h.in
|
||||
;;
|
||||
libtool )
|
||||
echo "removing: ltmain.sh libtool.m4 config.guess config.sub"
|
||||
rm -f ltmain.sh libtool.m4 config.guess config.sub
|
||||
;;
|
||||
shtool )
|
||||
echo "removing: shtool"
|
||||
rm -f shtool
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
18
version.c
18
version.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
** version.c -- Version Information for Petidomo (syntax: C/C++)
|
||||
** version.c -- Version Information for OSSP petidomo (syntax: C/C++)
|
||||
** [automatically generated and maintained by GNU shtool]
|
||||
*/
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#ifndef _VERSION_C_
|
||||
#define _VERSION_C_
|
||||
|
||||
#define PETIDOMO_VERSION 0x400102
|
||||
#define PETIDOMO_VERSION 0x400103
|
||||
|
||||
typedef struct {
|
||||
const int v_hex;
|
||||
@ -32,13 +32,13 @@ extern petidomo_version_t petidomo_version;
|
||||
#undef _VERSION_C_AS_HEADER_
|
||||
|
||||
petidomo_version_t petidomo_version = {
|
||||
0x400102,
|
||||
"4.0b2",
|
||||
"4.0b2 (24-Apr-2002)",
|
||||
"This is Petidomo, Version 4.0b2 (24-Apr-2002)",
|
||||
"Petidomo 4.0b2 (24-Apr-2002)",
|
||||
"Petidomo/4.0b2",
|
||||
"@(#)Petidomo 4.0b2 (24-Apr-2002)",
|
||||
0x400103,
|
||||
"4.0b3",
|
||||
"4.0b3 (02-Feb-2004)",
|
||||
"This is OSSP petidomo, Version 4.0b3 (02-Feb-2004)",
|
||||
"OSSP petidomo 4.0b3 (02-Feb-2004)",
|
||||
"OSSP petidomo/4.0b3",
|
||||
"@(#)OSSP petidomo 4.0b3 (02-Feb-2004)",
|
||||
"$Id$"
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user