Ticket #165 (closed defect: fixed)

Opened 11 years ago

Last modified 4 years ago

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

Reported by: denis Owned by: anarcat
Priority: high Milestone: alternc-futur
Component: Mailman Version: alternc-0.9.3.1
Severity: feature Keywords:
Cc:

Description

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

Change History

comment:2 Changed 10 years ago 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!

comment:3 Changed 10 years ago 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...

comment:4 Changed 10 years ago 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.

comment:5 Changed 10 years ago 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é. :)

comment:6 Changed 10 years ago 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.

comment:7 Changed 10 years ago by anarcat

  • Owner changed from anonymous to anarcat
  • Priority changed from none to high

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?

comment:8 Changed 10 years ago by anarcat

  • Status changed from new to assigned

comment:9 Changed 10 years ago 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.

comment:10 Changed 10 years ago by jonathan

  • Component changed from LDAP to Mailman

comment:12 Changed 8 years ago by anarcat

  • Version changed from 1.1 to 0.9.3.1
  • Type set to defect
  • Milestone changed from 1.1 to 2.0

comment:13 Changed 4 years ago by benjamin

  • Status changed from assigned to closed
  • Resolution set to fixed

Works perfectly now ;)

Note: See TracTickets for help on using tickets.