Skip to Content.
Sympa Menu

devel - Re: [sympa-developpers] Layout of sources

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Guillaume Rousse <address@concealed>
  • To: address@concealed
  • Subject: Re: [sympa-developpers] Layout of sources
  • Date: Thu, 02 Jan 2014 18:04:27 +0100

Le 11/11/2013 07:47, IKEDA Soji a écrit :
Hi all,

I compiled David's advice and subsequent comments into single tree.

* Paths indicated by strike-through are proposed/suggested to be
removed or moved to other place. These changes are not necessarily
agreed by now.
* See notes at bottom for details.
(I added more notes: [0.1], [1], [5].)

TOP
|-- several files to be read: AUTHORS, COPYING, ChangeLog, INSTALL,
NEWS, README, README.charset, sympa.generic, sympa.in^*[note 0 SI]
<#note_0_SI>* , <#note_0_SI>^** logrotate <#note_0.1_SI>^*[note 0.1 SI]
<#note_0.1_SI>* , README.postfix <#note_0.1_SI>*^[note 1 SI] <#note_1_SI> *
|-- some scripts: important_changes.pl, sympa.spec.in, tap-driver.sh
|-- *doc/*: doc
|-- *ext/*: external modules
|-- *t**/*: tests
|-- *po/*: localization
| |-- *user_interface**/***->*sympa**/*: uesr interface
localization.*^[note 2 SI] <#note_2_SI> *
| `-- *web_help**/*: web help localization
|-- *default**/* -> *default_src/*: configuration and templates defaults
| |-- create_list_templates/
| |-- families/^*[note 3 DV] <#note_3_DV>*
| |-- global_task_models/
| |-- list_task_models/
| |-- scenari/
| |-- *templates/*: mail templates
| | |-- *mail/*: mail templates
| | `-- *web/*: web templates
| |-- auth.conf
| |-- ca-bundle.crt
| |-- charset.conf
| |-- crawlers_detection.conf
| |-- create_list.conf
| |-- edit_list.conf
| |-- ldap_alias_entry.tt2
| |-- ldap_alias_manager.conf
| |-- list_aliases.tt2.in
| |-- mime.types
| |-- mhonarc-ressources.tt2
| |-- nrcpt_by_domain.conf
| |-- sympa.wsdl
| `-- topics.conf
|-- *www**/*: static files needed for the web
| |-- Makefile.am
| |-- icons*/*
| `-- js*/*
|-- *samples**/*: static files needed for the web
| |-- *families**/*
| `-- sampleClient.php
`-- *src**/*: source code. ^*[note 4 SI] <#note_4_SI>*
|-- README.postfix ^*[note 1 SI] <#note_1_SI>*
|-- *script**/*: ponctual usage scripts
| |-- arc2webarc.pl.in
| |-- arcrepair.pl
| |-- create_db.Oracle
| |-- create_db.Pg
| |-- create_db.SQLite
| |-- create_db.Sybase
| |-- create_db.mysql
| |-- crypt_passwd.pl.in
| |-- find_missing_messages.pl
| |-- init_comment.pl.in
| |-- ldap_alias_manager.pl.in ^*[note 7 SI] <#note_7_SI>*
| |-- logrotate ^*[note 0.1 SI] <#note_0.1_SI>*
| |-- mod2html.pl.in
| |-- mysql_alias_manager.pl.in ^*[note 7 SI] <#note_7_SI>*
| |-- p12topem.pl.in
| |-- sympa.generic ^*[note 0 SI] <#note_0_SI>*
| |-- sympa.in ^*[note 0 SI] <#note_0_SI>*
| |-- sympa_soap_client.pl.in
| |-- testldap.pl.in
| |-- testlogs.pl.in
| `-- tpl2tt2.pl.in
|-- *cgi/*: daemons that run under a web server
| |-- *web**/*: web daemon and associated files. ^*[note 6 SI]
<#note_6_SI>*
| | |-- INSTALL^*[note 5 SI] <#note_5_SI>* /
/ | | |-- Makefile.am
| | |-- README ^*[note 5 SI] <#note_5_SI>*
| | |-- wwsympa-wrapper.fcgi.c
| | `-- wwsympa.fcgi.in
| `-- *soap/*: the SOAP server and associated files. ^*[note 6 SI]
<#note_6_SI>*
| |-- Makefile.am/
/ | |-- sympa_soap_server-wrapper.fcgi.c
| `-- sympa_soap_server.fcgi.in
|-- *lib/*: all modules (.pm files) in the Sympa namespace
| |-- Makefile.am
| `-- Sympa
`-- *sbin/*: all excutable files needed for daily Sympa
functionning (daemons and queue programs).
|-- Makefile.am
|-- alias_manager.pl.in ^*[note 7 SI] <#note_7_SI>*
|-- aliaswrapper.c ^*[note 7 SI] <#note_7_SI>*
|-- archived.pl.in
|-- bounced.pl.in
|-- bouncequeue.c ^*[note 7 SI] <#note_7_SI>*
|-- bulk.pl.in
|-- familyqueue.c ^*[note 7 SI] <#note_7_SI>*
|-- queue.c ^*[note 7 SI] <#note_7_SI>*
|-- sympa.pl.in
|-- sympa_wizard.pl.in ^*[note 8 DV] <#note_8_DV>*
|-- task_manager.pl.in
`-- virtualwrapper.c ^*[note 7 SI]
<#note_7_SI>* *
libexec/ <#note_7_SI>**[note 7 SI] <#note_7_SI>*^*
* |-- alias_manager.pl.in
|-- ldap_alias_manager.pl.in
|-- mysql_alias_manager.pl.in
|-- aliaswrapper.c
|-- bouncequeue.c
|-- familyqueue.c
|-- queue.c
`-- virtualwrapper.c
Hello list.

I just implemented this proposal under trunk, with a few modifications.

1) I used 'src/bin' instead of 'src/script' for consistency with 'src/sbin' and 'src/libexec'.

2) I moved samples files into already-existing doc/samples subdirectory instead of creating a new top-level one

3) I had to use default/mail_tt2 and default/web_tt2 instead of default/templates/mail and default/templates/web, to simplify Makefile readability (same distribution and installation layout). I just noticed we also have a 'default/create_list_templates' directory, there is still room for better naming consistency here.

4) I kept logrotate and init script in src/etc, as I don't see any better place for them right now. I think we should rename the 'ext' top-level subdirectory to a more generic 'misc' or 'contrib' directory, and put this kind of content here:
- contrib/ext: the current ext subdirectory
- contrib/redhat: spec file, logrotate, init script, and other sysadmin stuff
- contrib/bin: misc scripts that don't match our coding standard

5) I moved the various README.* files under doc subdirectory. I think one should quickly review them, and eventually delete them: that's not worth duplicating content already present in the sympa manual.

6) the various scripts under src/bin, as well as src/libexec/{mail,ldap}_alias_manager.pl ought to be reviewed, as many of them seems to be either of dubious utility, or old user contributions. We already have enough work to clean up Sympa main code without bothering to maintain useless bitrotten stuff.

For instance, test-ldap.pl doesn't offer any advantage over standard ldapsearch command. And mysql_alias_manager.pl requires hardcoded configuration parameters...

Next week, I'll try to enforce consistent file encodings and headers.
--
Guillaume Rousse
INRIA, Direction des systèmes d'information
Domaine de Voluceau
Rocquencourt - BP 105
78153 Le Chesnay
Tel: 01 39 63 58 31

Attachment: smime.p7s
Description: Signature cryptographique S/MIME




Archive powered by MHonArc 2.6.19+.

Top of Page