proposed addition to Roundup README.Debian (was Re: [Pkg-exim4-users] Re: pipe aliases and permissions)

Faheem Mitha faheem at email.unc.edu
Sun Dec 11 01:09:49 UTC 2005



On Sat, 10 Dec 2005, Marc Haber wrote:

>> Would something like the following work for Roundup? It looks like
>> $local_part is extracted by matching require_files, correct?
>>
>> ******************************************************************
>>   # Home dir for your Roundup installation
>>   ROUNDUP_HOME=/var/lib/roundup/trackers
>>
>>   # User and group for Roundup.
>>   ROUNDUP_USER=roundup
>>   ROUNDUP_GROUP=roundup
>>
>>   roundup_router:
>>     driver = accept
>>     # The config file config.ini seems like a more natural choice, but the
>>     # file config.py was replaced by config.ini in 0.8, and schema.py needs
>>     to be
>>     # present too.
>>     require_files = /usr/bin/roundup-mailgw,
>>     ROUNDUP_HOME/$local_part/schema.py
>>     transport = roundup_transport
>>
>>   roundup_transport:
>>     driver = pipe
>>     command = /usr/bin/python /usr/bin/roundup-mailgw
>>     ROUNDUP_HOME/$local_part/
>>     current_directory =
>>     home_directory =
>>     user = ROUNDUP_USER
>>     group = ROUNDUP_GROUP
>> ***************************************************************
>
> Looks good.

Ok, I now have a working configuration.

Please comment on proposed addition to Roundup README.Debian.

Note I've made a few minor modifications. In particular, I've removed 
current_directory and home_directory since they don't do anything and Exim 
does not like them unset.

Thanks.                                                       Faheem.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hi,

In the Roundup installation documentation 
(http://roundup.sourceforge.net/doc-0.8/installation.html#configure-an-email-interface), 
it says

*******************************************************************
As a mail alias pipe process

Set up a mail alias called "issue_tracker" as (include the quote marks): 
"|/usr/bin/python /usr/local/bin/roundup-mailgw <tracker_home>"
*******************************************************************

However, this does not work out the box on Debian, using Debian Exim4. 
Instead. I propose using a custom router & transport as per Debian Exim 
preferences.

The following configuration has been tested on Debian Sarge with Exim4.

The following three config files, when dropped into /etc/exim4/,
should do what it necessary. Note that as per directions in the Debian
Exim README.Debian, the monolithic file (unsplit configuration)
/etc/exim4/exim4.conf.template can be rebuilt from the conf.d files by
running 'update-exim4.conf.template -r'.

This configuration is largely due to Marc Haber, the Debian Exim
maintainer, and has been lightly edited by me.

This config makes a few assumptions:

1) That the mail address corresponding to the tracker instance has the 
same name, ie. the mail address corresponding to a Roundup instance called 
mytracker is mytracker at ...

2) That all the tracker instances are owned by the same user, in this 
case, 'roundup'.

3) That if the schema.py file exists, then the tracker is 'ready to
go'. I'm not sure if it would be better to use the config.ini file.

However, it has the advantage that modulo these assumptions no further 
configuration will need to be made, when new tracker instances are added.

NB. The roundup_router needs to come before system_aliases, otherwise Exim 
will complain that ' pipe_transport unset in system_aliases router', and 
defer the message. Using 050 ensures that it is included before 
system_aliases, which is 
/etc/exim4/conf.d/router/400_exim4-config_system_aliases.

************************************************************************
/etc/exim4/conf.d/main/000_localmacros
************************************************************************
# Home dir for your Roundup installation
ROUNDUP_HOME=/var/lib/roundup/trackers

# User and group for Roundup.
ROUNDUP_USER=roundup
ROUNDUP_GROUP=roundup
************************************************************************
/etc/exim4/conf.d/router/050_exim4-config_roundup
************************************************************************
roundup_router:
   driver = accept
   # The config file config.ini seems like a more natural choice, but the
   # file config.py was replaced by config.ini in 0.8, and schema.py needs
   # to be present too.
   require_files = /usr/bin/roundup-mailgw:ROUNDUP_HOME/$local_part/schema.py
   transport = roundup_transport
************************************************************************
/etc/exim4/conf.d/transport/050_exim4-config_roundup
************************************************************************
roundup_transport:
   driver = pipe
   command = /usr/bin/python /usr/bin/roundup-mailgw ROUNDUP_HOME/$local_part/
   user = ROUNDUP_USER
   group = ROUNDUP_GROUP
************************************************************************

If you have followup questions, I suggest you talk to (in addition to 
myself), the people on pkg-exim4-users at lists.alioth.debian.org, who 
certainly know much more about all this stuff than I do.

Thanks.                                                          Faheem.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



More information about the Pkg-exim4-users mailing list