Package: sympa
Version: 5.2.3-0.7
Severity: grave
Tags: patch
Justification: causes non-serious data loss

wwsympa and soap can cause database corruption if running while database
upgrade :

http://listes.cru.fr/sympa/arc/sympa-users/2006-12/msg00058.html

With newer sympa versions, including 5.2.3, if wwsympa and soap detecte 
that the database is outdated, they will stay in maintenance mode waiting
that sympa.pl upgrade the it.

One solution for debian is then to restart or reload apache before
upgrading the database. wwsympa will then be restarted too and will stay
in maintenance mode.

In the patch the execution of prepare-db is moved to the end of
postinst, just after apache restart. At this stade the conf files are
upgraded and wwsympa and soap can be restarted. Apache restart is
strongly recommended, maybe it should be forced ? A reload is enought.

Index: debian/postinst
===================================================================
--- debian/postinst     (revision 2089)
+++ debian/postinst     (working copy)
@@ -315,10 +315,9 @@
 
         chown sympa:sympa /etc/sympa/sympa.conf
        chmod 0640 /etc/sympa/sympa.conf
-
-       /usr/share/sympa/db/prepare_db
 fi
 
+
 # remove depreciated WWW configuration fragment
 
 db_get wwsympa/webserver_type
@@ -454,6 +453,10 @@
        fi
 fi
 
+if [ "$use_db" = "true" ]; then
+       /usr/share/sympa/db/prepare_db
+fi
+
 ## End up with debconf
 db_stop
 
Index: debian/templates
===================================================================
--- debian/templates    (revision 2084)
+++ debian/templates    (working copy)
@@ -229,6 +229,9 @@
 Type: boolean
 Default: true
 _Description: Do you want the Web server to be restarted after installation?
+ In case of sympa upgrade, if you don't want the webserver to be restarted
+ you must make sure wwsympa and sympasoap are not running or you can 
+ experience database corruption.
 
 Template: wwsympa/remove_spool
 Type: boolean

-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (900, 'testing'), (200, 'unstable'), (10, 'experimental')
Architecture: i386 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-xen-amd64
Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1)

Versions of packages sympa depends on:
ii  adduser                      3.100       Add and remove users and groups
ii  debconf [debconf-2.0]        1.5.8       Debian configuration management sy
ii  libarchive-zip-perl          1.16-1      Module for manipulation of ZIP arc
ii  libc6                        2.3.6.ds1-8 GNU C Library: Shared libraries
ii  libcgi-fast-perl             5.8.8-6.1   CGI::Fast Perl module
ii  libcrypt-ciphersaber-perl    0.61-4      Perl module implementing CipherSab
ii  libdbd-mysql-perl            3.0008-1    A Perl5 database interface to the 
ii  libdbi-perl                  1.53-1      Perl5 database interface by Tim Bu
ii  libfcgi-perl                 0.67-2      FastCGI Perl module
ii  libintl-perl                 1.16-1      Uniforum message translations syst
ii  libio-stringy-perl           2.110-1     Perl5 modules for IO from scalars 
ii  libmailtools-perl            1.74-1      Manipulate email in perl programs
ii  libmd5-perl                  2.03-1      backwards-compatible wrapper for D
ii  libmime-perl                 5.420-0.1   Perl5 modules for MIME-compliant m
ii  libmsgcat-perl               1.03-3      Locale::Msgcat perl module
ii  libnet-ldap-perl             1:0.33-2    A Client interface to LDAP servers
ii  libtemplate-perl             2.14-1      template processing system written
ii  libxml-libxml-perl           1.59-2      Perl module for using the GNOME li
ii  mhonarc                      2.6.16-1    Mail to HTML converter
ii  perl [libmime-base64-perl]   5.8.8-6.1   Larry Wall's Practical Extraction 
ii  perl-suid                    5.8.8-6.1   Runs setuid Perl scripts
ii  postfix [mail-transport-agen 2.3.4-3     A high-performance mail transport 
ii  sysklogd [system-log-daemon] 1.4.1-18    System Logging Daemon

Versions of packages sympa recommends:
ii  doc-base                      0.7.21     utilities to manage online documen
ii  logrotate                     3.7.1-3    Log rotation utility

-- debconf information:
* wwsympa/webserver_type: Apache
* sympa/listmaster: [EMAIL PROTECTED]
* wwsympa/wwsympa_url: http://test.u-picardie.fr/wws
* wwsympa/webserver_restart: true
* sympa/hostname: test.u-picardie.fr
* sympa/db_options:
  sympa/soap_url:
  sympa/wwsympa_configured: true
* sympa/db_name: sympa
* sympa/db_type: MySQL
* sympa/db_configured: true
  sympa/soap_configured: false
* sympa/db_hostname: localhost
* sympa/language: en_US
* sympa/use_db: true
  sympa/db_removeonpurge: false
* sympa/use_soap: true
* wwsympa/remove_spool: true
* sympa/db_user: sympa
* wwsympa/fastcgi: true
* sympa/use_wwsympa: true
  sympa/db_authtype: Ident-based
  sympa/db_port:
  sympa/remove_spool: false
* sympa/smime_support: false
Index: debian/postinst
===================================================================
--- debian/postinst     (revision 2089)
+++ debian/postinst     (working copy)
@@ -315,10 +315,9 @@
 
         chown sympa:sympa /etc/sympa/sympa.conf
        chmod 0640 /etc/sympa/sympa.conf
-
-       /usr/share/sympa/db/prepare_db
 fi
 
+
 # remove depreciated WWW configuration fragment
 
 db_get wwsympa/webserver_type
@@ -454,6 +453,10 @@
        fi
 fi
 
+if [ "$use_db" = "true" ]; then
+       /usr/share/sympa/db/prepare_db
+fi
+
 ## End up with debconf
 db_stop
 
Index: debian/templates
===================================================================
--- debian/templates    (revision 2084)
+++ debian/templates    (working copy)
@@ -229,6 +229,9 @@
 Type: boolean
 Default: true
 _Description: Do you want the Web server to be restarted after installation?
+ In case of sympa upgrade, if you don't want the webserver to be restarted
+ you must make sure wwsympa and sympasoap are not running or you can 
+ experience database corruption.
 
 Template: wwsympa/remove_spool
 Type: boolean

Reply via email to