[Evolvis-commits] r297: Added mailing-lists support. They should work. ↵ ↵ We do it by adding a new mailingList entry type in the LDAP directory , ↵ and then exporting the relevant data into it (that' s sql2ldif.pl' s↵ job ) after having actually created them in Mailman (that' s↵ create-mailing-lists .pl's job). All this is triggered by a crontab. ↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 25 14:14:53 CET 2010


Author: mirabilos
Date: 2010-02-25 13:14:53 +0000 (Thu, 25 Feb 2010)
New Revision: 297

Added:
   trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
Modified:
   trunk/gforge_base/evolvisforge/
   trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh
   trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template
   trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema
   trunk/gforge_base/evolvisforge/gforge/debian/changelog
   trunk/gforge_base/evolvisforge/gforge/debian/rules
   trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d
   trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl
Log:
Added mailing-lists support.  They should work.

We do it by adding a new mailingList entry type in the LDAP directory,
and then exporting the relevant data into it (that's sql2ldif.pl's
job) after having actually created them in Mailman (that's
create-mailing-lists.pl's job).  All this is triggered by a crontab.



Property changes on: trunk/gforge_base/evolvisforge
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2001-09-14 19:31:32.000000000 +0000
committer: lo-lan-do

   + timestamp: 2001-09-14 19:34:48.000000000 +0000
committer: lo-lan-do

Name: bzr:file-ids
   - gforge/debian/sourceforge.postinst	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fsourceforge.postinst

   + gforge/deb-specific/create-mailing-lists.pl	68 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fcreate-mailing-lists.pl
gforge/deb-specific/install-exim.sh	54 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Finstall-exim.sh
gforge/deb-specific/sf-httpd.conf.template	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fsf-httpd.conf.template
gforge/deb-specific/sourceforge.schema	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fsourceforge.schema
gforge/debian/changelog	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fchangelog
gforge/debian/rules	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Frules
gforge/debian/sourceforge.cron.d	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fsourceforge.cron.d
gforge/utils/sql2ldif.pl	2 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Futils%2Fsql2ldif.pl

Name: bzr:revision-id:v4
   - 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67

   + 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67
63 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:68

Name: bzr:text-parents
   - gforge/debian/sourceforge.postinst	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56

   + gforge/deb-specific/install-exim.sh	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
gforge/deb-specific/sf-httpd.conf.template	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
gforge/deb-specific/sourceforge.schema	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
gforge/debian/changelog	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
gforge/debian/rules	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
gforge/debian/sourceforge.cron.d	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
gforge/utils/sql2ldif.pl	svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50


Added: trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl	                        (rev 0)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl	2010-02-25 13:14:53 UTC (rev 297)
@@ -0,0 +1,104 @@
+#!/usr/bin/perl -w
+#
+# $Id$
+#
+# Create the mailing-lists from the database
+# Roland Mas, debian-sf (Sourceforge for Debian)
+
+use DBI ;
+use strict ;
+use diagnostics ;
+use File::Temp qw/ :mktemp  /;
+
+use vars qw/ $dbh $sys_lists_host $domain_name / ;
+
+use vars qw// ;
+
+sub debug ( $ ) ;
+
+require ("/usr/lib/sourceforge/lib/include.pl") ; # Include all the predefined functions 
+require ("/etc/sourceforge/local.pl") ;
+
+&db_connect ;
+
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+eval {
+    my ($query, $sth, @array, @lines, $line) ;
+
+    $query = "SELECT mail_group_list.group_list_id,
+                     mail_group_list.list_name,
+                     users.user_name,
+                     mail_group_list.password,
+                     mail_group_list.description
+              FROM mail_group_list, users
+              WHERE mail_group_list.status = 1
+                    AND mail_group_list.list_admin = users.user_id" ; # Status = 1: list just created on the website
+    $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    while (my @myarray = $sth->fetchrow_array ()) {
+	push @lines, \@myarray ;
+    }
+    $sth->finish () ;
+
+    foreach $line (@lines) {
+	@array = @{$line} ;
+	my ($group_list_id, $listname, $user_name, $password, $description) ;
+	my ($tmp) ;
+
+	($group_list_id, $listname, $user_name, $password, $description)= @array ;
+	my $cmd = "/usr/sbin/newlist -q $listname $user_name\@users.$domain_name $password >/dev/null 2>&1" ;
+	#print "cmd = <$cmd>\n" ;
+	system ($cmd) ;
+
+	$query = "UPDATE mail_group_list SET status = 2 where group_list_id = group_list_id" ; # Status = 2: list created on Mailman
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+
+	$tmp = mktemp ("/tmp/XXXXXX") ;
+	$cmd = "/usr/lib/mailman/bin/config_list -o $tmp $listname" ;
+	#print "cmd = <$cmd>\n" ;
+	system ($cmd) ;
+	open CONFIG, ">>$tmp" ;
+	print CONFIG "description = '$description'\n" ;
+	print CONFIG "host_name = '$sys_lists_host'\n" ;
+	print CONFIG "web_page_url = 'http://$sys_lists_host/cgi-bin/mailman/'\n" ;
+	close CONFIG ;
+	$cmd = "/usr/lib/mailman/bin/config_list -i $tmp $listname" ;
+	#print "cmd = <$cmd>\n" ;
+	system ($cmd) ;
+	unlink $tmp ;
+
+	$query = "UPDATE mail_group_list SET status = 3 where group_list_id = group_list_id" ; # Status = 3: list configured on Mailman
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+
+	#debug "Committing." ;
+	$dbh->commit () ;
+    }
+    
+    # There should be a commit at the end of every block above.
+    # If there is not, then it might be symptomatic of a problem.
+    # For safety, we roll back.
+    $dbh->rollback ();
+};
+
+if ($@) {
+    warn "Transaction aborted because $@" ;
+    debug "Transaction aborted because $@" ;
+    $dbh->rollback ;
+    debug "Please report this bug on the Debian bug-tracking system." ;
+    debug "Please include the previous messages as well to help debugging." ;
+    exit 1 ;
+}
+
+$dbh->rollback ;
+$dbh->disconnect ;
+
+sub debug ( $ ) {
+    my $v = shift ;
+    chomp $v ;
+    print STDERR "$v\n" ;
+}


Property changes on: trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh	2010-02-25 13:14:53 UTC (rev 297)
@@ -55,43 +55,35 @@
   user = nobody
   group = nogroup
 
-#forward_for_lists:
-#  domains = $sys_lists_host
-#  driver = aliasfile
-#  file_transport = address_file
-#  pipe_transport = address_pipe
-#  query = "select \'|/usr/lib/mailman/mail/wrapper post \'||list_name
-#       from mail_group_list where list_name = \'$local_part\'"
-#  search_type = pgsql
-#  user=root
-#  group=root
-#
-#forward_for_lists_admin:
-#  domains = $sys_lists_host
-#  driver = aliasfile
-#  file_transport = address_file
-#  pipe_transport = address_pipe
-#  query = "select \'|/usr/lib/mailman/mail/wrapper mailowner \'||list_name
-#    from mail_group_list where list_name =
-#    substring(\'$local_part\' for (octet_length(\'$local_part\')-6)) and
-#    substring(\'$local_part\' from (octet_length(\'$local_part\')-5)) = \'-admin\'"
-#  search_type = pgsql
-#  user=root
-#  group=root
-#
-#forward_for_lists_request:
-#  domains = $sys_lists_host
-#  driver = aliasfile
-#  file_transport = address_file
-#  pipe_transport = address_pipe
-#  query = "select \'|/usr/lib/mailman/mail/wrapper mailcmd \'||list_name
-#    from mail_group_list where list_name =
-#    substring(\'$local_part\' for (octet_length(\'$local_part\')-8)) and
-#    substring(\'$local_part\' from (octet_length(\'$local_part\')-7)) = \'-request\'"
-#  search_type = pgsql
-#  user=root
-#  group=root
-## END SOURCEFORGE BLOCK #
+forward_for_sourceforge_lists:
+  domains = $sys_lists_host
+  driver = aliasfile
+  pipe_transport = address_pipe
+  query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listPostaddress\"
+  search_type = ldap
+  user = nobody
+  group = nogroup
+
+forward_for_sourceforge_lists_admin:
+  domains = $sys_lists_host
+  suffix = -owner : -admin
+  driver = aliasfile
+  pipe_transport = address_pipe
+  query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listOwnerAddress\"
+  search_type = ldap
+  user = nobody
+  group = nogroup
+
+forward_for_sourceforge_lists_request:
+  domains = $sys_lists_host
+  suffix = -request
+  driver = aliasfile
+  pipe_transport = address_pipe
+  query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listRequestAddress\"
+  search_type = ldap
+  user = nobody
+  group = nogroup
+# END SOURCEFORGE BLOCK #
 " ;
 
 while (($l = <>) !~ /^\s*end\s*$/) { print $l ; };

Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template	2010-02-25 13:14:53 UTC (rev 297)
@@ -53,13 +53,22 @@
 <VirtualHost {ip_address}>
   ServerName {lists_host}
   AddHandler cgi-script .cgi
+
   ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
+
+  Alias /pipermail /var/lib/mailman/archives/public
+  <Directory /var/lib/mailman/archives/public>
+    AllowOverride Options
+    Options FollowSymLinks
+  </Directory>
+
   Alias /doc/mailman/images /usr/share/doc/mailman/images
   <Location /doc/mailman/images>
     order allow,deny
     allow from all
   </Location>
-  RedirectMatch permanent /$ http://{lists_host}/cgi-bin/mailman/listinfo
+
+  RedirectMatch permanent ^/$ http://{lists_host}/cgi-bin/mailman/listinfo
 </VirtualHost>
 
 <VirtualHost {ip_address}:443>

Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema	2010-02-25 13:14:53 UTC (rev 297)
@@ -18,7 +18,7 @@
 	EQUALITY caseIgnoreIA5Match 
 	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) 
 
