[Pkg-mailman-hackers] Pkg-mailman commit - rev 130 - in
branches/pkg-split/core/debian: . Debian contrib patches
Bernd S. Brentrup
bsb at haydn.debian.org
Sun Sep 10 19:12:29 UTC 2006
Author: bsb
Date: 2004-05-18 10:29:43 -0600 (Tue, 18 May 2004)
New Revision: 130
Added:
branches/pkg-split/core/debian/mailman-i18n.postrm
branches/pkg-split/core/debian/patches/58_fix_translations.dpatch
branches/pkg-split/core/debian/patches/59_build_arch_indep.dpatch
Modified:
branches/pkg-split/core/debian/Debian/__init__.py
branches/pkg-split/core/debian/Debian/templates.py
branches/pkg-split/core/debian/TODO
branches/pkg-split/core/debian/contrib/postfix-to-mailman.py
branches/pkg-split/core/debian/mailman-i18n.config
branches/pkg-split/core/debian/mailman-i18n.postinst
branches/pkg-split/core/debian/mailman-i18n.prerm
branches/pkg-split/core/debian/mailman-i18n.templates
branches/pkg-split/core/debian/mailman-trans.install
branches/pkg-split/core/debian/mailman-trans.postinst
branches/pkg-split/core/debian/mailman.config
branches/pkg-split/core/debian/mailman.dirs
branches/pkg-split/core/debian/mailman.init
branches/pkg-split/core/debian/mailman.install
branches/pkg-split/core/debian/mailman.links
branches/pkg-split/core/debian/mailman.postinst
branches/pkg-split/core/debian/mailman.postrm
branches/pkg-split/core/debian/mailman.preinst
branches/pkg-split/core/debian/mailman.prerm
branches/pkg-split/core/debian/mailman.templates
branches/pkg-split/core/debian/patches/00list
branches/pkg-split/core/debian/patches/40_FHS_dirs.dpatch
branches/pkg-split/core/debian/rules
Log:
Install python code in /usr/lib/mailman getting rid
of symlinks from /var/lib/mailman.
Modified: branches/pkg-split/core/debian/Debian/__init__.py
===================================================================
--- branches/pkg-split/core/debian/Debian/__init__.py 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/Debian/__init__.py 2004-05-18 16:29:43 UTC (rev 130)
@@ -2,9 +2,13 @@
# $Id$
from helpers import *
-from templates import mm_cfg_defaults, mm_cfg_fillin, mm_crontab
from cf_db import ConfFileDatabase
+try:
+ from templates import mm_cfg_defaults, mm_cfg_fillin, mm_crontab
+except ImportError:
+ pass
+
mm_languages="big5 ca cs da de en es et eu fi fr gb hr hu it ja ko lt nl no pl pt pt_BR ro ru sl sr sv uk".split()
cfdb = ConfFileDatabase('/var/lib/mailman/data/debcf.db')
Modified: branches/pkg-split/core/debian/Debian/templates.py
===================================================================
--- branches/pkg-split/core/debian/Debian/templates.py 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/Debian/templates.py 2004-05-18 16:29:43 UTC (rev 130)
@@ -29,7 +29,7 @@
From a raw distribution it should be copied to mm_cfg.py. If you
already have an mm_cfg.py, be careful to add in only the new settings
you want. The complete set of distributed defaults, with annotation,
-are in /var/lib/mailman/Mailman/Defaults.py. In mm_cfg, override only
+are in /usr/lib/mailman/Mailman/Defaults.py. In mm_cfg, override only
those you want to change, after the
from Defaults import *
@@ -64,58 +64,57 @@
MAILMAN_SITE_LIST = %(MAILMAN_SITE_LIST)r
#-------------------------------------------------------------
-# If you change these, you have to configure your http server
-# accordingly (Alias and ScriptAlias directives in most httpds)
-DEFAULT_URL_PATTERN = %(DEFAULT_URL_PATTERN)r
-# For logos on MM web pages, add this to your httpd config:
-# Alias %(IMAGE_LOGOS)s /usr/share/images/mailman/
-IMAGE_LOGOS = %(IMAGE_LOGOS)r
-
+# Virtual host httpd setup, if you don't use a virtual host
+# just copy the ScriptAlias and Alias directives.
+#
+# <Virtualhost %(DEFAULT_URL_HOST)s>
+# ServerName %(DEFAULT_URL_HOST)s
+# ScriptAlias %(default_url_path)s /usr/lib/cgi-bin/mailman/
+# Alias /pipermail/ %(PUBLIC_ARCHIVE_FILE_DIR)s/
+# Alias %(IMAGE_LOGOS)s /usr/share/images/mailman/
+# </VirtualHost>
#-------------------------------------------------------------
-# Default host for web interface of newly created MLs
DEFAULT_URL_HOST = %(DEFAULT_URL_HOST)r
-#-------------------------------------------------------------
-# Default domain for email addresses of newly created MLs
DEFAULT_EMAIL_HOST = %(DEFAULT_EMAIL_HOST)r
-#-------------------------------------------------------------
-# Required when setting any of its arguments.
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
+DEFAULT_URL_PATTERN = %(DEFAULT_URL_PATTERN)r
+IMAGE_LOGOS = %(IMAGE_LOGOS)r
#-------------------------------------------------------------
-# The default language for this server (may be changed to a
-# supported language when mailman-i18n is installed).
-DEFAULT_SERVER_LANGUAGE = %(DEFAULT_SERVER_LANGUAGE)r
+# Depending on your MTA setup, the MTA configuration variable
+# controls how aliases are generated.
+# At the time of this writing legal values are:
+# None - your MTA automatically recognizes new lists
+# 'Postfix' - you are using postfix virtual domains
+# 'Manual' - default, meaning you have to manually create the
+# aliases in /etc/aliases or similar.
+# In any case, please read the MTA specific README.* in
+# /usr/share/doc/mailman before setting this.
+MTA=%(MTA)r
#-------------------------------------------------------------
-# Don't use address from envelope instead of from headers when
-# determining if a message comes from a list member.
+# The USE_ENVELOPE_SENDER variable controls the order in which
+# headers are searched when determining if a message originates
+# from a subscriber. When True, the order is Sender:, From:,
+# unixfrom, when False it is From:, Sender:, unixfrom. In both
+# cases the first address encountered is used.
+# Debian default is not to use the envelope address when
+# determining if a message comes from a subscriber.
+# This option applies globally to all mailing lists.
USE_ENVELOPE_SENDER = %(USE_ENVELOPE_SENDER)r
#-------------------------------------------------------------
-# By default don't send monthly password reminders for newly
-# created lists.
+# Debian default is not to send monthly password reminders
+# on newly created lists. This can be changed per list.
DEFAULT_SEND_REMINDERS = %(DEFAULT_SEND_REMINDERS)r
#-------------------------------------------------------------
-# Uncomment this if you configured your MTA such that it
-# automatically recognizes newly created lists.
-# (see /usr/share/doc/mailman/README.{EXIM,...})
-# MTA=None # Misnomer, suppresses alias output on newlist
+# The default language for this server (may be changed to a
+# supported language when mailman-i18n is installed).
+DEFAULT_SERVER_LANGUAGE = %(DEFAULT_SERVER_LANGUAGE)r
-#-------------------------------------------------------------
-# Uncomment if you use Postfix virtual domains, but be sure to
-# read /usr/share/doc/mailman/README.POSTFIX first.
-# MTA='Postfix'
-
# Note - if you're looking for something that is imported from mm_cfg, but you
# didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py.
-
-#-------------------------------------------------------------
-# Local settings not managed by Debian maintainer scripts.
-# only variables not mentioned above are preserved on package
-# upgrade. If you define variables mentioned above here,
-# the last setting here will be used above and occurrences
-# below are removed.
'''#
mm_crontab = '''\
@@ -126,25 +125,25 @@
# At 8AM every day, mail reminders to admins as to pending requests.
# They are less likely to ignore these reminders if they're mailed
# early in the morning, but of course, this is local time... ;)
-0 8 * * * list /var/lib/mailman/cron/checkdbs
+0 8 * * * list /usr/lib/mailman/cron/checkdbs
#
# At 9AM, send notifications to disabled members that are due to be
# reminded to re-enable their accounts.
-0 9 * * * list /var/lib/mailman/cron/disabled
+0 9 * * * list /usr/lib/mailman/cron/disabled
#
# Noon, mail digests for lists that do periodic as well as threshhold delivery.
-0 12 * * * list /var/lib/mailman/cron/senddigests
+0 12 * * * list /usr/lib/mailman/cron/senddigests
#
# 5 AM on the first of each month, mail out password reminders.
-0 5 1 * * list /var/lib/mailman/cron/mailpasswds
+0 5 1 * * list /usr/lib/mailman/cron/mailpasswds
#
# Every 5 mins, try to gate news to mail. You can comment this one out
# if you don't want to allow gating, or don't have any going on right now,
# or want to exclusively use a callback strategy instead of polling.
-# 0,5,10,15,20,25,30,35,40,45,50,55 * * * * list /var/lib/mailman/cron/gate_news
+# 0,5,10,15,20,25,30,35,40,45,50,55 * * * * list /usr/lib/mailman/cron/gate_news
#
# At 3:27am every night, regenerate the gzip'd archive file. Only
# turn this on if the internal archiver is used and
# GZIP_ARCHIVE_TXT_FILES is false in mm_cfg.py
-27 3 * * * list /var/lib/mailman/cron/nightly_gzip
+27 3 * * * list /usr/lib/mailman/cron/nightly_gzip
'''#
Modified: branches/pkg-split/core/debian/TODO
===================================================================
--- branches/pkg-split/core/debian/TODO 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/TODO 2004-05-18 16:29:43 UTC (rev 130)
@@ -114,5 +114,9 @@
CONSIDER: When can we get rid of mailman-trans ?
+- In mailman.config make sure /etc/mailname contains a legal FQDN
+ before using it.
+
+
This list is by no means meant to be complete.
Modified: branches/pkg-split/core/debian/contrib/postfix-to-mailman.py
===================================================================
--- branches/pkg-split/core/debian/contrib/postfix-to-mailman.py 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/contrib/postfix-to-mailman.py 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,7 +1,7 @@
#! /usr/bin/env python
-# $URL: svn+bsb://svn.winnegan.de/svn/adm/trunk/mailman/postfix-to-mailman.py $
-# $Id: postfix-to-mailman.py 38 2004-04-15 19:11:32Z bsb $
+# $URL: svn+ssh://svn.winnegan.de/svn/adm/trunk/mailman/postfix-to-mailman.py $
+# $Id: postfix-to-mailman.py 50 2004-05-17 13:41:21Z bsb $
#
# Interface mailman to a postfix with a mailman transport. Does not require
# the creation of _any_ aliases to connect lists to your mail system.
@@ -39,7 +39,7 @@
# INSTALLATION:
#
-# Install this file as /var/lib/mailman/bin/postfix-to-mailman.py
+# Install this file as /usr/lib/mailman/bin/postfix-to-mailman.py
#
# To configure a virtual domain to connect to mailman, edit Postfix thusly:
#
@@ -51,7 +51,7 @@
# /etc/postfix/master.cf
# mailman unix - n n - - pipe
# flags=FR user=list
-# argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
+# argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
#
# /etc/postfix/transport:
# lists.example.com mailman:
@@ -72,6 +72,8 @@
# behavior sending a helpful bounce message is still configurable
# by defining DEB_HELP_TEXT in mm_cfg.
+SENDMAIL = '/usr/sbin/sendmail'
+
# Exit codes accepted by postfix
# from postfix-2.0.16/src/global/sys_exits.h
EX_USAGE = 64 # command line usage error
@@ -106,10 +108,9 @@
'in main.cf?')
sys.exit(EX_USAGE)
- # Redirect required addresses to
+ # Redirect required addresses to MailmanOwner
if local in ('postmaster', 'abuse', 'mailer-daemon'):
- os.execv("/usr/sbin/sendmail",
- ("/usr/sbin/sendmail", MailmanOwner))
+ os.execv(SENDMAIL, (SENDMAIL, MailmanOwner))
sys.exit(0)
# Assume normal posting to a mailing list
Modified: branches/pkg-split/core/debian/mailman-i18n.config
===================================================================
--- branches/pkg-split/core/debian/mailman-i18n.config 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-i18n.config 2004-05-18 16:29:43 UTC (rev 130)
@@ -4,7 +4,7 @@
. /usr/share/debconf/confmodule
-crontab=/etc/cron.d/mailman
+echo ">>> $0 $*" >&2
get_used_languages ()
{
@@ -44,18 +44,16 @@
db_fget mailman/used_languages scanned || true
scanned="${RET}"
-if [ ! -z "$2" ] && dpkg --compare-versions $2 lt 2.1 ; then
- # list_lists will fail when upgrading from pre 2.1; but with those
- # versions not supporting i18n, english was the only used language.
- db_set mailman/site_languages "en"
- db_set mailman/used_languages "en"
- db_fset mailman/used_languages scanned false
-elif [ ! -x "/usr/sbin/list_lists" ] ; then
- # For 1st time installers there is no used language.
- db_set mailman/site_languages "en"
- db_set mailman/used_languages ""
- db_fset mailman/used_languages scanned false
-else
+if [ -z "$2" ] ; then
+ # Installing mailman-i18n
+ if db_get mailman/site_languages ; then
+ db_fset mailman/site_languages seen false
+ else
+ db_set used_languages en
+ db_fset used_languages scanned false
+ db_fset used_languages seen true
+ fi
+elif [ -x /usr/sbin/list_lists ] ; then
if [ "${scanned}" != "true" ] ; then
echo -n "Looking for enabled languages (this may take some time) ..."
unset used_languages
Modified: branches/pkg-split/core/debian/mailman-i18n.postinst
===================================================================
--- branches/pkg-split/core/debian/mailman-i18n.postinst 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-i18n.postinst 2004-05-18 16:29:43 UTC (rev 130)
@@ -29,14 +29,15 @@
# Exception class and convenience constants
from debconf import DebconfError, LOW, MEDIUM, HIGH, CRITICAL
+print >>sys.stderr, '>>>', sys.argv
PACKAGE='mailman-i18n'
-MM_HOME = '/var/lib/mailman'
+MM_INST = '/usr/lib/mailman'
-sys.path.insert(0, MM_HOME)
+# mailman (and thus the Mailman py package) may not be installed yet
+sys.path.insert(0, os.path.join(MM_INST, 'Mailman'))
+from Debian import DebuggingLogger, cfdb, mm_languages
-from Mailman.Debian import DebuggingLogger, cfdb, mm_languages
-
from errno import EEXIST, ENOTEMPTY
#from errno import *
@@ -53,7 +54,7 @@
# forcing used languages to be always available.
site_languages = db.get('mailman/site_languages').split(', ')
site_languages = [ s.strip() for s in site_languages if s.strip() ]
- need_languages = site_languages
+ need_languages = site_languages[:]
used_languages = db.get('mailman/used_languages').split()
db.fset('mailman/used_languages', 'seen', 'true')
db.fset('mailman/used_languages', 'scanned', 'false')
@@ -64,31 +65,33 @@
for lang in used_languages:
if lang not in site_languages:
need_languages.append(lang)
+
+ log('SETUP: need_languages=%(need_languages)r' % locals(), lvl=2)
+
+ site_languages.sort()
+ need_languages.sort()
if need_languages != site_languages:
db.set('mailman/site_languages', ', '.join(need_languages))
site_languages = need_languages
+ log('SETUP: site_languages=%(site_languages)r' % locals(), lvl=2)
- log('SETUP: need_languages=%(need_languages)r' % locals(), lvl=2)
-
remove_templates(need_languages)
install_templates(need_languages)
- start_mailman()
-
-def remove_templates(site_languages):
+def remove_templates(languages):
"""
"""#
old_languages = os.listdir(mm_tmpl)
for lang in old_languages:
- if lang not in site_languages:
+ if lang not in languages:
langdir = os.path.join(mm_tmpl, lang)
log('Removing unmodified files from %(langdir)s ' % locals(),
nl='')
def cb(*args):
log('.', nl='')
- cfdb.remove_unmod(lang, dst=mm_tmpl, callback=cb)
+ cfdb.remove_unmod(lang+'/', dst=mm_tmpl, callback=cb)
cfdb.sync()
log(' done.')
try:
@@ -99,10 +102,10 @@
else: raise
-def install_templates(site_languages):
+def install_templates(languages):
"""
"""#
- for lang in site_languages:
+ for lang in languages:
log('Installing site language %(lang)s ' % locals(), nl='')
try:
os.mkdir(os.path.join(mm_tmpl, lang))
@@ -119,12 +122,14 @@
log(' done.')
-def start_mailman():
+def start_mm_qrunner():
+ log('>> entering start_mm_qrunner', lvl=3)
+ if not cfdb.has_key('mailman/setup'):
+ log('Must reconfigure mailman to restart daemons.')
+ return
from popen2 import Popen4
runner = Popen4('/bin/sh -e')
runner.tochild.write("""\
-chmod +x /var/lib/mailman/bin/mailmanctl
-
if [ -x "/etc/init.d/mailman" ]; then
if [ -x /usr/sbin/invoke-rc.d ] ; then
invoke-rc.d mailman start || true
@@ -149,10 +154,11 @@
op = sys.argv[1]
if op == 'configure':
setup()
- elif op in ('abort-upgrade','abort-remove','abort-deconfigure'):
- pass
+ if op in ('configure','abort-upgrade','abort-remove','abort-deconfigure'):
+ cfdb['mailman/templates'] = PACKAGE
+ start_mm_qrunner()
else:
- log("postinst called with unknown argument \`%s'" % op)
+ log("postinst called with unknown argument %r." % op)
raise SystemExit(1)
finally:
# When things break, this information might be useful
Added: branches/pkg-split/core/debian/mailman-i18n.postrm
===================================================================
--- branches/pkg-split/core/debian/mailman-i18n.postrm 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-i18n.postrm 2004-05-18 16:29:43 UTC (rev 130)
@@ -0,0 +1,9 @@
+#! /bin/sh -e
+# $URL$
+# $Id$
+
+echo ">>> $0 $*" >&2
+
+#DEBHELPER#
+
+exit 0
Property changes on: branches/pkg-split/core/debian/mailman-i18n.postrm
___________________________________________________________________
Name: svn:keywords
+ Id URL
Modified: branches/pkg-split/core/debian/mailman-i18n.prerm
===================================================================
--- branches/pkg-split/core/debian/mailman-i18n.prerm 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-i18n.prerm 2004-05-18 16:29:43 UTC (rev 130)
@@ -2,13 +2,61 @@
# $URL$
# $Id$
-if [ "$1" = "upgrade" ] ; then
- if [ -x "/etc/init.d/mailman" ]; then
- if [ -x /usr/sbin/invoke-rc.d ] ; then
- invoke-rc.d mailman stop || true
- else
- /etc/init.d/mailman stop || true
+. /usr/share/debconf/confmodule
+
+echo ">>>" $0 $* >&2
+
+package=mailman-i18n
+
+unset_mm_templates () {
+python <<EOF
+import sys; sys.path.insert(0, '/usr/lib/mailman/Mailman')
+try:
+ from Debian import cfdb
+ del cfdb['mailman/templates']
+except:
+ pass
+EOF
+}
+
+mm_shutdown () {
+ if [ -x "/etc/init.d/mailman" ]; then
+ if [ -x /usr/sbin/invoke-rc.d ] ; then
+ invoke-rc.d mailman stop || true
+ else
+ /etc/init.d/mailman stop || true
+ fi
fi
- fi
- chmod -x /var/lib/mailman/bin/mailmanctl
-fi
+}
+
+
+case $1 in
+ remove)
+ mm_shutdown
+ unset_mm_templates
+ if [ "$2 $3" = "in-favour mailman-en" ] ; then
+ db_get mailman/site_languages || true
+ if [ "$RET" = "en" ] ; then
+ unset_mm_templates
+ else
+ db_fset mailman/other_languages seen false || true
+ db_subst mailman/other_languages infavor $3 || true
+ db_subst mailman/other_languages package ${package} || true
+ db_input critical mailman/other_languages || true
+ db_go || true
+ exit 1
+ fi
+ fi
+ ;;
+ upgrade)
+ mm_shutdown
+ unset_mm_templates
+ ;;
+ failed-upgrade|deconfigure)
+ ;;
+ *)
+ echo "${package}.prerm called with unknown arguments $*" >&2
+ exit 1
+ ;;
+esac
+
Modified: branches/pkg-split/core/debian/mailman-i18n.templates
===================================================================
--- branches/pkg-split/core/debian/mailman-i18n.templates 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-i18n.templates 2004-05-18 16:29:43 UTC (rev 130)
@@ -21,3 +21,14 @@
Type: string
Description: Internal holding result of scan
+Template: mailman/other_languages
+Type: note
+_Description: Unsupported languages used
+ The mailman-en package supports only english mailing lists while this
+ installation has support for multiple languages enabled.
+ .
+ Before retrying to install the ${infavor} package, please make sure
+ all mailing lists use only english, then dpkg-reconfigue ${package}
+ disabling all languages but english.
+
+
\ No newline at end of file
Modified: branches/pkg-split/core/debian/mailman-trans.install
===================================================================
--- branches/pkg-split/core/debian/mailman-trans.install 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-trans.install 2004-05-18 16:29:43 UTC (rev 130)
@@ -1 +1 @@
-debian/Debian usr/share/mailman/Mailman
+debian/Debian usr/lib/mailman/Mailman
Modified: branches/pkg-split/core/debian/mailman-trans.postinst
===================================================================
--- branches/pkg-split/core/debian/mailman-trans.postinst 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman-trans.postinst 2004-05-18 16:29:43 UTC (rev 130)
@@ -31,12 +31,12 @@
## from debconf import DebconfError, LOW, MEDIUM, HIGH, CRITICAL
+MM_INST = '/usr/lib/mailman'
MM_HOME = '/var/lib/mailman'
-MM_BIN = os.path.join(MM_HOME, 'bin')
-MM_INST = '/usr/share/mailman'
+MM_BIN = os.path.join(MM_INST, 'bin')
# mailman (and thus the Mailman py package) may not be installed yet.
-sys.path.insert(0, os.path.join(MM_HOME, 'Mailman'))
+sys.path.insert(0, os.path.join(MM_INST, 'Mailman'))
from Debian import DebuggingLogger, mm_languages, cfdb
Modified: branches/pkg-split/core/debian/mailman.config
===================================================================
--- branches/pkg-split/core/debian/mailman.config 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.config 2004-05-18 16:29:43 UTC (rev 130)
@@ -25,7 +25,9 @@
# Exception class and convenience constants
from debconf import DebconfError, LOW, MEDIUM, HIGH, CRITICAL
+print >>sys.stderr, '>>>', sys.argv
+mm_inst = '/usr/lib/mailman'
mm_home = '/var/lib/mailman'
mm_lists = os.path.join(mm_home, 'lists')
crontab = '/etc/cron.d/mailman'
@@ -131,7 +133,7 @@
pass
try:
- sys.path.insert(0, mm_home)
+ sys.path.insert(0, mm_inst)
from Mailman.Debian import DebuggingLogger
log = DebuggingLogger('MM_MAINT')
try:
Modified: branches/pkg-split/core/debian/mailman.dirs
===================================================================
--- branches/pkg-split/core/debian/mailman.dirs 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.dirs 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,19 +1,14 @@
-etc/logrotate.d
usr/lib/cgi-bin/mailman
-usr/sbin
+usr/lib/mailman/bin
+usr/lib/mailman/mail
+usr/lib/mailman/pythonlib
+usr/lib/mailman/scripts
+usr/lib/mailman/templates
usr/share/images/mailman
-usr/share/mailman/bin
-usr/share/mailman/mail
-usr/share/mailman/scripts
-usr/share/mailman/templates
-var/lib/images/mailman
var/lib/mailman/archives/private
var/lib/mailman/archives/public
-var/lib/mailman/bin
var/lib/mailman/data
var/lib/mailman/lists
-var/lib/mailman/mail
-var/lib/mailman/pythonlib
var/lib/mailman/qfiles
var/lib/mailman/qfiles/archive
var/lib/mailman/qfiles/bad
@@ -26,7 +21,6 @@
var/lib/mailman/qfiles/retry
var/lib/mailman/qfiles/shunt
var/lib/mailman/qfiles/virgin
-var/lib/mailman/scripts
var/lib/mailman/spam
var/lock/mailman
var/log/mailman
Modified: branches/pkg-split/core/debian/mailman.init
===================================================================
--- branches/pkg-split/core/debian/mailman.init 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.init 2004-05-18 16:29:43 UTC (rev 130)
@@ -13,72 +13,75 @@
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/var/lib/mailman/bin/mailmanctl
-PIDFILE=/var/lib/mailman/data/master-qrunner.pid
+DAEMON=/usr/lib/mailman/bin/mailmanctl
+PIDFILE=/var/run/mailman/mailman.pid
NAME=mailman
DESC="mailman queue runner"
+starterr=/var/log/mailman/startup.err
test -x $DAEMON || exit 0
set -e
case "$1" in
- start)
- if [ "$(/var/lib/mailman/bin/list_lists -b | grep ^mailman$ )" = "" ]; then
- echo "Site list for mailman (usually named mailman) missing"
- echo "Please create it; until then, mailman will refuse to start"
- exit 0
+ start)
+ echo -n "Starting $DESC"
+ if $DAEMON -s -q start 2>${starterr}; then
+ echo "."
+ else
+ echo -n " failed because "
+ sed -e "s/Site list is missing: \(.*\)$/of missing site list '\1'./" \
+ <${starterr}
fi
- $DAEMON -s start
- echo "."
- ;;
- stop)
- $DAEMON stop
- echo "."
- ;;
- reload)
- #
- # If the daemon can reload its config files on the fly
- # for example by sending it SIGHUP, do it here.
- #
- # If the daemon responds to changes in its config file
- # directly anyway, make this a do-nothing entry.
- #
- echo -n "Reloading $DESC configuration..."
- $DAEMON restart
- echo "done."
- ;;
- restart|force-reload)
- #
- # If the "reload" option is implemented, move the "force-reload"
- # option to the "reload" entry above. If not, "force-reload" is
- # just the same as "restart".
- #
- PID=`cat $PIDFILE 2>/dev/null`
- echo -n "Restarting $DESC: $NAME"
- $DAEMON stop
- if test -n "$PID" && kill -0 $PID 2>/dev/null ; then
- echo -n "Waiting "
- for cnt in `seq 1 5`; do
- sleep 1
- kill -0 $PID 2>/dev/null || break
- echo -n "."
- done;
- if kill -0 $PID 2>/dev/null ; then
- echo " Failed"
- else
- echo " Done"
- fi
- fi
- $DAEMON start
- echo "."
- ;;
- *)
- N=/etc/init.d/$NAME
- # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
+ rm -f ${starterr}
+ ;;
+ stop)
+ echo -n "Stopping $DESC"
+ $DAEMON -q stop
+ echo "."
+ ;;
+ reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ echo -n "Reloading $DESC configuration..."
+ $DAEMON -q restart
+ echo "done."
+ ;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ PID=`cat $PIDFILE 2>/dev/null`
+ echo -n "Restarting $DESC: $NAME"
+ $DAEMON -q stop
+ if test -n "$PID" && kill -0 $PID 2>/dev/null ; then
+ echo -n "Waiting "
+ for cnt in `seq 1 5`; do
+ sleep 1
+ kill -0 $PID 2>/dev/null || break
+ done;
+ if kill -0 $PID 2>/dev/null ; then
+ echo " Failed"
+ else
+ echo " Done"
+ fi
+ fi
+ $DAEMON -q start
+ echo "."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
esac
exit 0
Modified: branches/pkg-split/core/debian/mailman.install
===================================================================
--- branches/pkg-split/core/debian/mailman.install 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.install 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,9 +1,10 @@
-debian/tmp/usr/lib/mailman/Mailman usr/share/mailman
-debian/tmp/usr/lib/mailman/bin usr/share/mailman
-debian/tmp/usr/lib/mailman/cron usr/share/mailman
-debian/tmp/usr/lib/mailman/scripts usr/share/mailman
-debian/tmp/usr/lib/mailman/icons/* usr/share/images/mailman
+debian/tmp/usr/lib/mailman/Mailman usr/lib/mailman
+debian/tmp/usr/lib/mailman/bin usr/lib/mailman
+debian/tmp/usr/lib/mailman/cron usr/lib/mailman
+debian/tmp/usr/lib/mailman/scripts usr/lib/mailman
+debian/tmp/usr/share/images/mailman usr/share/images
+debian/tmp/var/lib/mailman/data var/lib/mailman
+debian/Debian/templates.py usr/lib/mailman/Mailman/Debian
debian/manpages/* usr/share/man/man8
-debian/tmp/var/lib/mailman/data var/lib/mailman
Modified: branches/pkg-split/core/debian/mailman.links
===================================================================
--- branches/pkg-split/core/debian/mailman.links 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.links 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,218 +1,17 @@
-etc/mailman/mm_cfg.py var/lib/mailman/Mailman/mm_cfg.py
-var/lib/mailman/bin/list_lists usr/sbin/list_lists
-var/lib/mailman/bin/find_member usr/sbin/find_member
-var/lib/mailman/bin/config_list usr/sbin/config_list
-var/lib/mailman/bin/mmsitepass usr/sbin/mmsitepass
-var/lib/mailman/bin/newlist usr/sbin/newlist
-var/lib/mailman/bin/rmlist usr/sbin/rmlist
-var/lib/mailman/bin/add_members usr/sbin/add_members
-var/lib/mailman/bin/list_members usr/sbin/list_members
-var/lib/mailman/bin/remove_members usr/sbin/remove_members
-var/lib/mailman/bin/arch usr/sbin/mmarch
-var/lib/mailman/bin/clone_member usr/sbin/clone_member
-var/lib/mailman/bin/sync_members usr/sbin/sync_members
-var/lib/mailman/bin/check_db usr/sbin/check_db
-var/lib/mailman/bin/check_perms usr/sbin/check_perms
-var/lib/mailman/bin/list_admins usr/sbin/list_admins
-var/lib/mailman/bin/withlist usr/sbin/withlist
-var/lib/mailman/.INST/bin/mmsitepass var/lib/mailman/bin/mmsitepass
-var/lib/mailman/.INST/bin/newlist var/lib/mailman/bin/newlist
-var/lib/mailman/.INST/bin/rmlist var/lib/mailman/bin/rmlist
-var/lib/mailman/.INST/bin/add_members var/lib/mailman/bin/add_members
-var/lib/mailman/.INST/bin/list_members var/lib/mailman/bin/list_members
-var/lib/mailman/.INST/bin/remove_members var/lib/mailman/bin/remove_members
-var/lib/mailman/.INST/bin/clone_member var/lib/mailman/bin/clone_member
-var/lib/mailman/.INST/bin/update var/lib/mailman/bin/update
-var/lib/mailman/.INST/bin/arch var/lib/mailman/bin/arch
-var/lib/mailman/.INST/bin/sync_members var/lib/mailman/bin/sync_members
-var/lib/mailman/.INST/bin/check_db var/lib/mailman/bin/check_db
-var/lib/mailman/.INST/bin/withlist var/lib/mailman/bin/withlist
-var/lib/mailman/.INST/bin/check_perms var/lib/mailman/bin/check_perms
-var/lib/mailman/.INST/bin/find_member var/lib/mailman/bin/find_member
-var/lib/mailman/.INST/bin/version var/lib/mailman/bin/version
-var/lib/mailman/.INST/bin/config_list var/lib/mailman/bin/config_list
-var/lib/mailman/.INST/bin/list_lists var/lib/mailman/bin/list_lists
-var/lib/mailman/.INST/bin/dumpdb var/lib/mailman/bin/dumpdb
-var/lib/mailman/.INST/bin/cleanarch var/lib/mailman/bin/cleanarch
-var/lib/mailman/.INST/bin/list_admins var/lib/mailman/bin/list_admins
-var/lib/mailman/.INST/bin/genaliases var/lib/mailman/bin/genaliases
-var/lib/mailman/.INST/bin/change_pw var/lib/mailman/bin/change_pw
-var/lib/mailman/.INST/bin/mailmanctl var/lib/mailman/bin/mailmanctl
-var/lib/mailman/.INST/bin/qrunner var/lib/mailman/bin/qrunner
-var/lib/mailman/.INST/bin/inject var/lib/mailman/bin/inject
-var/lib/mailman/.INST/bin/unshunt var/lib/mailman/bin/unshunt
-var/lib/mailman/.INST/bin/fix_url.py var/lib/mailman/bin/fix_url.py
-var/lib/mailman/.INST/bin/convert.py var/lib/mailman/bin/convert.py
-var/lib/mailman/.INST/bin/transcheck var/lib/mailman/bin/transcheck
-var/lib/mailman/.INST/bin/b4b5-archfix var/lib/mailman/bin/b4b5-archfix
-var/lib/mailman/.INST/bin/list_owners var/lib/mailman/bin/list_owners
-var/lib/mailman/.INST/bin/msgfmt.py var/lib/mailman/bin/msgfmt.py
-var/lib/mailman/.INST/bin/show_qfiles var/lib/mailman/bin/show_qfiles
-var/lib/mailman/.INST/bin/discard var/lib/mailman/bin/discard
-var/lib/mailman/.INST/bin/rb-archfix var/lib/mailman/bin/rb-archfix
-var/lib/mailman/.INST/bin/paths.py var/lib/mailman/bin/paths.py
-var/lib/mailman/.INST/scripts/bounces var/lib/mailman/scripts/bounces
-var/lib/mailman/.INST/scripts/confirm var/lib/mailman/scripts/confirm
-var/lib/mailman/.INST/scripts/driver var/lib/mailman/scripts/driver
-var/lib/mailman/.INST/scripts/join var/lib/mailman/scripts/join
-var/lib/mailman/.INST/scripts/leave var/lib/mailman/scripts/leave
-var/lib/mailman/.INST/scripts/owner var/lib/mailman/scripts/owner
-var/lib/mailman/.INST/scripts/post var/lib/mailman/scripts/post
-var/lib/mailman/.INST/scripts/request var/lib/mailman/scripts/request
-var/lib/mailman/.INST/scripts/admin var/lib/mailman/scripts/admin
-var/lib/mailman/.INST/scripts/subscribe var/lib/mailman/scripts/subscribe
-var/lib/mailman/.INST/scripts/unsubscribe var/lib/mailman/scripts/unsubscribe
-var/lib/mailman/.INST/scripts/paths.py var/lib/mailman/scripts/paths.py
-var/lib/mailman/.INST/Mailman/Cgi/Auth.py var/lib/mailman/Mailman/Cgi/Auth.py
-var/lib/mailman/.INST/Mailman/Cgi/__init__.py var/lib/mailman/Mailman/Cgi/__init__.py
-var/lib/mailman/.INST/Mailman/Cgi/admin.py var/lib/mailman/Mailman/Cgi/admin.py
-var/lib/mailman/.INST/Mailman/Cgi/admindb.py var/lib/mailman/Mailman/Cgi/admindb.py
-var/lib/mailman/.INST/Mailman/Cgi/confirm.py var/lib/mailman/Mailman/Cgi/confirm.py
-var/lib/mailman/.INST/Mailman/Cgi/create.py var/lib/mailman/Mailman/Cgi/create.py
-var/lib/mailman/.INST/Mailman/Cgi/edithtml.py var/lib/mailman/Mailman/Cgi/edithtml.py
-var/lib/mailman/.INST/Mailman/Cgi/listinfo.py var/lib/mailman/Mailman/Cgi/listinfo.py
-var/lib/mailman/.INST/Mailman/Cgi/options.py var/lib/mailman/Mailman/Cgi/options.py
-var/lib/mailman/.INST/Mailman/Cgi/private.py var/lib/mailman/Mailman/Cgi/private.py
-var/lib/mailman/.INST/Mailman/Cgi/rmlist.py var/lib/mailman/Mailman/Cgi/rmlist.py
-var/lib/mailman/.INST/Mailman/Cgi/roster.py var/lib/mailman/Mailman/Cgi/roster.py
-var/lib/mailman/.INST/Mailman/Cgi/subscribe.py var/lib/mailman/Mailman/Cgi/subscribe.py
-var/lib/mailman/.INST/Mailman/Logging/Logger.py var/lib/mailman/Mailman/Logging/Logger.py
-var/lib/mailman/.INST/Mailman/Logging/MultiLogger.py var/lib/mailman/Mailman/Logging/MultiLogger.py
-var/lib/mailman/.INST/Mailman/Logging/StampedLogger.py var/lib/mailman/Mailman/Logging/StampedLogger.py
-var/lib/mailman/.INST/Mailman/Logging/Syslog.py var/lib/mailman/Mailman/Logging/Syslog.py
-var/lib/mailman/.INST/Mailman/Logging/Utils.py var/lib/mailman/Mailman/Logging/Utils.py
-var/lib/mailman/.INST/Mailman/Logging/__init__.py var/lib/mailman/Mailman/Logging/__init__.py
-var/lib/mailman/.INST/Mailman/Archiver/__init__.py var/lib/mailman/Mailman/Archiver/__init__.py
-var/lib/mailman/.INST/Mailman/Archiver/Archiver.py var/lib/mailman/Mailman/Archiver/Archiver.py
-var/lib/mailman/.INST/Mailman/Archiver/HyperArch.py var/lib/mailman/Mailman/Archiver/HyperArch.py
-var/lib/mailman/.INST/Mailman/Archiver/HyperDatabase.py var/lib/mailman/Mailman/Archiver/HyperDatabase.py
-var/lib/mailman/.INST/Mailman/Archiver/pipermail.py var/lib/mailman/Mailman/Archiver/pipermail.py
-var/lib/mailman/.INST/Mailman/Handlers/Acknowledge.py var/lib/mailman/Mailman/Handlers/Acknowledge.py
-var/lib/mailman/.INST/Mailman/Handlers/AfterDelivery.py var/lib/mailman/Mailman/Handlers/AfterDelivery.py
-var/lib/mailman/.INST/Mailman/Handlers/Approve.py var/lib/mailman/Mailman/Handlers/Approve.py
-var/lib/mailman/.INST/Mailman/Handlers/AvoidDuplicates.py var/lib/mailman/Mailman/Handlers/AvoidDuplicates.py
-var/lib/mailman/.INST/Mailman/Handlers/CalcRecips.py var/lib/mailman/Mailman/Handlers/CalcRecips.py
-var/lib/mailman/.INST/Mailman/Handlers/Cleanse.py var/lib/mailman/Mailman/Handlers/Cleanse.py
-var/lib/mailman/.INST/Mailman/Handlers/CookHeaders.py var/lib/mailman/Mailman/Handlers/CookHeaders.py
-var/lib/mailman/.INST/Mailman/Handlers/Decorate.py var/lib/mailman/Mailman/Handlers/Decorate.py
-var/lib/mailman/.INST/Mailman/Handlers/Emergency.py var/lib/mailman/Mailman/Handlers/Emergency.py
-var/lib/mailman/.INST/Mailman/Handlers/FileRecips.py var/lib/mailman/Mailman/Handlers/FileRecips.py
-var/lib/mailman/.INST/Mailman/Handlers/Hold.py var/lib/mailman/Mailman/Handlers/Hold.py
-var/lib/mailman/.INST/Mailman/Handlers/MimeDel.py var/lib/mailman/Mailman/Handlers/MimeDel.py
-var/lib/mailman/.INST/Mailman/Handlers/Moderate.py var/lib/mailman/Mailman/Handlers/Moderate.py
-var/lib/mailman/.INST/Mailman/Handlers/OwnerRecips.py var/lib/mailman/Mailman/Handlers/OwnerRecips.py
-var/lib/mailman/.INST/Mailman/Handlers/Replybot.py var/lib/mailman/Mailman/Handlers/Replybot.py
-var/lib/mailman/.INST/Mailman/Handlers/SMTPDirect.py var/lib/mailman/Mailman/Handlers/SMTPDirect.py
-var/lib/mailman/.INST/Mailman/Handlers/Scrubber.py var/lib/mailman/Mailman/Handlers/Scrubber.py
-var/lib/mailman/.INST/Mailman/Handlers/Sendmail.py var/lib/mailman/Mailman/Handlers/Sendmail.py
-var/lib/mailman/.INST/Mailman/Handlers/SpamDetect.py var/lib/mailman/Mailman/Handlers/SpamDetect.py
-var/lib/mailman/.INST/Mailman/Handlers/Tagger.py var/lib/mailman/Mailman/Handlers/Tagger.py
-var/lib/mailman/.INST/Mailman/Handlers/ToArchive.py var/lib/mailman/Mailman/Handlers/ToArchive.py
-var/lib/mailman/.INST/Mailman/Handlers/ToDigest.py var/lib/mailman/Mailman/Handlers/ToDigest.py
-var/lib/mailman/.INST/Mailman/Handlers/ToOutgoing.py var/lib/mailman/Mailman/Handlers/ToOutgoing.py
-var/lib/mailman/.INST/Mailman/Handlers/ToUsenet.py var/lib/mailman/Mailman/Handlers/ToUsenet.py
-var/lib/mailman/.INST/Mailman/Handlers/__init__.py var/lib/mailman/Mailman/Handlers/__init__.py
-var/lib/mailman/.INST/Mailman/Queue/ArchRunner.py var/lib/mailman/Mailman/Queue/ArchRunner.py
-var/lib/mailman/.INST/Mailman/Queue/BounceRunner.py var/lib/mailman/Mailman/Queue/BounceRunner.py
-var/lib/mailman/.INST/Mailman/Queue/CommandRunner.py var/lib/mailman/Mailman/Queue/CommandRunner.py
-var/lib/mailman/.INST/Mailman/Queue/IncomingRunner.py var/lib/mailman/Mailman/Queue/IncomingRunner.py
-var/lib/mailman/.INST/Mailman/Queue/MaildirRunner.py var/lib/mailman/Mailman/Queue/MaildirRunner.py
-var/lib/mailman/.INST/Mailman/Queue/NewsRunner.py var/lib/mailman/Mailman/Queue/NewsRunner.py
-var/lib/mailman/.INST/Mailman/Queue/OutgoingRunner.py var/lib/mailman/Mailman/Queue/OutgoingRunner.py
-var/lib/mailman/.INST/Mailman/Queue/RetryRunner.py var/lib/mailman/Mailman/Queue/RetryRunner.py
-var/lib/mailman/.INST/Mailman/Queue/Runner.py var/lib/mailman/Mailman/Queue/Runner.py
-var/lib/mailman/.INST/Mailman/Queue/Switchboard.py var/lib/mailman/Mailman/Queue/Switchboard.py
-var/lib/mailman/.INST/Mailman/Queue/VirginRunner.py var/lib/mailman/Mailman/Queue/VirginRunner.py
-var/lib/mailman/.INST/Mailman/Queue/__init__.py var/lib/mailman/Mailman/Queue/__init__.py
-var/lib/mailman/.INST/Mailman/Queue/sbcache.py var/lib/mailman/Mailman/Queue/sbcache.py
-var/lib/mailman/.INST/Mailman/Bouncers/BouncerAPI.py var/lib/mailman/Mailman/Bouncers/BouncerAPI.py
-var/lib/mailman/.INST/Mailman/Bouncers/Caiwireless.py var/lib/mailman/Mailman/Bouncers/Caiwireless.py
-var/lib/mailman/.INST/Mailman/Bouncers/Compuserve.py var/lib/mailman/Mailman/Bouncers/Compuserve.py
-var/lib/mailman/.INST/Mailman/Bouncers/DSN.py var/lib/mailman/Mailman/Bouncers/DSN.py
-var/lib/mailman/.INST/Mailman/Bouncers/Exchange.py var/lib/mailman/Mailman/Bouncers/Exchange.py
-var/lib/mailman/.INST/Mailman/Bouncers/Exim.py var/lib/mailman/Mailman/Bouncers/Exim.py
-var/lib/mailman/.INST/Mailman/Bouncers/GroupWise.py var/lib/mailman/Mailman/Bouncers/GroupWise.py
-var/lib/mailman/.INST/Mailman/Bouncers/LLNL.py var/lib/mailman/Mailman/Bouncers/LLNL.py
-var/lib/mailman/.INST/Mailman/Bouncers/Microsoft.py var/lib/mailman/Mailman/Bouncers/Microsoft.py
-var/lib/mailman/.INST/Mailman/Bouncers/Netscape.py var/lib/mailman/Mailman/Bouncers/Netscape.py
-var/lib/mailman/.INST/Mailman/Bouncers/Postfix.py var/lib/mailman/Mailman/Bouncers/Postfix.py
-var/lib/mailman/.INST/Mailman/Bouncers/Qmail.py var/lib/mailman/Mailman/Bouncers/Qmail.py
-var/lib/mailman/.INST/Mailman/Bouncers/SMTP32.py var/lib/mailman/Mailman/Bouncers/SMTP32.py
-var/lib/mailman/.INST/Mailman/Bouncers/SimpleMatch.py var/lib/mailman/Mailman/Bouncers/SimpleMatch.py
-var/lib/mailman/.INST/Mailman/Bouncers/SimpleWarning.py var/lib/mailman/Mailman/Bouncers/SimpleWarning.py
-var/lib/mailman/.INST/Mailman/Bouncers/Sina.py var/lib/mailman/Mailman/Bouncers/Sina.py
-var/lib/mailman/.INST/Mailman/Bouncers/Yahoo.py var/lib/mailman/Mailman/Bouncers/Yahoo.py
-var/lib/mailman/.INST/Mailman/Bouncers/Yale.py var/lib/mailman/Mailman/Bouncers/Yale.py
-var/lib/mailman/.INST/Mailman/Bouncers/__init__.py var/lib/mailman/Mailman/Bouncers/__init__.py
-var/lib/mailman/.INST/Mailman/MTA/Manual.py var/lib/mailman/Mailman/MTA/Manual.py
-var/lib/mailman/.INST/Mailman/MTA/Postfix.py var/lib/mailman/Mailman/MTA/Postfix.py
-var/lib/mailman/.INST/Mailman/MTA/Utils.py var/lib/mailman/Mailman/MTA/Utils.py
-var/lib/mailman/.INST/Mailman/MTA/__init__.py var/lib/mailman/Mailman/MTA/__init__.py
-var/lib/mailman/.INST/Mailman/Gui/Archive.py var/lib/mailman/Mailman/Gui/Archive.py
-var/lib/mailman/.INST/Mailman/Gui/Autoresponse.py var/lib/mailman/Mailman/Gui/Autoresponse.py
-var/lib/mailman/.INST/Mailman/Gui/Bounce.py var/lib/mailman/Mailman/Gui/Bounce.py
-var/lib/mailman/.INST/Mailman/Gui/ContentFilter.py var/lib/mailman/Mailman/Gui/ContentFilter.py
-var/lib/mailman/.INST/Mailman/Gui/Digest.py var/lib/mailman/Mailman/Gui/Digest.py
-var/lib/mailman/.INST/Mailman/Gui/GUIBase.py var/lib/mailman/Mailman/Gui/GUIBase.py
-var/lib/mailman/.INST/Mailman/Gui/General.py var/lib/mailman/Mailman/Gui/General.py
-var/lib/mailman/.INST/Mailman/Gui/Language.py var/lib/mailman/Mailman/Gui/Language.py
-var/lib/mailman/.INST/Mailman/Gui/Membership.py var/lib/mailman/Mailman/Gui/Membership.py
-var/lib/mailman/.INST/Mailman/Gui/NonDigest.py var/lib/mailman/Mailman/Gui/NonDigest.py
-var/lib/mailman/.INST/Mailman/Gui/Passwords.py var/lib/mailman/Mailman/Gui/Passwords.py
-var/lib/mailman/.INST/Mailman/Gui/Privacy.py var/lib/mailman/Mailman/Gui/Privacy.py
-var/lib/mailman/.INST/Mailman/Gui/Topics.py var/lib/mailman/Mailman/Gui/Topics.py
-var/lib/mailman/.INST/Mailman/Gui/Usenet.py var/lib/mailman/Mailman/Gui/Usenet.py
-var/lib/mailman/.INST/Mailman/Gui/__init__.py var/lib/mailman/Mailman/Gui/__init__.py
-var/lib/mailman/.INST/Mailman/Commands/__init__.py var/lib/mailman/Mailman/Commands/__init__.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_confirm.py var/lib/mailman/Mailman/Commands/cmd_confirm.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_echo.py var/lib/mailman/Mailman/Commands/cmd_echo.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_end.py var/lib/mailman/Mailman/Commands/cmd_end.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_help.py var/lib/mailman/Mailman/Commands/cmd_help.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_info.py var/lib/mailman/Mailman/Commands/cmd_info.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_join.py var/lib/mailman/Mailman/Commands/cmd_join.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_leave.py var/lib/mailman/Mailman/Commands/cmd_leave.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_lists.py var/lib/mailman/Mailman/Commands/cmd_lists.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_password.py var/lib/mailman/Mailman/Commands/cmd_password.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_remove.py var/lib/mailman/Mailman/Commands/cmd_remove.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_set.py var/lib/mailman/Mailman/Commands/cmd_set.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_stop.py var/lib/mailman/Mailman/Commands/cmd_stop.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_subscribe.py var/lib/mailman/Mailman/Commands/cmd_subscribe.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_unsubscribe.py var/lib/mailman/Mailman/Commands/cmd_unsubscribe.py
-var/lib/mailman/.INST/Mailman/Commands/cmd_who.py var/lib/mailman/Mailman/Commands/cmd_who.py
-var/lib/mailman/.INST/Mailman/Autoresponder.py var/lib/mailman/Mailman/Autoresponder.py
-var/lib/mailman/.INST/Mailman/Bouncer.py var/lib/mailman/Mailman/Bouncer.py
-var/lib/mailman/.INST/Mailman/Defaults.py var/lib/mailman/Mailman/Defaults.py
-var/lib/mailman/.INST/Mailman/Deliverer.py var/lib/mailman/Mailman/Deliverer.py
-var/lib/mailman/.INST/Mailman/Digester.py var/lib/mailman/Mailman/Digester.py
-var/lib/mailman/.INST/Mailman/Errors.py var/lib/mailman/Mailman/Errors.py
-var/lib/mailman/.INST/Mailman/GatewayManager.py var/lib/mailman/Mailman/GatewayManager.py
-var/lib/mailman/.INST/Mailman/HTMLFormatter.py var/lib/mailman/Mailman/HTMLFormatter.py
-var/lib/mailman/.INST/Mailman/ListAdmin.py var/lib/mailman/Mailman/ListAdmin.py
-var/lib/mailman/.INST/Mailman/LockFile.py var/lib/mailman/Mailman/LockFile.py
-var/lib/mailman/.INST/Mailman/MailList.py var/lib/mailman/Mailman/MailList.py
-var/lib/mailman/.INST/Mailman/Mailbox.py var/lib/mailman/Mailman/Mailbox.py
-var/lib/mailman/.INST/Mailman/MemberAdaptor.py var/lib/mailman/Mailman/MemberAdaptor.py
-var/lib/mailman/.INST/Mailman/Message.py var/lib/mailman/Mailman/Message.py
-var/lib/mailman/.INST/Mailman/OldStyleMemberships.py var/lib/mailman/Mailman/OldStyleMemberships.py
-var/lib/mailman/.INST/Mailman/Pending.py var/lib/mailman/Mailman/Pending.py
-var/lib/mailman/.INST/Mailman/Post.py var/lib/mailman/Mailman/Post.py
-var/lib/mailman/.INST/Mailman/SafeDict.py var/lib/mailman/Mailman/SafeDict.py
-var/lib/mailman/.INST/Mailman/SecurityManager.py var/lib/mailman/Mailman/SecurityManager.py
-var/lib/mailman/.INST/Mailman/Site.py var/lib/mailman/Mailman/Site.py
-var/lib/mailman/.INST/Mailman/TopicMgr.py var/lib/mailman/Mailman/TopicMgr.py
-var/lib/mailman/.INST/Mailman/UserDesc.py var/lib/mailman/Mailman/UserDesc.py
-var/lib/mailman/.INST/Mailman/Utils.py var/lib/mailman/Mailman/Utils.py
-var/lib/mailman/.INST/Mailman/Version.py var/lib/mailman/Mailman/Version.py
-var/lib/mailman/.INST/Mailman/__init__.py var/lib/mailman/Mailman/__init__.py
-var/lib/mailman/.INST/Mailman/htmlformat.py var/lib/mailman/Mailman/htmlformat.py
-var/lib/mailman/.INST/Mailman/i18n.py var/lib/mailman/Mailman/i18n.py
-var/lib/mailman/.INST/Mailman/versions.py var/lib/mailman/Mailman/versions.py
-var/lib/mailman/.INST/cron/crontab.in var/lib/mailman/cron/crontab.in
-var/lib/mailman/.INST/cron/checkdbs var/lib/mailman/cron/checkdbs
-var/lib/mailman/.INST/cron/mailpasswds var/lib/mailman/cron/mailpasswds
-var/lib/mailman/.INST/cron/senddigests var/lib/mailman/cron/senddigests
-var/lib/mailman/.INST/cron/gate_news var/lib/mailman/cron/gate_news
-var/lib/mailman/.INST/cron/nightly_gzip var/lib/mailman/cron/nightly_gzip
-var/lib/mailman/.INST/cron/bumpdigests var/lib/mailman/cron/bumpdigests
-var/lib/mailman/.INST/cron/disabled var/lib/mailman/cron/disabled
-var/lib/mailman/.INST/cron/paths.py var/lib/mailman/cron/paths.py
+etc/mailman/mm_cfg.py usr/lib/mailman/Mailman/mm_cfg.py
+usr/lib/mailman/bin/list_lists usr/sbin/list_lists
+usr/lib/mailman/bin/find_member usr/sbin/find_member
+usr/lib/mailman/bin/config_list usr/sbin/config_list
+usr/lib/mailman/bin/mmsitepass usr/sbin/mmsitepass
+usr/lib/mailman/bin/newlist usr/sbin/newlist
+usr/lib/mailman/bin/rmlist usr/sbin/rmlist
+usr/lib/mailman/bin/add_members usr/sbin/add_members
+usr/lib/mailman/bin/list_members usr/sbin/list_members
+usr/lib/mailman/bin/remove_members usr/sbin/remove_members
+usr/lib/mailman/bin/arch usr/sbin/mmarch
+usr/lib/mailman/bin/clone_member usr/sbin/clone_member
+usr/lib/mailman/bin/sync_members usr/sbin/sync_members
+usr/lib/mailman/bin/check_db usr/sbin/check_db
+usr/lib/mailman/bin/check_perms usr/sbin/check_perms
+usr/lib/mailman/bin/list_admins usr/sbin/list_admins
+usr/lib/mailman/bin/withlist usr/sbin/withlist
Modified: branches/pkg-split/core/debian/mailman.postinst
===================================================================
--- branches/pkg-split/core/debian/mailman.postinst 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.postinst 2004-05-18 16:29:43 UTC (rev 130)
@@ -8,8 +8,8 @@
. /usr/share/debconf/confmodule
"""
-
import sys, os
+virgin_gbls = globals().copy()
# Argl, if the debconf Python interface were well designed, sth like
@@ -28,62 +28,16 @@
from debconf import DebconfError, LOW, MEDIUM, HIGH, CRITICAL
+MM_INST = '/usr/lib/mailman'
MM_HOME = '/var/lib/mailman'
-MM_BIN = os.path.join(MM_HOME, 'bin')
-MM_INST = '/usr/share/mailman'
+MM_BIN = os.path.join(MM_INST, 'bin')
-sys.path.insert(0, MM_HOME)
+sys.path.insert(0, MM_INST)
from Mailman.Debian import DebuggingLogger, CommandRunner, cfdb
from errno import ENOENT
-
-def ucf_to_cfdb():
- """Import templates under ucf control.
-
- All Debian releases up to now that used ucf have only registered
- files under /etc/mailman/LANG and /etc/mailman/qmail-to-mailman.py
- with ucf, allowing this simplistic approach at moving to our own
- conffile database.
- """#
- from Mailman.Debian import mm_languages
-
- UCF_CACHE = '/var/lib/ucf/cache'
- ETC_DIR = '/etc/mailman/'
- ETC_LEN = len(ETC_DIR)
-
- prev_lang = None
-
- ucf_list = [ fn for fn in os.listdir(UCF_CACHE)
- if fn.startswith(':etc:mailman:') ]
- if not ucf_list: return
-
- log('Moving files out of ucf control ', nl='')
-
- for cached in ucf_list:
- path = '/'.join(cached.split(':'))
- ucf_cached = os.path.join(UCF_CACHE, cached)
- tmpl = open(ucf_cached).read()
- try:
- reg_key = path[ETC_LEN:]
- lang, tmpl = reg_key.split('/')
- if lang in mm_languages:
- if lang != prev_lang:
- if prev_lang: cfdb.sync()
- prev_lang = lang
- cfdb.register(reg_key, tmpl)
- except ValueError:
- cfdb.register(path, tmpl)
-
- os.system('ucf --purge --three-way %(path)s' % locals())
- os.remove(ucf_cached)
- log('.', nl='')
-
- cfdb.sync()
- log(' done.')
-
-
def compile_modules(directory):
"""Compiles all python modules in the specified directory.
@@ -105,14 +59,58 @@
log(' done.')
+def default_mm_cfg():
+ """Get default configuration.
+ """#
+ gbls = virgin_gbls.copy()
+ exec 'from Mailman.Defaults import *' in gbls
+ return gbls
+
def create_mm_cfg():
"""Create an initial /etc/mailman/mm_cfg.py
This works only for a first time install.
"""#
try:
- gbls = globals().copy()
+ from Mailman.Debian import mm_cfg_defaults, mm_cfg_fillin
+ mm_cfg_fl = open('/etc/mailman/mm_cfg.py', 'w')
+ # Writing a constant prefix (including the import from Defaults)
+ # beforehand makes sure there is a formally working mm_cfg.
+ mm_cfg_fl.write(mm_cfg_defaults)
+ mm_cfg_fl.flush()
+ gbls = default_mm_cfg()
+
+ email_host = db.get('mailman/email_host')
+ gbls['DEFAULT_EMAIL_HOST'] = email_host
+ log('DEBCONF email_host=%(DEFAULT_EMAIL_HOST)r' % gbls, lvl=2)
+ url_host = db.get('mailman/url_host') or 'www.'+email_host
+ gbls['DEFAULT_URL_HOST'] = url_host
+ log('DEBCONF url_host=%(DEFAULT_URL_HOST)r' % gbls, lvl=2)
+ server_language = db.get('mailman/default_server_language') or 'en'
+ gbls['DEFAULT_SERVER_LANGUAGE'] = server_language
+ exec 'from urlparse import urlsplit' in gbls
+ exec 'default_url_path = urlsplit(DEFAULT_URL_PATTERN)[2]' in gbls
+ mm_cfg_fl.write(mm_cfg_fillin % gbls)
+ mm_cfg_fl.close()
+ except DebconfError, exc:
+ log.exception()
+
+
+def update_mm_cfg():
+ """Update an existing /etc/mailman/mm_cfg.py.
+
+ Given upgrade paths from 2.0 MM installations and somewhat
+ broken mm_cfg files from 2.1 installations try to translate
+ obsolete variables to their 2.1 counterparts.
+ """#
+ etc_mm_cfg = '/etc/mailman/mm_cfg.py'
+ def_gbls = default_mm_cfg()
+ usr_gbls = virgin_gbls.copy()
+ sys.modules['Defaults'] = sys.modules['Mailman.Defaults']
+ execfile(etc_mm_cfg, usr_gbls)
+ os.rename(etc_mm_cfg, etc_mm_cfg+'.dpkg-old')
+ try:
from Mailman.Debian import mm_cfg_defaults, mm_cfg_fillin
mm_cfg_fl = open('/etc/mailman/mm_cfg.py', 'w')
# Writing a constant prefix (including the import from Defaults)
@@ -128,6 +126,10 @@
url_host = db.get('mailman/url_host') or 'www.'+email_host
gbls['DEFAULT_URL_HOST'] = url_host
log('DEBCONF url_host=%(DEFAULT_URL_HOST)r' % gbls, lvl=2)
+ server_language = db.get('mailman/default_server_language') or 'en'
+ gbls['DEFAULT_SERVER_LANGUAGE'] = server_language
+ exec 'from urlparse import urlsplit' in gbls
+ exec 'default_url_path = urlsplit(DEFAULT_URL_PATTERN)[2]' in gbls
mm_cfg_fl.write(mm_cfg_fillin % gbls)
mm_cfg_fl.close()
except DebconfError, exc:
@@ -149,11 +151,6 @@
try:
old_crontab = open(cron_tab).read()
- cur_crontab = fix_pathes(old_crontab)
- if cur_crontab != old_crontab:
- open(cron_tab, 'w').write(cur_crontab)
- log('Fixed pathes in %(cron_tab)r.' % locals())
- old_crontab = cur_crontab
cur_crontab = apply_gate_news(old_crontab, gate_news)
if cur_crontab != old_crontab:
open(cron_tab, 'w').write(cur_crontab)
@@ -163,9 +160,9 @@
new_crontab = apply_gate_news(mm_crontab, gate_news)
# Make sure cfdb comparision use identical gate_news settings
- if cfdb.has_key(cron_tab):
+ try:
cfdb[cron_tab] = apply_gate_news(cfdb[cron_tab], gate_news)
- else:
+ except KeyError:
cfdb.register(cron_tab, new_crontab)
msg = cfdb.update(cron_tab, data=new_crontab)
@@ -173,24 +170,12 @@
-def fix_pathes(crontab):
- """Fix obsolete /usr/lib/mailman/cron pathes"""
- lines = crontab.split('\n')
- cron_lines = []
- for line in lines:
- pos = line.find('/usr/lib/mailman')
- if pos >= 0:
- line = line[:pos] + '/var' + line[pos+4:]
- cron_lines.append(line)
- return '\n'.join(cron_lines)
-
-
def apply_gate_news(crontab, gate_news):
"""Apply gate_news setting to crontab string"""
lines = crontab.split('\n')
cron_lines = []
for line in lines:
- if line.find('/var/lib/mailman/cron/gate_news') > 0:
+ if line.find('/usr/lib/mailman/cron/gate_news') > 0:
prefix = (gate_news and [''] or ['# '])[0]
line = prefix + uncomment(line)
cron_lines.append(line)
@@ -230,19 +215,20 @@
return rc
-def run_debhelper_additions():
- from Mailman import mm_cfg
- help = os.path.join(mm_cfg.TEMPLATE_DIR,
- mm_cfg.DEFAULT_SERVER_LANGUAGE,
- 'help.txt')
- log(os.path.isfile(help) and 'Will start daemon.'
- or 'Will not start daemon.', lvl=2)
- enabled = os.path.isfile(help) and '+x' or '-x'
+def start_mm_qrunner():
+ log('>> entering start_mm_qrunner', lvl=3)
+
+ try:
+ if cfdb['mailman/templates'] in ('mailman-en', 'mailman-i18n'):
+ log('Will start qrunners.', lvl=2)
+ except KeyError:
+ log('Will not start qrunners.', lvl=2)
+ return
+
from popen2 import Popen4
runner = Popen4('/bin/sh -e')
runner.tochild.write("""\
-chmod %s /var/lib/mailman/bin/mailmanctl
-#DEBHELPER#""" % enabled)
+#DEBHELPER#""")
runner.tochild.close()
while True:
rc = runner.poll()
@@ -250,26 +236,32 @@
log(runner.fromchild.readline(), nl='')
log(runner.fromchild.read(), nl='')
if rc != 0:
+ log('DebHelper added script failed with rc=%(rc)r.' % locals())
raise SystemExit(1)
def setup():
- compile_modules(MM_HOME)
- ucf_to_cfdb()
+ compile_modules(MM_INST)
+## ucf_to_cfdb()
create_mm_cfg()
update_cron()
update_lists()
fix_perms()
- run_debhelper_additions()
if __name__ == '__main__':
log = DebuggingLogger('MM_MAINT')
try:
- function = sys.argv[1]
- inst_version = sys.argv[2]
- if function in ('configure',):
+ op = sys.argv[1]
+ if op == 'configure':
setup()
+ if op in ('configure','abort-upgrade','abort-remove','abort-deconfigure'):
+ cfdb['mailman/setup'] = 'ok'
+ start_mm_qrunner()
+ else:
+ log("postinst called with unknown argument %r." % op)
+ raise SystemExit(1)
+ sys.exit(0)
finally:
# When things break, this information might be useful
log.sys_info()
Modified: branches/pkg-split/core/debian/mailman.postrm
===================================================================
--- branches/pkg-split/core/debian/mailman.postrm 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.postrm 2004-05-18 16:29:43 UTC (rev 130)
@@ -2,12 +2,15 @@
# $URL$
# $Id$
+echo ">>> $0 $*" >&2
+
#DEBHELPER#
if [ "$1" = purge ]; then
rm -f /etc/cron.d/mailman
rm -rf /etc/mailman
rm -rf /var/log/mailman
- rm -f /var/lib/mailman/data/debcf.db
# rm -rf /var/lib/mailman
fi
+
+exit 0
\ No newline at end of file
Modified: branches/pkg-split/core/debian/mailman.preinst
===================================================================
--- branches/pkg-split/core/debian/mailman.preinst 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.preinst 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,7 +1,11 @@
#!/bin/sh -e
# $URL$
# $Id$
+echo ">>> $0 $*" >&2
+mm_inst=/usr/lib/mailman
+mm_home=/var/lib/mailman
+
if [ "$1" = "install" ]; then
if ! id -g list > /dev/null 2>&1 ; then
addgroup --system list
@@ -13,21 +17,24 @@
fi
if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then
- if [ -d /var/lib/mailman/logs ] && [ ! -L /var/lib/mailman/logs ] ; then
+ if [ -d ${mm_home}/logs ] && [ ! -L ${mm_home}/logs ] ; then
echo "New logs will be generated in /var/log/mailman"
fi
fi
-if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 2.1; then
+if [ "$1" = "upgrade" ] ; then
# upgrading, make sure the qfiles directory is empty.
- if ls /var/lib/mailman/qfiles 2>/dev/null | grep -q '.*' ; then
+ old_qdir=${mm_home}/qfiles
+ if dpkg --compare-versions "$2" ge 2.1 ; then
+ old_qdir=${old_qdir}/in
+ fi
+ if ls ${old_qdir} 2>/dev/null | grep -q '.*' ; then
# uh-oh.
- echo "Queue not cleared, please flush mailman queue and retry upgrade"
+ echo "Queue ${old_qdir} not cleared, please flush mailman queue and retry upgrade."
exit 1
fi
fi
-mm_home=/var/lib/mailman
pythonlib=${mm_home}/pythonlib
if [ -d ${pythonlib} ] && [ "$(ls -A ${pythonlib})" != "" ] ; then
@@ -49,10 +56,10 @@
esac
fi
-# Before unpacking make sure no symlink cruft is left in ${mm_home}
+# Before unpacking make sure no symlink cruft is left in ${mm_inst}
for d in Mailman bin cron mail pythonlib scripts ; do
- if [ -L ${mm_home}/${d} ]; then
- rm -f ${mm_home}/${d}
+ if [ -L ${mm_inst}/${d} ]; then
+ rm -f ${mm_inst}/${d}
fi
done
Modified: branches/pkg-split/core/debian/mailman.prerm
===================================================================
--- branches/pkg-split/core/debian/mailman.prerm 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.prerm 2004-05-18 16:29:43 UTC (rev 130)
@@ -5,39 +5,42 @@
#
# $URL$
# $Id$
+echo ">>> $0 $*" >&2
-# Hack to allow upgrade from broken 2.1.1 installs where stopping
-# mailman will fail. This hack can be removed after sarge+1 is released.
+PACKAGE=mailman
-if [ "$1" = "failed-upgrade" -a \( "$2" = "2.1.1-1" -o \
- "$2" = "2.1.1-2" -o "$2" = "2.1.1-3" \) ]; then
- if [ -x "/etc/init.d/mailman" ]; then
- if [ -x /usr/sbin/invoke-rc.d ] ; then
- invoke-rc.d mailman stop || true
- else
- /etc/init.d/mailman stop || true
- fi
- fi
- chmod -x /usr/lib/mailman/bin/mailmanctl
-fi
+unset_mm_setup () {
+python <<EOF
+import sys; sys.path.insert(0, '/usr/lib/mailman')
+try:
+ from Mailman.Debian import cfdb
+ del cfdb['mailman/setup']
+except:
+ pass
+EOF
+}
-if [ "$1" = "failed-upgrade" ] && dpkg --compare-versions "$2" gt "2.1.4-2" ; then
- if [ -x "/etc/init.d/mailman" ]; then
- if [ -x /usr/sbin/invoke-rc.d ] ; then
- invoke-rc.d mailman stop || true
- else
- /etc/init.d/mailman stop || true
- fi
- fi
- chmod -x /usr/lib/mailman/bin/mailmanctl
-fi
-
+mm_shutdown () {
#DEBHELPER#
+}
-PACKAGE=mailman
+case "$1" in
+ upgrade|remove)
+ unset_mm_setup
+ mm_shutdown
+ ;;
+ failed-upgrade)
+ if [ "$2" = "2.1.1-1" -o "$2" = "2.1.1-2" -o "$2" = "2.1.1-3" ] ; then
+ mm_shutdown
+ elif dpkg --compare-versions "$2" gt "2.1.4-2" ; then
+ mm_shutdown
+ fi
+esac
+
+
# dh_python doesn't do TRT[tm], do it manually
-# We have created symlinks and compiled .py files in the postinst, undo now.
+# We have created compiled .py files in the postinst, undo now.
dpkg --listfiles $PACKAGE |
awk '$0~/\.py$/ {print $0"c\n" $0"o"}' |
xargs rm -f >&2
Modified: branches/pkg-split/core/debian/mailman.templates
===================================================================
--- branches/pkg-split/core/debian/mailman.templates 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/mailman.templates 2004-05-18 16:29:43 UTC (rev 130)
@@ -1,26 +1,5 @@
# $URL$
# $Id$
-Template: mailman/site_languages
-Type: multiselect
-__Choices: big5, ca, cs, da, de, en, es, et, eu, fi, fr, gb, hr, hu, it, ja, ko, lt, nl, no, pl, pt, pt_BR, ro, ru, sl, sr, sv, uk
-Default: en
-_Description: Which languages to support?
- For each supported language Debian Mailman stores default language
- specific texts in /etc/mailman/LANG/ giving them conffile like
- treatment with the help of ucf. This means approximately 150kB for
- each supported language on the root FS.
- .
- If you need a different set of languages at a later time, just run
- dpkg-reconfigure mailman.
- .
- NOTE: Languages enabled on existing mailing lists are forcibly
- reenabled when deselected and mailman needs at least one language for
- displaying it's messages.
-
-Template: mailman/used_languages
-Type: string
-Description: Internal holding result of scan
-
Template: mailman/gate_news
Type: boolean
Default: false
@@ -67,3 +46,36 @@
.
In any case if this isn't the FQDN of this host, you must configure
it as a virtual host in your web server.
+
+Template: mailman/site_languages
+Type: multiselect
+__Choices: big5, ca, cs, da, de, en, es, et, eu, fi, fr, gb, hr, hu, it, ja, ko, lt, nl, no, pl, pt, pt_BR, ro, ru, sl, sr, sv, uk
+Default: en
+_Description: Which languages to support?
+ For each supported language Debian Mailman stores default language
+ specific texts in /etc/mailman/LANG/ giving them conffile like
+ treatment with the help of ucf. This means approximately 150kB for
+ each supported language on the root FS.
+ .
+ If you need a different set of languages at a later time, just run
+ dpkg-reconfigure mailman.
+ .
+ NOTE: Languages enabled on existing mailing lists are forcibly
+ reenabled when deselected and mailman needs at least one language for
+ displaying it's messages.
+
+Template: mailman/used_languages
+Type: string
+Description: Internal holding result of scan
+
+Template: mailman/other_languages
+Type: note
+_Description: Unsupported languages used
+ The mailman-en package supports only english mailing lists while this
+ installation has support for multiple languages enabled.
+ .
+ Before retrying to install the ${infavor} package, please make sure
+ all mailing lists use only english, then dpkg-reconfigue ${package}
+ disabling all languages but english.
+
+
\ No newline at end of file
Modified: branches/pkg-split/core/debian/patches/00list
===================================================================
--- branches/pkg-split/core/debian/patches/00list 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/patches/00list 2004-05-18 16:29:43 UTC (rev 130)
@@ -21,5 +21,7 @@
55_options_traceback
56_fix_de_broken_links
57_fix_missing_da_template
+58_fix_translations
+59_build_arch_indep
60_type_error_temp_fix
99_js_templates
Modified: branches/pkg-split/core/debian/patches/40_FHS_dirs.dpatch
===================================================================
--- branches/pkg-split/core/debian/patches/40_FHS_dirs.dpatch 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/patches/40_FHS_dirs.dpatch 2004-05-18 16:29:43 UTC (rev 130)
@@ -25,8 +25,8 @@
@DPATCH@
diff -urNad /debuild/mine/mailman/build-area/mailman-2.1.4/Mailman/Defaults.py.in mailman-2.1.4/Mailman/Defaults.py.in
---- /debuild/mine/mailman/build-area/mailman-2.1.4/Mailman/Defaults.py.in 2004-05-06 21:24:46.000000000 +0200
-+++ mailman-2.1.4/Mailman/Defaults.py.in 2004-05-06 21:26:55.000000000 +0200
+--- /debuild/mine/mailman/build-area/mailman-2.1.4/Mailman/Defaults.py.in 2004-05-16 15:22:46.000000000 +0200
++++ mailman-2.1.4/Mailman/Defaults.py.in 2004-05-16 15:23:40.000000000 +0200
@@ -1220,15 +1220,15 @@
# Useful directories
@@ -38,12 +38,10 @@
DATA_DIR = os.path.join(VAR_PREFIX, 'data')
SPAM_DIR = os.path.join(VAR_PREFIX, 'spam')
WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail')
--BIN_DIR = os.path.join(PREFIX, 'bin')
--SCRIPTS_DIR = os.path.join(PREFIX, 'scripts')
+ BIN_DIR = os.path.join(PREFIX, 'bin')
+ SCRIPTS_DIR = os.path.join(PREFIX, 'scripts')
-TEMPLATE_DIR = os.path.join(PREFIX, 'templates')
-MESSAGES_DIR = os.path.join(PREFIX, 'messages')
-+BIN_DIR = os.path.join(VAR_PREFIX, 'bin')
-+SCRIPTS_DIR = os.path.join(VAR_PREFIX, 'scripts')
+TEMPLATE_DIR = '/etc/mailman/templates'
+MESSAGES_DIR = '/usr/share/locale'
PUBLIC_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'public')
Added: branches/pkg-split/core/debian/patches/58_fix_translations.dpatch
===================================================================
--- branches/pkg-split/core/debian/patches/58_fix_translations.dpatch 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/patches/58_fix_translations.dpatch 2004-05-18 16:29:43 UTC (rev 130)
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+## 58_fix_translations.dpatch by Siggy Brentrup <bsb at debian.org>
+##
+## $URL$
+## $Id$
+##
+## DP: Fix translation errors
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+ at DPATCH@
+diff -urNad /debuild/mine/mailman/build-area/mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po
+--- /debuild/mine/mailman/build-area/mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po 2003-12-13 20:54:53.000000000 +0100
++++ mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po 2004-05-09 13:49:31.000000000 +0200
+@@ -1945,7 +1945,7 @@
+
+ #: Mailman/Cgi/create.py:200 bin/newlist:164
+ msgid "Illegal list name: %(s)s"
+-msgstr "Nombre de lista ilegal: %(opt)s"
++msgstr "Nombre de lista ilegal: %(s)s"
+
+ #: Mailman/Cgi/create.py:205
+ msgid ""
Property changes on: branches/pkg-split/core/debian/patches/58_fix_translations.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id URL
Added: branches/pkg-split/core/debian/patches/59_build_arch_indep.dpatch
===================================================================
--- branches/pkg-split/core/debian/patches/59_build_arch_indep.dpatch 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/patches/59_build_arch_indep.dpatch 2004-05-18 16:29:43 UTC (rev 130)
@@ -0,0 +1,124 @@
+#! /bin/sh -e
+## 59_build_arch_indep.dpatch by Siggy Brentrup <bsb at debian.org>
+##
+## $URL$
+## $Id$
+##
+## DP: Separate targets do-arch-install and do-indep-install.
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+ at DPATCH@
+diff -urNad /debuild/mine/mailman/build-area/mailman-2.1.4/Makefile.in mailman-2.1.4/Makefile.in
+--- /debuild/mine/mailman/build-area/mailman-2.1.4/Makefile.in 2004-05-10 11:09:41.000000000 +0200
++++ mailman-2.1.4/Makefile.in 2004-05-10 11:22:31.000000000 +0200
+@@ -55,7 +55,9 @@
+ ARCH_DEP_DIRS= cgi-bin mail
+
+ # Directories make should decend into
+-SUBDIRS= bin cron misc Mailman scripts src templates messages tests
++ARCH_SUBDIRS = src
++INDEP_SUBDIRS = bin cron misc Mailman scripts templates messages tests
++SUBDIRS = $(ARCH_SUBDIRS) $(INDEP_SUBDIRS)
+
+
+ # Modes for directories and executables created by the install
+@@ -73,21 +75,27 @@
+
+ # Rules
+
+-all: subdirs
++all: arch-subdirs indep-subdirs
+
+-subdirs: $(SUBDIRS)
+- for d in $(SUBDIRS); \
++arch-subdirs: $(ARCH_SUBDIRS)
++ for d in $(ARCH_SUBDIRS); \
+ do \
+ (cd $$d; $(MAKE)); \
+ done
+
+-install: doinstall update
++indep-subdirs: $(INDEP_SUBDIRS)
++ for d in $(INDEP_SUBDIRS); \
++ do \
++ (cd $$d; $(MAKE)); \
++ done
+
+-doinstall: $(SUBDIRS)
+- @echo "Creating architecture independent directories..."
+- @for d in $(VAR_DIRS); \
++install: do-arch-install do-indep-install update
++
++do-arch-install: $(ARCH_SUBDIRS)
++ @echo "Creating architecture dependent directories..."
++ @for d in $(ARCH_DEP_DIRS); \
+ do \
+- dir=$(DESTDIR)$(var_prefix)/$$d; \
++ dir=$(DESTDIR)$(exec_prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+ $(srcdir)/mkinstalldirs $$dir; \
+@@ -96,31 +104,37 @@
+ else true; \
+ fi; \
+ done
+- chmod o-r $(DESTDIR)$(var_prefix)/archives/private
+- @for d in $(ARCH_INDEP_DIRS); \
++ @for d in $(ARCH_SUBDIRS); \
+ do \
+- dir=$(DESTDIR)$(prefix)/$$d; \
++ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
++ done
++
++do-indep-install: $(INDEP_SUBDIRS)
++ @echo "Creating architecture independent directories..."
++ @for d in $(VAR_DIRS); \
++ do \
++ dir=$(DESTDIR)$(var_prefix)/$$d; \
+ if test ! -d $$dir; then \
+- echo "Creating directory hierarchy $$dir"; \
++ echo "Creating directory hierarchy $$dir"; \
+ $(srcdir)/mkinstalldirs $$dir; \
+ chmod $(DIRMODE) $$dir; \
+ $(DIRSETGID) $$dir; \
+ else true; \
+ fi; \
+ done
+- @echo "Creating architecture dependent directories..."
+- @for d in $(ARCH_DEP_DIRS); \
++ chmod o-r $(DESTDIR)$(var_prefix)/archives/private
++ @for d in $(ARCH_INDEP_DIRS); \
+ do \
+- dir=$(DESTDIR)$(exec_prefix)/$$d; \
++ dir=$(DESTDIR)$(prefix)/$$d; \
+ if test ! -d $$dir; then \
+- echo "Creating directory hierarchy $$dir"; \
++ echo "Creating directory hierarchy $$dir"; \
+ $(srcdir)/mkinstalldirs $$dir; \
+ chmod $(DIRMODE) $$dir; \
+ $(DIRSETGID) $$dir; \
+ else true; \
+ fi; \
+ done
+- @for d in $(SUBDIRS); \
++ @for d in $(INDEP_SUBDIRS); \
+ do \
+ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ done
Property changes on: branches/pkg-split/core/debian/patches/59_build_arch_indep.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id URL
Modified: branches/pkg-split/core/debian/rules
===================================================================
--- branches/pkg-split/core/debian/rules 2004-05-14 07:01:11 UTC (rev 129)
+++ branches/pkg-split/core/debian/rules 2004-05-18 16:29:43 UTC (rev 130)
@@ -22,23 +22,28 @@
INSTALL_PROGRAM += -s
endif
-build: patch-stamp Makefile debian/po/templates.pot
- $(MAKE)
- mkdir -p debian/tmp/usr/share/images/mailman
- $(MAKE) doinstall DESTDIR=$$(pwd)/debian/tmp \
- prefix=/usr/lib/$(package) \
- icondir=/usr/share/images/mailman \
- ICONDIR=/usr/share/images/mailman
- touch build
+ifeq (,$(findstring archonly,$(DEB_BUILD_OPTIONS)))
+build: build-arch build-indep
+else
+build: build-arch
+endif
+
+build-arch: patch-stamp Makefile
+ $(MAKE) arch-subdirs
+ touch build-arch
+
+build-indep: patch-stamp Makefile debian/po/templates.pot
+ $(MAKE) indep-subdirs
+ touch build-indep
+
debian/po/templates.pot: debian/po/POTFILES.in debian/mailman.templates \
debian/mailman-en.templates debian/mailman-i18n.templates
@debconf-updatepo
Makefile:
autoconf
- ./configure --prefix=/var/lib/$(package) \
- --exec-prefix=/usr/lib/$(package) \
+ ./configure --prefix=/usr/lib/$(package) \
--with-var-prefix=/var/lib/$(package) \
--with-username=list --with-groupname=list \
--with-mail-gid=daemon --with-cgi-gid=www-data \
@@ -48,15 +53,18 @@
clean: unpatch
$(checkdir)
-$(MAKE) distclean
- rm -rf build Makefile
+ rm -rf build-indep build-arch Makefile
dh_clean
rm -rf $$(find . -name "*~")
- rm -rf debian/tmp debian/mailman debian/mailman-{bin,i18n,doc}
- find .. -name $(package)*dsc.asc -size 0 -maxdepth 1 -exec rm {} ";"
+ rm -rf debian/tmp debian/mailman debian/mailman-{bin,i18n,doc,trans}
-binary-arch: checkroot build
+
+binary-arch: checkroot build-arch
$(checkdir)
+
+ $(MAKE) do-arch-install DESTDIR=$$(pwd)/debian/tmp
+
dh_installdirs --same-arch
dh_installdocs --same-arch
dh_installchangelogs --same-arch
@@ -75,8 +83,12 @@
dh_md5sums --same-arch
dh_builddeb --same-arch
-binary-indep: checkroot build
+binary-indep: checkroot build-indep
$(checkdir)
+
+ mkdir -p debian/tmp/usr/share/images/mailman
+ $(MAKE) do-indep-install DESTDIR=$$(pwd)/debian/tmp
+
dh_installdirs --indep
dh_installdocs --indep
dh_installchangelogs --indep
@@ -86,15 +98,15 @@
dh_installinit --indep
dh_fixperms --indep
- # remove that wrapper, it's in mailman-bin
- rm debian/mailman/usr/share/mailman/mail/mailman
# remove .po files
rm -f $$(find debian/mailman-i18n/usr/share/locale -name mailman.po)
+ # remove templates.py which belongs into mailman
+ rm -f debian/mailman-trans/usr/lib/mailman/Mailman/Debian/templates.py
# move language README.lang to doc directory
mv $$(find debian/mailman-i18n/usr/share/locale -name README.\*) \
debian/mailman-i18n/usr/share/doc/mailman-i18n
# Mailman/Post.py may be run as a script
- chmod a+x debian/mailman/usr/share/mailman/Mailman/Post.py
+ chmod a+x debian/mailman/usr/lib/mailman/Mailman/Post.py
# Remove irrelevant READMEs
rm -f debian/mailman/usr/share/doc/mailman/README.{BSD,MACOSX}
More information about the Pkg-mailman-hackers
mailing list