Ticket #165 (assigned defect)

Opened 5 years ago

Last modified 2 years ago

Impossible de créer deux listes du même nom

Reported by: denis Assigned to: anarcat (accepted)
Priority: high Milestone: alternc-2.0
Component: Mailman Version: alternc-0.9.3.1
Severity: feature Keywords:
Cc:

Description

Si <a href="mailto:liste@domaine1.tld" target="_new">liste@domaine1.tld</a> existe il est impossible de créer <a href="mailto:liste@domaine2.tld" target="_new">liste@domaine2.tld</a>

Change History

04/22/04 05:32:27 changed by anarcat

04/22/04 18:29:33 changed by anarcat

On se rapproche de notre but. Il reste à faire des tests, mais ça a l'air de fonctionner: on a réussi à changer le "list_adress" d'une liste selon le domaine fournit lors de la création.

<a href="http://koumbit.net/wiki/VirtualMailMan">http://koumbit.net/wiki/VirtualMailMan</a>

On va l'avoir!

04/22/04 19:31:34 changed by denis

Euh, il me semble que ce soit plus complexe, la table mailman ne prendra pas deux noms de listes de la même valeur...

04/22/04 20:07:57 changed by anarcat

Oui, évidemment, il reste des modifications à faire du côté alternc, mais on a maintenant une patch fonctionnelle pour le logiciel mailman lui-même.

Le nom interne de la liste est maintenant nom-domaine au lieu de juste nom, alors la table mailman d'alternc devrait suivre sans problème. Il faut juste dire à alternc de créer la liste comme du monde, et mettre les bons alias dans LDAP.

04/22/04 20:44:27 changed by anarcat

À ce que je vois ici, en fait, la colonne "list" n'est pas unique, et en fait n'est même pas une clé, ce que je trouve un peu bizarre, mais bon, ça rend toute l'affaire encore plus facile à régler.

(Idéalement, il faudrait que la clé de cette table soit la combinaison de "liste" et "domaine", mais je vous dis pas les problèmes que ça serait d'implanter ça.)

Bon, alors ceci réglé, tout ce qu'il reste à faire, selon moi, c'est de jouer dans m_mailman.php pour s'assurrer que les alias sont créés correctement (ligne 130) et effacés correctement (ligne 173), ce qui ne devrait *vraiment* pas être compliqué. Il ne me reste qu'à tester, en fait.

Le reste devrait tout embarquer correctement, car on appelle déjà add_lst() avec le domaine.

Reste à voir si AlternC est intéressé. :)

04/23/04 10:43:04 changed by anarcat

Ce bug a été résolu chez Koumbit. <a href="http://bugs.koumbit.net/bug_view_advanced_page.php?bug_id=0000062">http://bugs.koumbit.net/bug_view_advanced_page.php?bug_id=0000062</a>

Du moins, c'est ce que l'on croit. Les tests en développement fonctionnent, il reste à faire un déploiement en production comme test final.

04/30/04 04:04:19 changed by anarcat

  • priority changed from none to high.
  • owner changed from anonymous to anarcat.

Nous avons déployé la patch et ça fonctionne correctement.

Il reste à savoir comment "packager" cette patch. Pour la patch sur alternc, ce n'est pas un problème, je vais faire un commit dans le CVS. Pour mailman, c'est plus compliqué, je crois. J'ai regardé rapidement comment faire, et je crois qu'il faudrait utiliser une "diversion" pour remplacer des fichiers du package mailman, question de faire ça propre.

À moins que... Il y a déjà un package mailman pour alternc. La patch pourrait y être appliqué, non?

06/30/04 08:07:47 changed by anarcat

  • status changed from new to assigned.

06/30/04 08:13:46 changed by anarcat

L'étape finale, donc, pour reprendre, serait de remplacer les fichiers bin/newlist et Mailman/MailList.py par nos fichiers patchés. Plus précisément, il s'agit d'appliquer les patches en attach.

Il faut utiliser dpkg-divert pour ce faire. Je n'ai pas la temps de tester ceci correctement, mais je crois que les références suivantes pourrons être utiles dans le futur:

http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html

Et un peu de code d'exemple:

postinst

dpkg-divert --package alternc-mailman --add --divert /usr/lib/mailman/Mailman/MailList.py.real /usr/lib/mailman/Mailman/MailList.py

(pareil pour bin/newlist)

Ensuite, on peut appliquer la patch: patch < mailman-true-virtual.patch

postrm

dpkg-divert --package alternc-mailman --remove --rename --divert /usr/lib/mailman/Mailman/MailList.py.orig /usr/lib/mailman/Mailman/MailList.py

Notez que le flag --rename n'est pas présent au postinst, mais au postrm. Ceci est à cause que l'on ne veut pas que dpkg-divert renomme le fichier au postinst, car patch s'occuppe de le faire. Par contre, on veut que dpkg-divert ramène l'ancien fichier au rm. On aurait pu ne pas mettre --rename et renommer le fichier manuellement, mais ça serait moins joli.

À tester.

08/10/04 22:59:54 changed by jonathan

  • component changed from LDAP to Mailman.

03/31/06 21:12:25 changed by anarcat

  • version changed from 1.1 to 0.9.3.1.
  • type set to defect.
  • milestone changed from 1.1 to 2.0.