-attributetype ( 1.1.2.2.4 NAME 'postAddress' 
+attributetype ( 1.1.2.2.4 NAME 'listPostAddress' 
 	DESC 'The address of the mailing-list'
 	EQUALITY caseIgnoreIA5Match 
 	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) 
@@ -39,4 +39,4 @@
 
 objectclass ( 1.1.2.2.4 NAME 'x-sourceforgeMailingList' SUP top AUXILIARY
 	DESC 'Abstraction of a Sourceforge Mailing List' 
-	MAY ( x-cvsShell $ x-forward-email ) )
+	MAY ( listPostAddress $ listOwnerAddress $ listRequestAddress ) )

Modified: trunk/gforge_base/evolvisforge/gforge/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/changelog	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/changelog	2010-02-25 13:14:53 UTC (rev 297)
@@ -1,4 +1,4 @@
-sourceforge (2.5-10+10) unstable; urgency=low
+sourceforge (2.5-10+11) unstable; urgency=low
 
   * Fixed /etc/aliases entry for sourceforge user.  Really, this time.
   * Fixed Trove software map (closes: #108297).
@@ -22,11 +22,16 @@
     anymore, but it's better nevertheless.
   * [Christian] Added SF_robot and Replicator entry in sql2ldif script.
   * [Christian] Made ldap_add_password template var work.
-  * [Christian] Added ldap check in apache/php config
-  * [Christian] Ldap online support enabled. Require intensiv test
-    and probably security enhancement similar to database
+  * Mailing-lists should now work.  The emails should also be sent to the
+    list with the same LDAP trick we used for the email forwarding, and
+    the web part of Mailman be correctly configured.
+  * Fixed apache-ssl support (apache + libapache-mod-ssl was the only
+    combination I had previously tested).
+  * [Christian] Added ldap check in apache/php config.
+  * [Christian] Ldap online support enabled.  Requires intensive testing
+    and probably security enhancements similar to database.
 
- -- Christian Bayle <bayle at aist.enst.fr>  Wed, 12 Sep 2001 23:13:29 +0200
+ -- Roland Mas <lolando at debian.org>  Fri, 14 Sep 2001 22:30:18 +0200
 
 sourceforge (2.5-10) unstable; urgency=low
 

Modified: trunk/gforge_base/evolvisforge/gforge/debian/rules
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/rules	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/rules	2010-02-25 13:14:53 UTC (rev 297)
@@ -133,6 +133,9 @@
 	install -m 755 deb-specific/install-ftp.sh $(CURDIR)/debian/sourceforge/usr/lib/sourceforge/bin/
 	install -m 644 deb-specific/sf-proftpd.conf $(CURDIR)/debian/sourceforge/etc/sourceforge/
 
+	# Mailing-lists
+	install -m 755 deb-specific/create-mailing-lists.pl $(CURDIR)/debian/sourceforge/usr/lib/sourceforge/bin/
+
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.

Modified: trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d	2010-02-25 13:14:53 UTC (rev 297)
@@ -41,5 +41,8 @@
 # DNS Update
 0 * * * * sourceforge [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/dns_conf.pl ] && /usr/lib/sourceforge/bin/dns_conf.pl && /usr/sbin/rndc reload &>/dev/null
 
+# Mailing-list creation
+55 * * * * root [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/create-mailing-lists.pl ] && /usr/lib/sourceforge/bin/create-mailing-lists.pl
+
 # CVS/user/group update
 0 * * * * root [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/update-user-group-cvs.sh ] && /usr/lib/sourceforge/bin/update-user-group-cvs.sh

Modified: trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl	2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl	2010-02-25 13:14:53 UTC (rev 297)
@@ -122,6 +122,33 @@
 }
 
 #
+#  Dump mailing-lists entries (ou=mailingList)
+#
+
+$query = "SELECT mail_group_list.group_list_id,
+                 mail_group_list.list_name,
+                 users.user_name,
+                 mail_group_list.password,
+                 mail_group_list.description
+          FROM mail_group_list, users
+          WHERE mail_group_list.status = 3
+                AND mail_group_list.list_admin = users.user_id" ;
+$rel = $dbh->prepare($query);
+$rel->execute();
+
+while(my ($group_list_id, $listname, $user_name, $password, $description) = $rel->fetchrow()) {
+	print "dn: cn=$listname,ou=mailingList,$sys_ldap_base_dn
+objectClass: x-sourceforgeMailingList
+objectClass: top
+cn: $listname
+listPostAddress: \"|/var/lib/mailman/mail/wrapper post $listname\"
+listOwnerAddress: \"|/var/lib/mailman/mail/wrapper mailowner $listname\"
+listRequestAddress: \"|/var/lib/mailman/mail/wrapper mailcmd $listname\"
+";
+	print "\n";
+}
+
+#
 #  Dump CVS group entries (ou=cvsGroup)
 #
 
@@ -207,6 +234,13 @@
 objectClass: domainRelatedObject
 associatedDomain: $sys_default_domain
 
+dn: ou=mailingList,$sys_ldap_base_dn
+ou: mailingList
+objectClass: top
+objectClass: organizationalUnit
+objectClass: domainRelatedObject
+associatedDomain: $sys_lists_host
+
 dn: cn=Replicator,$sys_ldap_base_dn
 cn: Replicator
 sn: Replicator the Robot




More information about the evolvis-commits mailing list