--- lurker-1.3.orig/common/MessageId.cpp +++ lurker-1.3/common/MessageId.cpp @@ -24,6 +24,7 @@ #define _XOPEN_SOURCE 500 #define _FILE_OFFSET_BITS 64 +#define _GNU_SOURCE #include "MessageId.h" #include "config.h" --- lurker-1.3.orig/debian/po/templates.pot +++ lurker-1.3/debian/po/templates.pot @@ -0,0 +1,154 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-29 15:39+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Choices +#: ../templates:3 +msgid "apache, apache2, apache-ssl, apache-perl, none" +msgstr "" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "Which servers would you like to be configured automaticly?" +msgstr "" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "" +"It is possible to automaticly configure your apache webservers in the way " +"that lurker archive pages are available. This requires the servers to have " +"an include dir in /etc/apache*/conf.d, like the debian apache packages do. " +"You should be able to access lurker at http://localhost/lurker afterwards." +msgstr "" + +#. Type: note +#. Description +#: ../templates:13 +msgid "No webserver will be configured automaticly" +msgstr "" + +#. Type: note +#. Description +#: ../templates:13 +msgid "" +"It seems like you have not installed any supported webserver. The script did " +"not detect any apache include directory at /etc/apache*/conf.d. Thus the " +"script does not configure any webserver, and you have to manually configure " +"the webserver that you would like to use with lurker." +msgstr "" + +#. Type: string +#. Default +#: ../templates:21 +msgid "Local Mailing List Archive" +msgstr "" + +#. Type: string +#. Description +#: ../templates:22 +msgid "archive name" +msgstr "" + +#. Type: string +#. Description +#: ../templates:22 +msgid "What name should lurker use when refering to the machine it runs on?" +msgstr "" + +#. Type: string +#. Default +#: ../templates:27 +msgid "Unconfigured" +msgstr "" + +#. Type: string +#. Description +#: ../templates:28 +msgid "admin name" +msgstr "" + +#. Type: string +#. Description +#: ../templates:28 +msgid "" +"This is the administrator information used at the bottom of generated pages. " +"You should probably set it to something useful." +msgstr "" + +#. Type: string +#. Default +#: ../templates:34 +msgid "nill@bitbucket.org" +msgstr "" + +#. Type: string +#. Description +#: ../templates:35 +msgid "admin address" +msgstr "" + +#. Type: note +#. Description +#: ../templates:39 +msgid "Important news about the upgrade from lurker <= 0.1f" +msgstr "" + +#. Type: note +#. Description +#: ../templates:39 +msgid "" +"The database format and many other things changed completely since last " +"release. You need to setup rules for lists now. Please read README.Debian " +"for more information. Also you need to purge and reimport your whole db. The " +"purge can easily be done with a 'rm -rf /var/lib/lurker/*'." +msgstr "" + +#. Type: select +#. Choices +#: ../templates:47 +msgid "automatic, manual" +msgstr "" + +#. Type: select +#. Description +#: ../templates:49 +msgid "Do you want to upgrade your database automaticlly now?" +msgstr "" + +#. Type: select +#. Description +#: ../templates:49 +msgid "" +"The database format changed with this release. We provide a script to " +"automaticly upgrade your database. It can be found at /usr/share/doc/lurker/" +"lurker-regenerate. You should use it this way to upgrade your db manually " +"[2]: 'sh /usr/share/doc/lurker/lurker-regenerate /usr/bin/lurker-index /etc/" +"lurker/lurker.conf'. Alternatively you can upgrade automaticly now [1]. Be " +"aware of the fact that you need enough free space for two times your " +"obsolete database for that." +msgstr "" --- lurker-1.3.orig/debian/po/de.po +++ lurker-1.3/debian/po/de.po @@ -0,0 +1,185 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-29 15:39+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Choices +#: ../templates:3 +#, fuzzy +msgid "apache, apache2, apache-ssl, apache-perl, none" +msgstr "apache, apache2, apache-ssl, apache-perl, keiner" + +#. Type: multiselect +#. Description +#: ../templates:5 +#, fuzzy +msgid "Which servers would you like to be configured automaticly?" +msgstr "Welche server sollen automatisch konfiguriert werden?" + +#. Type: multiselect +#. Description +#: ../templates:5 +#, fuzzy +msgid "" +"It is possible to automaticly configure your apache webservers in the way " +"that lurker archive pages are available. This requires the servers to have " +"an include dir in /etc/apache*/conf.d, like the debian apache packages do. " +"You should be able to access lurker at http://localhost/lurker afterwards." +msgstr "" +"Es ist mglich, die apache Webserver automatisch so zu konfigurieren, dass " +"sie die Archivseiten anzeigen. Dazu muss der Webserver ein Include-" +"Verzeichnis in /etc/apache*/conf.d haben, wie die Debianpackete. Lurker " +"sollte danach unter http://localhost/lurker erreichbar sein." + +#. Type: note +#. Description +#: ../templates:13 +#, fuzzy +msgid "No webserver will be configured automaticly" +msgstr "Kein Webserver wird automatisch konfiguriert" + +#. Type: note +#. Description +#: ../templates:13 +#, fuzzy +msgid "" +"It seems like you have not installed any supported webserver. The script did " +"not detect any apache include directory at /etc/apache*/conf.d. Thus the " +"script does not configure any webserver, and you have to manually configure " +"the webserver that you would like to use with lurker." +msgstr "" +"Es war nicht mglich, installierte apaches auszumachen, die ein Include " +"Verzeichnis in /etc/apache*/conf.d haben. Deshalb wurde kein Webserver " +"automatisch konfiguriert, weswegen der entsprechende Webserver fr lurker " +"noch manuell konfiguriert werden muss." + +#. Type: string +#. Default +#: ../templates:21 +msgid "Local Mailing List Archive" +msgstr "Lokales MailingListen-Archiv" + +#. Type: string +#. Description +#: ../templates:22 +msgid "archive name" +msgstr "Archiv Name" + +#. Type: string +#. Description +#: ../templates:22 +msgid "What name should lurker use when refering to the machine it runs on?" +msgstr "Was soll lurker als Archiv Namen benutzen?" + +#. Type: string +#. Default +#: ../templates:27 +msgid "Unconfigured" +msgstr "Unkonfiguriert" + +#. Type: string +#. Description +#: ../templates:28 +msgid "admin name" +msgstr "Admin Name" + +#. Type: string +#. Description +#: ../templates:28 +msgid "" +"This is the administrator information used at the bottom of generated pages. " +"You should probably set it to something useful." +msgstr "" +"Diese Adminstrator Informationen werden unten in den generierten Seiten " +"angezeigt. Richtige Angaben sind empfehlenswert aber nicht notwendig." + +#. Type: string +#. Default +#: ../templates:34 +msgid "nill@bitbucket.org" +msgstr "" + +#. Type: string +#. Description +#: ../templates:35 +msgid "admin address" +msgstr "Admin Adresse" + +#. Type: note +#. Description +#: ../templates:39 +#, fuzzy +msgid "Important news about the upgrade from lurker <= 0.1f" +msgstr "Wichtige Informationen bezglich des upgrade von lurker <= 0.1f" + +#. Type: note +#. Description +#: ../templates:39 +msgid "" +"The database format and many other things changed completely since last " +"release. You need to setup rules for lists now. Please read README.Debian " +"for more information. Also you need to purge and reimport your whole db. The " +"purge can easily be done with a 'rm -rf /var/lib/lurker/*'." +msgstr "" +"Das Datenbank Format und viele andere Dinge haben sich seit dem " +"letztenrelease komplett verndert. Es ist nun notwendig, Regeln fr die " +"Listenin der Konfiguration einzutragen. README.Debian sollte mehr " +"Informationenbeinhalten. Ausserdem muss die komplette Datenbank gelscht und " +"neuimportiert werden. Einfach mit 'rm -rf /var/lib/lurker/*' lschen." + +#. Type: select +#. Choices +#: ../templates:47 +msgid "automatic, manual" +msgstr "" + +#. Type: select +#. Description +#: ../templates:49 +#, fuzzy +msgid "Do you want to upgrade your database automaticlly now?" +msgstr "Soll die Datenbank automatisch aktualisiert werden?" + +#. Type: select +#. Description +#: ../templates:49 +#, fuzzy +msgid "" +"The database format changed with this release. We provide a script to " +"automaticly upgrade your database. It can be found at /usr/share/doc/lurker/" +"lurker-regenerate. You should use it this way to upgrade your db manually " +"[2]: 'sh /usr/share/doc/lurker/lurker-regenerate /usr/bin/lurker-index /etc/" +"lurker/lurker.conf'. Alternatively you can upgrade automaticly now [1]. Be " +"aware of the fact that you need enough free space for two times your " +"obsolete database for that." +msgstr "" +"Das Datenbank-Format hat sich mit diesem Release gendert. Mithilfe eines " +"Scripts ist es mglich, die Datenbank automatisch zu migrieren. Es kann " +"unter /usr/share/doc/lurker/lurker-regenerate gefunden werden. Zum " +"manuellen migrieren der Datenbank[2], sollte es wie folgt verwendet werden: " +"'sh /usr/share/doc/lurker/lurker-regenerate /usr/bin/lurker-index /etc/" +"lurker/lurker.conf'. Alternativ kann die Datenbank nun automatisch migriert " +"werden. Es muss beachtet werden, dass dazu Speicherplatz fr zwei mal die " +"obsolete Datenbank bentigt wird." --- lurker-1.3.orig/debian/po/fr.po +++ lurker-1.3/debian/po/fr.po @@ -0,0 +1,224 @@ +# translation of fr.po to French +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# Christian Perrier , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: lurker\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-29 15:39+0200\n" +"PO-Revision-Date: 2005-05-08 18:28+0200\n" +"Last-Translator: Eric Madesclair \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n>1;\n" + +#. Type: multiselect +#. Choices +#: ../templates:3 +msgid "apache, apache2, apache-ssl, apache-perl, none" +msgstr "apache, apache2, apache-ssl, apache-perl, aucun" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "Which servers would you like to be configured automaticly?" +msgstr "Serveurs web configurer automatiquement:" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "" +"It is possible to automaticly configure your apache webservers in the way " +"that lurker archive pages are available. This requires the servers to have " +"an include dir in /etc/apache*/conf.d, like the debian apache packages do. " +"You should be able to access lurker at http://localhost/lurker afterwards." +msgstr "" +"Il est possible de mettre automatiquement jour votre serveur web pour " +"qu'il intgre correctement lurker. Pour cela, il est ncessaire que les " +"serveurs utilisent un rpertoire /etc/apache*/conf.d comme le font les " +"paquets Debian des serveurs Apache. Vous devriez ensuite pouvoir accder " +"lurker avec l'URL http://localhost/lurker." + +#. Type: note +#. Description +#: ../templates:13 +msgid "No webserver will be configured automaticly" +msgstr "Aucun serveur web ne sera automatiquement configur" + +#. Type: note +#. Description +#: ../templates:13 +msgid "" +"It seems like you have not installed any supported webserver. The script did " +"not detect any apache include directory at /etc/apache*/conf.d. Thus the " +"script does not configure any webserver, and you have to manually configure " +"the webserver that you would like to use with lurker." +msgstr "" +"Aucune installation d'Apache n'a t dtecte qui utilise un rpertoire " +"d'inclusion /etc/apache*/conf.d. En consquence, aucun serveur web ne sera " +"configur automatiquement et vous devrez donc configurer vous-mme celui que " +"vous souhaitez utiliser avec lurker." + +#. Type: string +#. Default +#: ../templates:21 +msgid "Local Mailing List Archive" +msgstr "Archive locale des listes de diffusion" + +#. Type: string +#. Description +#: ../templates:22 +msgid "archive name" +msgstr "Nom de l'archive:" + +#. Type: string +#. Description +#: ../templates:22 +msgid "What name should lurker use when refering to the machine it runs on?" +msgstr "" +"Veuillez indiquer le nom utilis par lurker pour faire rfrence la " +"machine sur laquelle il tourne." + +#. Type: string +#. Default +#: ../templates:27 +msgid "Unconfigured" +msgstr "Non configur" + +#. Type: string +#. Description +#: ../templates:28 +msgid "admin name" +msgstr "Nom de l'administrateur:" + +#. Type: string +#. Description +#: ../templates:28 +msgid "" +"This is the administrator information used at the bottom of generated pages. " +"You should probably set it to something useful." +msgstr "" +"Veuillez indiquer les informations sur l'administrateur affiches en bas des " +"pages produites. " + +#. Type: string +#. Default +#: ../templates:34 +msgid "nill@bitbucket.org" +msgstr "nill@bitbucket.org" + +#. Type: string +#. Description +#: ../templates:35 +msgid "admin address" +msgstr "Adresse de l'administrateur:" + +#. Type: note +#. Description +#: ../templates:39 +msgid "Important news about the upgrade from lurker <= 0.1f" +msgstr "" +"Informations importantes concernant la mise jour depuis les versions <= " +"0.1f" + +#. Type: note +#. Description +#: ../templates:39 +msgid "" +"The database format and many other things changed completely since last " +"release. You need to setup rules for lists now. Please read README.Debian " +"for more information. Also you need to purge and reimport your whole db. The " +"purge can easily be done with a 'rm -rf /var/lib/lurker/*'." +msgstr "" +"Le format de la base de donnes et beaucoup d'autres choses ont chang " +"depuis la dernire version. Vous devez maintenant dfinir des rgles pour " +"vos listes. Veuillez consulter README.Debian pour plus d'informations. Vous " +"aurez aussi besoin de purger et de rimporter la base de donnes. La purge " +"peut tre effectue simplement avec la commande rm -rf /var/lib/lurker/*." + +#. Type: select +#. Choices +#: ../templates:47 +msgid "automatic, manual" +msgstr "automatiquement, manuellement" + +#. Type: select +#. Description +#: ../templates:49 +msgid "Do you want to upgrade your database automaticlly now?" +msgstr "Souhaitez-vous mettre jour votre base de donnes maintenant?" + +#. Type: select +#. Description +#: ../templates:49 +msgid "" +"The database format changed with this release. We provide a script to " +"automaticly upgrade your database. It can be found at /usr/share/doc/lurker/" +"lurker-regenerate. You should use it this way to upgrade your db manually " +"[2]: 'sh /usr/share/doc/lurker/lurker-regenerate /usr/bin/lurker-index /etc/" +"lurker/lurker.conf'. Alternatively you can upgrade automaticly now [1]. Be " +"aware of the fact that you need enough free space for two times your " +"obsolete database for that." +msgstr "" +"Dans cette version, le format de la base de donnes a aussi chang. Un " +"script est fourni pour mettre jour votre base de donnes, il s'appelle /" +"usr/share/doc/lurker/lurker-regenerate. Il peut tre utilis pour mettre " +"jour manuellement votre base [2]: sh /usr/share/doc/lurker/lurker-" +"regenerate /usr/bin/lurker-index /etc/lurker/lurker.conf. Sinon vous " +"pouvez maintenant la mettre jour automatiquement [1]. Notez que vous avez " +"besoin de suffisamment d'espace libre, au moins deux fois la taille de votre " +"ancienne base de donnes." + +#~ msgid "Apache, Apache-SSL, Both, Other" +#~ msgstr "Apache, Apache-SSL, Les deux, Autre" + +#~ msgid "What type of Web Server are you running?" +#~ msgstr "Type de serveur web:" + +#~ msgid "" +#~ "By default lurker supports any web server. This config process currently " +#~ "only supports Apache and Apache-SSL directly. If you use another type " +#~ "you will have to handle the web ends manually. If you chose one of the " +#~ "first three options, this install process will manage the configuration " +#~ "(or attempt to) of the Apache specific portions necessary to run lurker " +#~ "properly. If you do not wish this to happen, please chose the Other " +#~ "option." +#~ msgstr "" +#~ "Par dfaut, lurker gre tout type de serveurs web. Actuellement le " +#~ "processus de configuration permet seulement la gestion des serveurs " +#~ "Apache et Apache-SSL. Si vous utilisez un autre serveur web, vous devrez " +#~ "le configurer vous-mme. Si vous choisissez l'une des trois premires " +#~ "options, la procdure d'installation effectuera la configuration d'Apache " +#~ "automatiquement. Si vous ne le souhaitez pas, choisissez Autre et " +#~ "configurez votre serveur web vous-mme." + +#~ msgid "Do you want to upgrade your lurker.conf automatically now?" +#~ msgstr "Souhaitez-vous mettre jour le fichier lurker.conf maintenant?" + +#~ msgid "" +#~ "Important news about upgrade lurker upgrade from previous to this " +#~ "version: The config file changed. We provide an automatic upgrade now. " +#~ "[1] This is only possible if you decided to overwrite the old config. But " +#~ "it is necessary in that case for automatic database upgrade." +#~ msgstr "" +#~ "De nombreuses nouveautes sur la mise jour depuis la version antrieure " +#~ "ont t apportes cette version. Le fichier de configuration a chang. " +#~ "La mise jour peut se faire de faon automatique. [1] Cette mise jour " +#~ "n'est possible que si vous dcidez d'craser l'ancien fichier de " +#~ "configuration. Mais cela est ncessaire pour une mise jour automatique " +#~ "de la base de donnes." --- lurker-1.3.orig/debian/po/cs.po +++ lurker-1.3/debian/po/cs.po @@ -0,0 +1,174 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: lurker\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-29 15:39+0200\n" +"PO-Revision-Date: 2005-05-01 13:33+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Choices +#: ../templates:3 +msgid "apache, apache2, apache-ssl, apache-perl, none" +msgstr "apache, apache2, apache-ssl, apache-perl, žádný" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "Which servers would you like to be configured automaticly?" +msgstr "Které servery se mají nakonfigurovat automaticky?" + +#. Type: multiselect +#. Description +#: ../templates:5 +msgid "" +"It is possible to automaticly configure your apache webservers in the way " +"that lurker archive pages are available. This requires the servers to have " +"an include dir in /etc/apache*/conf.d, like the debian apache packages do. " +"You should be able to access lurker at http://localhost/lurker afterwards." +msgstr "" +"Je možné nastavit apache servery tak, aby automaticky zpřístupnily stránky s " +"archivy lurkeru. To vyžaduje, aby měly webové servery adresář include v /etc/" +"apache*/conf.d přesně tak, jak jej vytváří debianí balíky. Poté byste měli " +"byste mít k lurkeru přístup na adrese http://localhost/lurker." + +#. Type: note +#. Description +#: ../templates:13 +msgid "No webserver will be configured automaticly" +msgstr "Žádný webový server nebude nakonfigurován automaticky" + +#. Type: note +#. Description +#: ../templates:13 +msgid "" +"It seems like you have not installed any supported webserver. The script did " +"not detect any apache include directory at /etc/apache*/conf.d. Thus the " +"script does not configure any webserver, and you have to manually configure " +"the webserver that you would like to use with lurker." +msgstr "" +"Zdá se, že namáte nainstalovaný žádný podporovaný webový server. Skript " +"nerozpoznal žádnou instalaci apache, která by poskytovala adresář /etc/" +"apache*/conf.d a tedy není co nakonfigurovat. To znamená, že budete muset " +"nastavit webový server pro použití s lurkerem ručně." + +#. Type: string +#. Default +#: ../templates:21 +msgid "Local Mailing List Archive" +msgstr "Lokální archiv poštovních konferencí" + +#. Type: string +#. Description +#: ../templates:22 +msgid "archive name" +msgstr "jméno archivu" + +#. Type: string +#. Description +#: ../templates:22 +msgid "What name should lurker use when refering to the machine it runs on?" +msgstr "Jakým jménem by se měl lurker odkazovat na počítač, na kterém běží?" + +#. Type: string +#. Default +#: ../templates:27 +msgid "Unconfigured" +msgstr "Nenastaveno" + +#. Type: string +#. Description +#: ../templates:28 +msgid "admin name" +msgstr "jméno administrátora" + +#. Type: string +#. Description +#: ../templates:28 +msgid "" +"This is the administrator information used at the bottom of generated pages. " +"You should probably set it to something useful." +msgstr "" +"Toto jsou informace o administrátorovi, které se zobrazují dole na " +"vygenerovaných stránkách. Měli byste zadat něco užitečného." + +#. Type: string +#. Default +#: ../templates:34 +msgid "nill@bitbucket.org" +msgstr "nill@bitbucket.org" + +#. Type: string +#. Description +#: ../templates:35 +msgid "admin address" +msgstr "adresa administrátora" + +#. Type: note +#. Description +#: ../templates:39 +msgid "Important news about the upgrade from lurker <= 0.1f" +msgstr "Důležité informace o přechodu z lurkeru <= 0.1f" + +#. Type: note +#. Description +#: ../templates:39 +msgid "" +"The database format and many other things changed completely since last " +"release. You need to setup rules for lists now. Please read README.Debian " +"for more information. Also you need to purge and reimport your whole db. The " +"purge can easily be done with a 'rm -rf /var/lib/lurker/*'." +msgstr "" +"Od poslední verze se úplně změnil formát databáze a spousta dalších věcí. " +"Nyní musíte nastavit pravidla pro poštovní konference a také musíte vyčistit " +"a znovu naimportovat celou databázi. Smazání se provede jednoduše příkazem " +"'rm -rf /var/lib/lurker/*'. Více naleznete v README.Debian." + +#. Type: select +#. Choices +#: ../templates:47 +msgid "automatic, manual" +msgstr "automaticky, ručně" + +#. Type: select +#. Description +#: ../templates:49 +msgid "Do you want to upgrade your database automaticlly now?" +msgstr "Chcete nyní automaticky aktualizovat svou databázi?" + +#. Type: select +#. Description +#: ../templates:49 +msgid "" +"The database format changed with this release. We provide a script to " +"automaticly upgrade your database. It can be found at /usr/share/doc/lurker/" +"lurker-regenerate. You should use it this way to upgrade your db manually " +"[2]: 'sh /usr/share/doc/lurker/lurker-regenerate /usr/bin/lurker-index /etc/" +"lurker/lurker.conf'. Alternatively you can upgrade automaticly now [1]. Be " +"aware of the fact that you need enough free space for two times your " +"obsolete database for that." +msgstr "" +"Formát databáze se s touto verzí změnil. Pro automatický převod databáze " +"jsme vytvořili skript /usr/share/doc/lurker/lurker-regenerate. Buď můžete " +"nechat balíček, aby automaticky aktualizoval databázi, nebo to můžete udělat " +"kdykoliv později ručně příkazem 'sh /usr/share/doc/lurker/lurker-regenerate /" +"usr/bin/lurker-index /etc/lurker/lurker.conf'. Mějte prosím na paměti, že " +"pro úspěšný převod musíte mít dvakrát více volného místa, než zabírala stará " +"databáze." --- lurker-1.3.orig/debian/po/POTFILES.in +++ lurker-1.3/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] templates --- lurker-1.3.orig/debian/docs +++ lurker-1.3/debian/docs @@ -0,0 +1,7 @@ +AUTHORS +FAQ +README +index/lurker-drop-rlimit.cpp +debian/README.procmail +debian/README.maildrop +debian/README.mailman --- lurker-1.3.orig/debian/dirs +++ lurker-1.3/debian/dirs @@ -0,0 +1,3 @@ +usr/share/lurker +var/lib/lurker +etc/lurker --- lurker-1.3.orig/debian/control +++ lurker-1.3/debian/control @@ -0,0 +1,20 @@ +Source: lurker +Section: mail +Priority: optional +Maintainer: Jonas Meurer +Build-Depends: debhelper (>= 4.0.0), po-debconf, libmimelib1-dev, zlib1g-dev +Standards-Version: 3.6.1.1 + +Package: lurker +Architecture: any +Depends: apache (>> 1.3.29) | apache2 | httpd, debconf (>= 1.4.20), xsltproc, ucf, ${shlibs:Depends} +Description: Archive tool for mailing lists with search engine + lurker is an archiver which can handle extremely large amounts + of email. It is fast, intuitive, and customizable. + . + lurker archives your mailing lists and imports new mail. + It includes many features like powerful fast search engine, + chronological threading, file attachment support, + multi-lingual support, completely customizable output etc. + . + For more information see http://lurker.sourceforge.net/. --- lurker-1.3.orig/debian/apache.conf +++ lurker-1.3/debian/apache.conf @@ -0,0 +1,12 @@ + + Options SymLinksIfOwnerMatch + Order allow,deny + Allow from all + AddType text/xml .xsl + AddType text/xml .xml + AddType message/rfc822 .rfc822 + AddDefaultCharset UTF-8 + RewriteEngine on + RewriteCond %{REQUEST_FILENAME} !-s + RewriteRule (attach|list|mbox|message|mindex|search|splash|thread)/ /cgi-bin/lurker.cgi?/etc/lurker/lurker.conf?/var/www/lurker [T=application/x-httpd-cgi,L,PT] + --- lurker-1.3.orig/debian/NEWS +++ lurker-1.3/debian/NEWS @@ -0,0 +1,9 @@ +lurker (1.2-6) unstable; urgency=medium + + * This version fixes lurkers subject header parsing. Former versions + had problems with splitted subject lines, as mutt produces them in + some special cases. + * Unfortunately you have to regenerate lurkers database too fix + potential broken headers in your archives. + + -- Jonas Meurer Fri, 29 Apr 2005 15:51:22 +0200 --- lurker-1.3.orig/debian/rules +++ lurker-1.3/debian/rules @@ -0,0 +1,99 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +manpages = debian/*.1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=4 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +config.status: configure + dh_testdir + # Add here commands to configure the package. + ./configure --prefix=/usr \ + --sysconfdir=/etc/lurker \ + --mandir=/usr/share/man \ + --localstatedir=/var + +build: build-stamp + +build-stamp: config.status debian/po/templates.pot + dh_testdir + + # Add here commands to compile the package. + make + +debian/po/templates.pot: debian/templates + @debconf-updatepo + +clean: + dh_testdir + dh_testroot + + if test -f Makefile; then make distclean; fi + dh_clean + rm -f build-stamp + + # remove splitted configs + rm -f lurker.conf.local lurker.conf.template + +install: build + dh_testdir + dh_testroot + dh_clean + dh_installdirs + + DESTDIR=$(CURDIR)/debian/lurker make install + mv debian/lurker/usr/bin/lurker-index debian/lurker/usr/bin/lurker-index-bin + cp debian/lurker/usr/share/man/man1/lurker-index.1 debian/lurker/usr/share/man/man1/lurker-index-bin.1 + + awk '{ print $$0'\n' } /'"^#####.*$$"'/ { exit }' < lurker.conf > lurker.conf.template + echo "# Include the configuration for local mailinglists" >> lurker.conf.template + echo "include = lurker.conf.local" >> lurker.conf.template + echo "# Includefile for local mailinglists" > lurker.conf.local + awk 'BEGIN { X=0 } { if ( X ) { print $$0'\n' } } /'"^#####.*$$"'/ { X=1 }' < lurker.conf >> lurker.conf.local + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: install + dh_testdir + dh_testroot + dh_installdebconf + dh_install + dh_installdocs + dh_installcron + dh_installchangelogs ChangeLog + dh_installman $(manpages) + dh_installexamples debian/lurker.conf.mm lurker.conf debian/mailman2lurker.pl debian/old-mailman2lurker.sh + mv debian/lurker/var/www/lurker/fmt debian/lurker/etc/lurker + dh_link etc/lurker/fmt var/www/lurker/fmt + + dh_strip + dh_compress + dh_fixperms + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- lurker-1.3.orig/debian/prerm +++ lurker-1.3/debian/prerm @@ -0,0 +1,29 @@ +#! /bin/sh +# prerm script for lurker +# +# see: dh_installdeb(1) + +# debhelper stuff +#DEBHELPER# + +case "$1" in + remove) + if [ -x /usr/bin/lurker-prune -a -f /etc/lurker/lurker.conf -a -f /var/lib/lurker/db ]; then + echo "Pruning the lurker webserver cache." + /usr/bin/lurker-prune -c /etc/lurker/lurker.conf -d /var/www/lurker -p + fi + ;; + + purge) + ;; + + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +exit 0 --- lurker-1.3.orig/debian/postrm +++ lurker-1.3/debian/postrm @@ -0,0 +1,62 @@ +#! /bin/sh +# postrm script for lurker +# +# see: dh_installdeb(1) + +set -e + +# debhelper stuff +#DEBHELPER# + +case "$1" in + remove) + if [ -x /usr/bin/lurker-prune -a -f /etc/lurker/lurker.conf ]; then + echo "Pruning the lurker webserver cache." + /usr/bin/lurker-prune -c /etc/lurker/lurker.conf -d /var/www/lurker -p + fi + + for server in apache apache-ssl apache-perl apache2; do + if [ -f /etc/$server/conf.d/lurker -o -h /etc/$server/conf.d/lurker ]; then + echo "Removing the lurker $server configuration." + rm -f /etc/$server/conf.d/lurker + + # restart server + restart="$restart $server" + fi + done + + for server in $restart; do + invoke-rc.d $server restart + done + ;; + + purge) + sg lurker -c true 2> /dev/null && groupdel lurker + + echo "Removing the lurker configuration and database." + + # we mimic dpkg as closely as possible, so we remove configuration + # files with dpkg backup extensions too: + for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist; do + rm -f /etc/foo.conf$ext + done + + # remove the configuration file itself + rm -f /etc/lurker/lurker.conf + + # and finally clear it out from the ucf database + ucf --purge /etc/lurker/lurker.conf + + rm -rf /var/lib/lurker + ;; + + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +exit 0 --- lurker-1.3.orig/debian/changelog +++ lurker-1.3/debian/changelog @@ -0,0 +1,381 @@ +lurker (1.3-2build1) breezy; urgency=low + + * Rebuild for new C++ ABI + + -- Matthias Klose Tue, 28 Jun 2005 08:34:28 +0000 + +lurker (1.3-2) unstable; urgency=low + + * patched common/MessageId.cpp to make lurker compile with gcc-2.95 + * updated french debconf templates, thanks to Eric (closes: #308354) + + -- Jonas Meurer Tue, 10 May 2005 16:17:45 +0200 + +lurker (1.3-1) unstable; urgency=low + + * new bugfix-only upstream release + * updated czech debconf templates, thanks to Miroslav Kure + (closes: #307169) + + -- Jonas Meurer Wed, 4 May 2005 13:52:15 +0200 + +lurker (1.2-6) unstable; urgency=low + + * patch lurker/CharsetEscape.cpp: lurker parsed mutt-generated + subject headers incorrectly (closes: #306859) + * add a note in NEWS.Debian to inform admins about the fact that + they have to regenerate lurkers database to apply the parsing + fix. + * updated french debconf templates, thanks to Eric (closes: #298958) + + -- Jonas Meurer Fri, 29 Apr 2005 15:47:28 +0200 + +lurker (1.2-5) unstable; urgency=low + + * added czech debconf translation, thanks to Miroslav Klose + (closes: #288017) + * cleaned up maintainer scripts + - moved #DEBHELPER# to beginning of postrm, to place it before rm -rf + - fixed lurker apache config removal + - fixed postinst to remove obsolete apache configs at dpkg-reconfigure + - added prerm: run lurker-prune to clean cache if db exists + - moved to tempfile for save generation of temporary conffile + - fixed ucf calls, lurker.conf now really maintained by ucf + - added apache2 support at the automatic webserver configuration + * split lurker.conf into lurker.conf.template and lurker.conf.local at build + - keep lurker.conf clean of list configuration to make maintainer scripts + more happy with the configuration files + * improved documentation + - some proofreading of README.procmail and README.maildrop + - some proofreading and reorganization of README.Debian + - some proofreading and improvements of README.mailman (closes: #294130) + + -- Jonas Meurer Sun, 27 Feb 2005 15:50:26 +0100 + +lurker (1.2-4) unstable; urgency=low + + * rebuild against latest libmimelib1a + + -- Jonas Meurer Mon, 22 Nov 2004 01:27:18 +0100 + +lurker (1.2-3) unstable; urgency=low + + * the "what have i done?" release + * built in up-to-date sid to make autobuilders happy + * improved README.mailman + + -- Jonas Meurer Sun, 26 Sep 2004 16:27:51 +0200 + +lurker (1.2-2) unstable; urgency=high + + * rebuilt in sarge: libmimelib from unstable kept lurker out of sarge + * urgency high to push it into sarge + + -- Jonas Meurer Tue, 21 Sep 2004 19:03:03 +0200 + +lurker (1.2-1) unstable; urgency=low + + * new upstream version + * removed deutsch.patch (merged upstream) + * removed lurker-regenerate.1 manpage (merged upstream) + * added information about the regroupable option in README.Debian + + -- Jonas Meurer Mon, 30 Aug 2004 18:11:44 +0200 + +lurker (1.1-6) unstable; urgency=low + + Thanks to Christian Perrier: + + * updated French debconf translation (closes: #257549) + * patched german xsl template (closes: #261206) + * (hopefully) fixed debian/watch + * added a mailman2lurker rewrite in perl. much better code! + + -- Jonas Meurer Sun, 1 Aug 2004 17:05:17 +0200 + +lurker (1.1-5) unstable; urgency=low + + * removed libmimelib-dev from build-depends, as only libmimelib1-dev exists + * really installing README.mailman & README.maildrop to doc directory + * added mailman2lurker.sh script, written in bash. it really needs to be + rewritten in perl as soon as possible. the code is terrible! + + -- Jonas Meurer Sun, 4 Jul 2004 03:05:41 +0200 + +lurker (1.1-4) unstable; urgency=low + + * moved xsl stuff (fmt directory) to /etc/lurker (closes: #254470) + + -- Jonas Meurer Fri, 18 Jun 2004 22:08:11 +0200 + +lurker (1.1-3) unstable; urgency=low + + * fixed lurker.conf.mm (heading was to long) + + -- Jonas Meurer Wed, 9 Jun 2004 16:54:39 +0200 + +lurker (1.1-2) unstable; urgency=low + + * Added French debconf translation (closes: #246807) + * Added debian/watch file + * Improved and fixed lurker-index-mm + - uses /etc/lurker/lurker.conf.mm now for creating new lists + - removed annoying debugging stuff + - allow to configure default listname in lurker.conf.mm + - allow to configure default list url in lurker.conf.mm + * Updated README.Mailman + * added examples for lurker.conf and lurker.conf.mm in docs/lurker/examples + + -- Jonas Meurer Tue, 8 Jun 2004 23:50:34 +0200 + +lurker (1.1-1) unstable; urgency=low + + * improved and redesigned maintainer scripts: + - Modified check for older databases + - improved debconf style (check for files, scripts break more rarely) + - Handling lurker.conf with ucf now + - Updated to support new apache config style + - Check for apaches include dirs, if failed don't ask for update but + output a different debconf template. + * Acknowledged NMUs (closes: #200872, #233900, #235879, #240865) + * changed Build-Depends to libmimelib1-dev | libmimelib-dev. + * added po-debconf to Build-Depends + * added README.mailman and lurker-index-mm, support for mailman + + -- Jonas Meurer Fri, 21 May 2004 17:31:22 +0200 + +lurker (1.1-0.2) unstable; urgency=low + + * Rebuilt against libmimelib1-dev (closes: #240865) + * Include default config file (closes: #235879) + * Patch to add new translations (closes: #233900) + * Include a backup copy of the default lurker config in doc + * Fixed a problem with apache not restarting after lurker install + + -- Wesley W. Terpstra (Debian) Mon, 5 Apr 2004 18:51:23 +0200 + +lurker (1.1-0.1) unstable; urgency=low + + * New upstream release (NMU by request of maintainer) + - removed patches from 1.0-0unofficial (fixed upstream) + + -- Wesley W. Terpstra (Debian) Wed, 18 Feb 2004 15:22:54 +0100 + +lurker (1.0-0.2) unstable; urgency=low + + * Rebuilt against the current sid tree + + -- Wesley W. Terpstra (Debian) Fri, 5 Dec 2003 11:57:43 +0000 + +lurker (1.0-0.1) unstable; urgency=low + + * NMU by request of maintainer (closes: #200872) + + -- Wesley W. Terpstra (Debian) Fri, 5 Dec 2003 12:40:26 +0100 + +lurker (1.0-0unofficial) unstable; urgency=low + + * Unofficial debian packages for 1.0 + * Changed the rules file to use make + * Removed build-depends on jam and xsltproc + * Updated to standards-version 3.6.1.0 (no changes) + * Set act_ver in lurker.postinst to 1.0 so an automatic upgrade happens + * Move converted config file out of the way after auto-upgrade + * Work around known 1.0 bugs: + - Create missing mbox directory + - set the dbdir config setting + - use gzip -dfc for lurker-regenerate + - Tweak ui/common.xsl to have spaces in verion and admin-by + - Tweak ui/splash.xsl to sort by list id + + -- Wesley W. Terpstra (Debian) Thu, 13 Nov 2003 22:19:19 +0100 + +lurker (0.9-1) unstable; urgency=low + + * new upstream release (adds lurker-list and lurker-params to facilitate + script writing, is used for debconf code in debian scripts now) + * fixed the permissions of /var/www/lurker/list + + -- Jonas Meurer Sat, 14 Jun 2003 16:38:59 +0200 + +lurker (0.8-5) unstable; urgency=low + + * added README.maildrop + * upgraded the standards version + * fixed sed usage in automatic lurker.conf upgrade + + -- Jonas Meurer Tue, 3 Jun 2003 19:38:41 +0200 + +lurker (0.8-4) unstable; urgency=low + + * fixed the upload templates (some spelling mistakes) + made a new release to upload it although 0.8-3 is already in accepted + + -- Jonas Meurer Fri, 23 May 2003 16:41:37 +0200 + +lurker (0.8-3) unstable; urgency=low + + * fixed the 'remove apache include' bug (closes: #194427) + * fixed the upgrade message, will no longer be printed at first install + (closes: #194428) + * fixed the sed expression in postinst (closes: #194440) + + -- Jonas Meurer Fri, 23 May 2003 15:46:29 +0200 + +lurker (0.8-2) unstable; urgency=low + + * fixed cronjob (uses lurker-prune now) (closes: #194264) + * fixed script to configure lurker with debconf (closes: #194267) + * fixed upgrade stuff (closes: #194276) + * lurker-regenerate is executable, has a manpage and is in /usr/bin now + * fixed the apache include bug (closes: #194266) + + -- Jonas Meurer Thu, 22 May 2003 18:41:41 +0200 + +lurker (0.8-1) unstable; urgency=low + + * new upstream release (closes: #192378, #194069) + * added automatic database upgrade + * removed many senceless code in postinst and postrm, wwwconfig-common usage + is smarter now + * automatic config file upgrade + + -- Jonas Meurer Wed, 21 May 2003 23:30:09 +0200 + +lurker (0.7-1) unstable; urgency=low + + * new upstream release (closes: #194071) + * fixed rules and the configure prompt + * /var/lib/lurker is g+ws now + * added upstream manpage + * moved cgis to /usr/lib/cgi-bin + * added a lurker-index wrapper for config-file and umask + + -- Jonas Meurer Sun, 27 Apr 2003 18:08:02 +0200 + +lurker (0.6-2) unstable; urgency=low + + * NMU to quickly address some issues that were missed + * SymLinksIfOwnerMatch added to /etc/lurker/apache.conf -> nothing works without this + * /var/lib/lurker should be g+w + * -lssl in rules leads to linking against ssl which is not a dependency + * check for group before addgroup + + -- Wesley W. Terpstra (Debian) Tue, 22 Apr 2003 23:29:24 +0200 + +lurker (0.6-1) unstable; urgency=low + + * new upstream release (closes: #184933, #187507) + * fixed debian/lurker.config (closes: #164368) + * near-complete lurker rewrite in C++ + * new db format + * new config file format + * no deamon any longer, cronjob is needed + + -- Jonas Meurer Mon, 21 Apr 2003 17:56:14 +0200 + +lurker (0.1f-5) unstable; urgency=low + + * fixed depends and built against a new libc-client (closes: #182713) + + -- Jonas Meurer Sun, 23 Mar 2003 20:54:21 +0100 + +lurker (0.1f-4) unstable; urgency=low + + * fixed depends (closes: #181149) + + -- Jonas Meurer Thu, 20 Feb 2003 13:03:43 +0100 + +lurker (0.1f-3) unstable; urgency=low + + * added K-link rc{0,6}.d (closes: #173406) + * fixed depends and configure-run (closes: #171299) + + -- Jonas Meurer Thu, 9 Jan 2003 17:58:19 +0100 + +lurker (0.1f-2) unstable; urgency=low + + * fixed debconf stuff + + -- Jonas Meurer Sat, 23 Nov 2002 12:39:29 +0100 + +lurker (0.1f-1) unstable; urgency=low + + * new upstream release + * fixed lurker.mbox (now path to pidfile is correct) + + -- Jonas Meurer Wed, 30 Oct 2002 21:16:44 +0100 + +lurker (0.1e-3) unstable; urgency=low + + * improved init script. Now start restarts if lurkerd is already running. + That's better for dpkg-reconfigure lurker (now it doesn't break down at + start). + * changed the limit of 30 in the init script to 900. Now lurkerd has enough + time to sync it's database. + + -- Jonas Meurer Sun, 20 Oct 2002 14:38:53 +0200 + +lurker (0.1e-2) unstable; urgency=low + + * fixed policy version in control + * fixed debconf usage + + -- Jonas Meurer Sun, 22 Sep 2002 13:12:49 +0200 + +lurker (0.1e-1) unstable; urgency=low + + * new upstream version + * fixed init.d-script: lurker has time to sync its db at stop now + * fixed init.d-script: now it gives more information + * fixed conffile: /etc/lurker/apache.conf is also a conffile + * fixed conffile: /etc/init.d/lurker is now also a conffile + * fixed manpages + * lurker.conf is handled by debconf now + * fixed postinst + * removed the question at purge. If you purge something, you want all the + files to be removed. Otherwise you would just remove the package. + * fixed purge process + * applied upstream bugfix for SIGPIPE in 0.1f + * applied upstream bugfix for overly long caching in 0.1f + + -- Jonas Meurer Tue, 3 Sep 2002 22:38:37 +0200 + +lurker (0.1d-1) unstable; urgency=low + + * new upstream version + + -- Jonas Meurer Wed, 24 Jul 2002 11:30:08 +0200 + +lurker (0.1a-2) unstable; urgency=low + + * fixed lurker.postrm, now the purge procedure works + * corrected description, it's a archive tool, not a archive (closes: #150882) + * set architecture to any, builds on more than i386 (closes: #150793) + + -- Jonas Meurer Tue, 25 Jun 2002 07:39:16 +0200 + +lurker (0.1a-1) unstable; urgency=low + + * first debian unstable release (closes: #149026) + * fixed README.Debian + * first upstream release + * lurkerd runs now from init.d script + * lurkerd has a manpage now + + -- Jonas Meurer Wed, 19 Jun 2002 10:00:36 +0200 + +lurker (0.1-2) unstable; urgency=low + + * corrected build-depends and depends + * fixed copyright file + + -- Jonas Meurer Wed, 5 Jun 2002 10:11:45 +0200 + +lurker (0.1-1) unstable; urgency=low + + * Initial Release. + * please see the BUGS file. + + -- Jonas Meurer Tue, 4 Jun 2002 20:24:09 +0200 + --- lurker-1.3.orig/debian/README.procmail +++ lurker-1.3/debian/README.procmail @@ -0,0 +1,25 @@ +lurker with procmail +-------------------- + + One way to deliver list mails to lurker is to use procmail. Add one +rule for each list in your local procmailrc. + +This example rule delivers all mail to list 'example-list@lists.host.org' +to lurkers 'example-list' archive. It requires a X-Mailing-List header in +the mail. If your list mails don't have this header, you have to use +another filter rule. + +:0 w +* ^X-Mailing-List: .* +| lurker-index -l example-list -m + + It's also possible to define one global rule for all lists with one +similar domain name. The following rule works for all lists with a +X-Mailing-List header and domain name 'lists.host.org'. + +:0 w +* ^X-Mailing-List: .*[<][a-z\-]*@lists.host.org[>] +* ^X-Mailing-List: .*[<] *\/[^ ][^@]* +| lurker-index -l $MATCH -m + + -- Jonas Meurer , Sat, 12 Feb 2005 13:55:34 +0100 --- lurker-1.3.orig/debian/README.mailman +++ lurker-1.3/debian/README.mailman @@ -0,0 +1,112 @@ +lurker with mailman +------------------- + + Configuring mailman to use lurker as external archiver requires some +changes in mailmans configuration to ensure a smooth run afterwards. +As long as lurker doesn't support multible databases per instance natively, +you have to archive either all private lists, all public lists or both with +lurker. +It is possible to run several instances of lurker with the debian package +installed, you just need to create own configuration files, db directories +and web cache directories. Maybe lurker will support multible databases +within one instance, but until then ... +The major problem is mailman, as it doesn't support to set unique archiver +commands each for one list. For archiving only a subset of lists, you +should consider about using a mda such as procmail. +See README.procmail or README.maildrop for more information. + +-> Configuring lurker as external archiver for mailman: + + Primary, you should check whether user 'list', or whoever runs mailman, +is member of group 'lurker'. If not, you should add him, to give mailman +write access to lurker database: +# adduser list lurker + + Now you have to add every mailinglist that's been archived to lurkers +configuration file, as already mentioned: at least all private or all public +ones. You can list them with 'list_lists' from mailman. +Add every list to /etc/lurker/lurker.conf.local, according to the example. + +Info: There's a automatic transformation script available at +/usr/share/doc/lurker/examples/mailman2lurker.pl. It is mainly for keeping +big archives up-to-date, and create-from-scratch functionality is quite +rough. Feel free to improve the script, and create patches ;) + +Please keep in mind, that new lists created in mailman aren't configured +in lurker automaticly. +To circumvent this, the package provides a lurker-index-mm wrapper, that +adds new lists automaticly to a "newlist"-group in lurker. this at least +prevents mails from being lost, but you still need to configure correct +information about the new list. +To access this functionality, please read the 'automatic configuration' +section. + + Now you have to configure mailman the way that it uses lurker as +archiver for (at least all public or all private) lists. +You should restrict config changes in mailman to /etc/mailman/mm_cfg.py. + +First add these lines to the bottom of your mm_cfg.py: +---snip--- +# These variables control the use of an external archiver. +# Here lurker is used as external archiver. For compability reasons, the +# wrapper lurker-index-mm is used instead of lurker-index. It converts +# the listname to lowercase and checks lurkers configuration before giving +# the message to lurker-index. +PUBLIC_EXTERNAL_ARCHIVER = '/usr/bin/lurker-index-mm -l %(listname)s -m' +#PRIVATE_EXTERNAL_ARCHIVER = '/usr/bin/lurker-index-mm -l %(listname)s -m' +---snip--- + + This ensures that mailman will deliver every posted and accepted mail for +public lists to lurker, with "-l listname -m" as commandline arguments. +It requires lurker to have all lists mailman takes care off configured +proberly. +To activate private list archiving to the same lurker database too, simply +uncomment the second line, with PRIVATE_EXTERNAL_ARCHIVE. + + After testing everything you can change mailmans default archiving method +to mbox only. That will break pipermail usage. This is mailmans internal +archiver, and you proberly don't want to use it any longer, as you have +lurker now. Simply add the following to mm_cfg.py: +---snip--- +# "-1" - no archiving at all || "0" - pipermail archiving only +# "1" - mbox archiving only || "2" - both mbox and pipermail archiving +ARCHIVE_TO_MBOX = 1 +---snip--- + + Now you can change mailmans URL to mailinglist archives. This will +direct the "archive" links on listinfo pages to lurkers archives. + +# link to lurkers list overview +PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/lurker/%(listname)s.html' + + Last but not least import the old mail archive (normally found at +/var/lib/mailman/archives/private/.mbox/.mbox) into +your new lurker database. Do for every archived list: + +# lurker-index -l -b 5 < /path/to/.mbox + +Don't mind about mails already archived in lurker but also stored in these +mailboxes. lurker automaticly filters out duplicates of already archived +mails. + +Automatic Configuration +----------------------- +The lurker-index-mm wrapper provides functions to add unknown lists to lurkers +configuration for temporary storage. + +If you plan to use this feature, in most cases to prevent mail losing, copy +the example lurker.conf.mm from /usr/share/doc/lurker/examples to /etc/lurker +and fix it's permissions: +# chown list.lurker /etc/lurker/lurker.conf.mm + +now add the following line to the end of /etc/lurker/lurker.conf.local: +include = /etc/lurker/lurker.conf.mm + +Obsolete Information +-------------------- +Info: mailman2lurker.sh still exists as old-mailman2lurker.sh.gz in the +examples directory, mainly for backwards compability, even though it's +written in very bad coding style and is not really useful. feel free to +use code out of it, as parts may be useful anyhow. + + -- Jonas Meurer , Sun, 26 Sep 2004 16:25:11 +0200 --- lurker-1.3.orig/debian/postinst +++ lurker-1.3/debian/postinst @@ -0,0 +1,93 @@ +#!/bin/sh +# postinst script for lurker +# + +. /usr/share/debconf/confmodule + +# debhelper stuff +#DEBHELPER# + +case "$1" in + configure) + # apache configuration section + db_get lurker/apache_config + al_conf="/etc/lurker/apache.conf" + webservers="apache apache2 apache-perl apache-ssl" + + for server in $webservers; do + if (echo $RET | grep -vq $server); then + if [ -f /etc/$server/conf.d/lurker -o -h /etc/$server/conf.d/lurker ]; then + echo "Removing the lurker $server configuration." + rm -f /etc/$server/conf.d/lurker + restart="$restart $server" + fi + fi + done + + for server in $RET; do + # create symlink + if [ "$server" = "none" ]; then + echo "No servers selected to configure" + elif [ ! -f /etc/$server/conf.d/lurker -a ! -h /etc/$server/conf.d/lurker ]; then + echo "Automaticly configuring $server." + ln -s $al_conf /etc/$server/conf.d/lurker + restart="$restart $server" + else + echo "$server already configured." + fi + done + + # restart servers + for server in $restart; do + invoke-rc.d $server restart + done + + db_get lurker/upgrade_db + if [ "$RET" = "automatic" ]; then + echo "Automaticly regenerating lurker database." + /usr/bin/lurker-regenerate /usr/bin/lurker-index /etc/lurker/lurker.conf + fi + + # lurker configuration section + + db_get lurker/archive; archive=$RET + db_get lurker/admin_name; admin_name=$RET + db_get lurker/admin_address; admin_address=$RET + + db_stop + + # safely create a temporary file + tempfile=`tempfile -m 644` + + sed -e "s/^[[:space:]]*archive[[:space:]]*=.*/archive = $archive/" \ + -e "s/^[[:space:]]*admin_name[[:space:]]*=.*/admin_name = $admin_name/" \ + -e "s/^[[:space:]]*admin_address[[:space:]]*=.*/admin_address = $admin_address/" \ + < /usr/share/lurker/lurker.conf.template > $tempfile + + # ucf section + ucf --three-way $tempfile /etc/lurker/lurker.conf + + # remove tempfile + rm -f $tempfile + + sg lurker -c true 2> /dev/null || addgroup --system lurker + chown root.lurker -R /var/lib/lurker + chmod g+ws /var/lib/lurker + + www_ch_files="attach list lurker.docroot mbox message search splash thread" + for f in $www_ch_files; do + chown -R www-data.www-data /var/www/lurker/$f + done + chown root.root /var/www/lurker + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac --- lurker-1.3.orig/debian/config +++ lurker-1.3/debian/config @@ -0,0 +1,63 @@ +#!/bin/sh +# config script for lurker +# +set -e + +. /usr/share/debconf/confmodule + +# Use a state machine to allow jumping back to previous questions. +STATE=1 +while [ "$STATE" != 0 -a "$STATE" != 3 ]; do + case "$STATE" in + 1) + for entry in /etc/apache*/conf.d; do + apache="yes" + done + + if [ "$apache" = "yes" ]; then + db_input high lurker/apache_config || true + else + db_input high lurker/webserver || true + fi + + if [ -e /etc/lurker/lurker.conf ]; then + if dpkg --compare-versions "$2" ">=" 0.9; then + archve=`lurker-params -c /etc/lurker/lurker.conf -a` + admnme=`lurker-params -c /etc/lurker/lurker.conf -n` + admadr=`lurker-params -c /etc/lurker/lurker.conf -e` + else + archve=`grep "^[[:space:]]*archive[[:space:]]*=" /etc/lurker/lurker.conf | sed 's/^[^=]*=[[:space:]]*\([[:graph:]]*[[:print:]]\)[[:space:]]*/\1/' | tail -1` + admnme=`grep "^[[:space:]]*admin_name[[:space:]]*=" /etc/lurker/lurker.conf | sed 's/^[^=]*=[[:space:]]*\([[:graph:]]*[[:print:]]\)[[:space:]]*/\1/' | tail -1` + admadr=`grep "^[[:space:]]*admin_address[[:space:]]*=" /etc/lurker/lurker.conf | sed 's/^[^=]*=[[:space:]]*\([[:graph:]]*[[:print:]]\)[[:space:]]*/\1/' | tail -1` + fi + if [ "$archve" ]; then db_set lurker/archive $archve; fi + if [ "$admnme" ]; then db_set lurker/admin_name $admnme; fi + if [ "$admadr" ]; then db_set lurker/admin_address $admadr; fi + fi + db_input low lurker/archive || true + db_input low lurker/admin_name || true + db_input low lurker/admin_address || true + ;; + + 2) + case "$1" in + configure) + if [ "$2" ] && dpkg --compare-versions "$2" "<" 0.6; then + db_input high lurker/obsolete_db || true + elif [ "$2" ] && dpkg --compare-versions "$2" "<" 1.0; then + if [ -e /var/lib/lurker/db ]; then + db_input high lurker/upgrade_db || true + fi + fi + ;; + esac + ;; + esac + + if db_go || true; then + STATE=$(($STATE + 1)) + else + STATE=$(($STATE - 1)) + fi +done +exit 0 --- lurker-1.3.orig/debian/README.Debian +++ lurker-1.3/debian/README.Debian @@ -0,0 +1,87 @@ +lurker for Debian +----------------- + + +-> changes to upstream: + + /usr/bin/lurker-index is a wrapper for /usr/bin/lurker-index-bin, the +original lurker binary, that adds the config-file option. +This means for you that you don't have to define the config-file to +run lurker-index when using the default one at /etc/lurker/lurker.conf. +In other words, executing 'lurker-index' is the same as +'lurker-index --config-file /etc/lurker/lurker.conf' from upstream. + + Additionally the debian package provides some tools to ease admins work. + + lurker-regenerate is for regenerating the lurker database at upgrades +and after db changes (see section 'make large archives more powerfull') + + lurker-index-mm is a wrapper for lurker-index to make it more useful as +mailman archiver. see README.mailman for more information. + + The configuration file lurker.conf has been split up into a static part +at /etc/lurker/lurker.conf, what contains global archive configuration, +and a local part at /etc/lurker/lurker.conf.local, intended for list +configuration and do define more include files. +Please keep your list configuration away from lurker.conf to make package +upgrades easier. + + +-> webserver: + + If you run one of the apache{2,-perl,-ssl} servers, your webserver +may already be configured in terms of a symlink at conf.d/lurker, +depending on your decision at the debconf question. In this case lurker +should be accessible at http://localhost/lurker + + If your webserver hasn't been configured automatically, and you have +suggestions or patches to support your webserver configuration, please +file a wishlist bug against lurker in the debian bts. + + +-> make large archives more powerful + + Coming with 1.2, lurker uses internal rewrites for group and language +attributes in searches, and thus doesn't store those in the database. + + This allows you to reorder your lists in groups and languages. On the +other side, large archives may have an increased load. so if you want to +turn off the rewrite in lurker and store the attribuetes in the database +instead, please use the regroupable option in lurker.conf and regenerate +the database afterwards. + + +-> lurker upgrade and initial setup: + + Since version 0.6, lurker has no daemon any longer. It creates its own +mboxes. To make lurker archiving lists, you have to edit +/etc/lurker/lurker.conf.local and add new lists first. + + Now you have to configure your system in a way that lurker gets new +list mail for its archives. In general, there are three ways to achieve +this: +a) configure you mail list processing software to use lurker as archiver. + - README.mailman explains how to do this with mailman +b) configure your mail delivery agent to deliver list mail to lurker. + - README.maildrop explains how to do this with maildrop + - README.procmail explains how to do this with procmail +c) configure your mail transfer agent to deliver list mail to lurker. + + After that you can import the old mails of the list into lurker archives. +Run 'lurker-index -l [list] -b 5 < [list.mbox]' for every list, where [list] +is the listname from lurker.conf and [list.mbox] is the mbox file. +You don't have to set config-file as lurker-index is a wrapper and executes +lurker-index binary with the default config-file. + + +-> permission management: + + To give a user write access to the db simply add this user to the group +lurker with 'adduser [user] lurker'. /var/lib/lurker, the directory where +the database is stored, is owned by root.lurker. Group lurker has write +access to the directory. + + +-> see README.* files for further instructions. + + -- Jonas Meurer , Sat, 12 Feb 2005 13:49:26 +0100 --- lurker-1.3.orig/debian/lurker.cron.d +++ lurker-1.3/debian/lurker.cron.d @@ -0,0 +1,2 @@ +*/15 * * * * www-data if test -f /var/lib/lurker/db; then /usr/bin/lurker-prune -c /etc/lurker/lurker.conf -d /var/www/lurker; fi + --- lurker-1.3.orig/debian/copyright +++ lurker-1.3/debian/copyright @@ -0,0 +1,24 @@ +This package was debianized by Jonas Meurer on +Tue, 4 Jun 2002 15:44:47 +0200. + +It was downloaded from http://lurker.sourceforge.net/ + +Upstream Author: Wesley W. Terpstra + +Copyright: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2.1. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. --- lurker-1.3.orig/debian/lurker-index +++ lurker-1.3/debian/lurker-index @@ -0,0 +1,3 @@ +#!/bin/sh +umask 2 +exec /usr/bin/lurker-index-bin -c /etc/lurker/lurker.conf $* --- lurker-1.3.orig/debian/install +++ lurker-1.3/debian/install @@ -0,0 +1,6 @@ +lurker.conf.template usr/share/lurker +lurker.conf.local etc/lurker +debian/apache.conf etc/lurker +debian/lurker-index usr/bin +debian/lurker-index-mm usr/bin +index/lurker-regenerate usr/bin --- lurker-1.3.orig/debian/README.maildrop +++ lurker-1.3/debian/README.maildrop @@ -0,0 +1,22 @@ +lurker with maildrop +-------------------- + + This README describes how to configure maildrop in the way that it delivers +list mail to lurker archives. + +This example rule delivers all mail to list 'example-list@lists.host.org' +to lurkers 'example-list' archive and additionaly saves it to the mailbox +/var/mail/example-list.mbox. + +if ( /^Delivered-To: mailing list example-list@list.host.org.*/ ) +{ + # the first line copies all the example-list mails to a mailbox: + cc /var/mail/example-list.mbox + xfilter "lurker-index -l example-list -m" +} + + Thanks to Jamin W. Collins , who sent me this +example. I didn't test this since I don't use maildrop. If you have any +problems, feel free to contact him directly or though me as facilitator. + + -- Jonas Meurer , Sat, 12 Feb 2005 13:55:52 +0100 --- lurker-1.3.orig/debian/watch +++ lurker-1.3/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://prdownloads.sf.net/lurker/lurker.*-([\d+\.]+|\d+).tar.gz debian uupdate --- lurker-1.3.orig/debian/templates +++ lurker-1.3/debian/templates @@ -0,0 +1,56 @@ +Template: lurker/apache_config +Type: multiselect +_Choices: apache, apache2, apache-ssl, apache-perl, none +Default: none +_Description: Which servers would you like to be configured automaticly? + It is possible to automaticly configure your apache webservers in the way + that lurker archive pages are available. This requires the servers to have + an include dir in /etc/apache*/conf.d, like the debian apache packages do. + You should be able to access lurker at http://localhost/lurker afterwards. + +Template: lurker/webserver +Type: note +_Description: No webserver will be configured automaticly + It seems like you have not installed any supported webserver. The script + did not detect any apache include directory at /etc/apache*/conf.d. + Thus the script does not configure any webserver, and you have to manually + configure the webserver that you would like to use with lurker. + +Template: lurker/archive +Type: string +_Default: Local Mailing List Archive +_Description: archive name + What name should lurker use when refering to the machine it runs on? + +Template: lurker/admin_name +Type: string +_Default: Unconfigured +_Description: admin name + This is the administrator information used at the bottom of generated + pages. You should probably set it to something useful. + +Template: lurker/admin_address +Type: string +_Default: nill@bitbucket.org +_Description: admin address + +Template: lurker/obsolete_db +Type: note +_Description: Important news about the upgrade from lurker <= 0.1f + The database format and many other things changed completely since last + release. You need to setup rules for lists now. Please read README.Debian + for more information. Also you need to purge and reimport your whole db. + The purge can easily be done with a 'rm -rf /var/lib/lurker/*'. + +Template: lurker/upgrade_db +Type: select +_Choices: automatic, manual +Default: manual +_Description: Do you want to upgrade your database automaticlly now? + The database format changed with this release. We provide a script to + automaticly upgrade your database. It can be found at + /usr/share/doc/lurker/lurker-regenerate. You should use it this way to + upgrade your db manually [2]: 'sh /usr/share/doc/lurker/lurker-regenerate + /usr/bin/lurker-index /etc/lurker/lurker.conf'. Alternatively you can + upgrade automaticly now [1]. Be aware of the fact that you need enough + free space for two times your obsolete database for that. --- lurker-1.3.orig/debian/lurker-index-mm +++ lurker-1.3/debian/lurker-index-mm @@ -0,0 +1,36 @@ +#!/bin/sh + +check_lurker() { + conf="/etc/lurker/lurker.conf.mm" + if [ -w $conf ]; then + if ! grep -q "list[[:space:]]*=[[:space:]]*$list" /etc/lurker/lurker.conf*; then + listhost=`grep "^#[[:space:]]*listhost" $conf | awk -F "=[[:space:]]*" {'print $2'}` + listurl=`grep "^#[[:space:]]*listurl" $conf | awk -F "=[[:space:]]*" {'print $2'}` + [ -e $listhost ] && listhost="lists.not-configured.yet" + [ -e $listurl ] && listurl="http://lists.not-configured.yet/path/to" + cat >> /etc/lurker/lurker.conf.mm < lurker-index-mm.1'. + You may view the manual page with: + `docbook-to-man lurker-index-mm.sgml | nroff -man | less'. + A typical entry in a Makefile or Makefile.am is: + +lurker-index-mm.1: lurker-index-mm.sgml + docbook-to-man $< > $@ + --> + + + Jonas"> + Meurer"> + + May 21, 2004"> + + 1"> + jonas@freesources.org"> + + LURKER-INDEX-MM"> + + + Debian"> + lurker"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + wrapper for lurker-index to use with mailman + + + + &dhpackage; + + + + DESCRIPTION + + &dhpackage; is a wrapper for lurker-index + designed to be run from mailman. It checks whether the list already + is configured in lurker.conf and converts uppercase listnames to + lowercase ones since lurker doesn't understand case sensitive + listnames. + + + + + SEE ALSO + + lurker-index(1) + + README.mailman in /usr/share/doc/lurker/. + + + + AUTHOR + + This manual page was written by &dhusername; <&dhemail;> for + the &debian; system (but may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the Free + Software Foundation; with no Invariant Sections, no Front-Cover + Texts and no Back-Cover Texts. + + +
+ + + + --- lurker-1.3.orig/debian/lurker-index-mm.1 +++ lurker-1.3/debian/lurker-index-mm.1 @@ -0,0 +1,82 @@ +.\" $Header: /aolnet/dev/src/CVS/sgml/docbook-to-man/cmd/docbook-to-man.sh,v 1.1.1.1 1998/11/13 21:31:59 db3l Exp $ +.\" +.\" transcript compatibility for postscript use. +.\" +.\" synopsis: .P! +.\" +.de P! +.fl +\!!1 setgray +.fl +\\&.\" +.fl +\!!0 setgray +.fl \" force out current output buffer +\!!save /psv exch def currentpoint translate 0 0 moveto +\!!/showpage{}def +.fl \" prolog +.sy sed -e 's/^/!/' \\$1\" bring in postscript file +\!!psv restore +. +.de pF +.ie \\*(f1 .ds f1 \\n(.f +.el .ie \\*(f2 .ds f2 \\n(.f +.el .ie \\*(f3 .ds f3 \\n(.f +.el .ie \\*(f4 .ds f4 \\n(.f +.el .tm ? font overflow +.ft \\$1 +.. +.de fP +.ie !\\*(f4 \{\ +. ft \\*(f4 +. ds f4\" +' br \} +.el .ie !\\*(f3 \{\ +. ft \\*(f3 +. ds f3\" +' br \} +.el .ie !\\*(f2 \{\ +. ft \\*(f2 +. ds f2\" +' br \} +.el .ie !\\*(f1 \{\ +. ft \\*(f1 +. ds f1\" +' br \} +.el .tm ? font underflow +.. +.ds f1\" +.ds f2\" +.ds f3\" +.ds f4\" +'\" t +.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n +.TH "LURKER-INDEX-MM" "1" +.SH "NAME" +lurker-index-mm \(em wrapper for lurker-index to use with mailman +.SH "SYNOPSIS" +.PP +\fBlurker-index-mm\fR +.SH "DESCRIPTION" +.PP +\fBlurker-index-mm\fR is a wrapper for lurker-index +designed to be run from mailman. It checks whether the list already +is configured in lurker.conf and converts uppercase listnames to +lowercase ones since lurker doesn't understand case sensitive +listnames. + +.SH "SEE ALSO" +.PP +lurker-index(1) +.PP +README.mailman in /usr/share/doc/lurker/. +.SH "AUTHOR" +.PP +This manual page was written by Jonas Meurer for +the \fBDebian\fP system (but may be used by others). Permission is +granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation +License, Version 1.1 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover +Texts and no Back-Cover Texts. +.\" created by instant / docbook-to-man, Fri 21 May 2004, 17:29 --- lurker-1.3.orig/debian/lurker.conf.mm +++ lurker-1.3/debian/lurker.conf.mm @@ -0,0 +1,10 @@ +# lurker.conf for lists automaticly created by mm wrapper + +# next lines configure the hostname for listaddresses (listhost) +# and the url to listinfo (listurl)| don't uncomment, just edit! +# +# listhost = lists.not-configured.yet +# listurl = http://lists.not-configured.yet/mailman/listinfo + +group = newlists + heading = Unsorted new lists - automaticly created --- lurker-1.3.orig/debian/mailman2lurker.pl +++ lurker-1.3/debian/mailman2lurker.pl @@ -0,0 +1,139 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use sort 'stable'; + +my $lurkerconf_fn = "/etc/lurker/lurker.conf"; +#my $lurkerconfmm_fn = "/etc/lurker/lurker.conf.mm"; +my $lurkerconfmm_fn = "$lurkerconf_fn.mm"; +#my $list_lists_fn = "list_lists"; +my $list_lists_fn = "/usr/lib/mailman/bin/list_lists |"; + +open LURKERCONF, $lurkerconf_fn or die "Could not open $lurkerconf_fn: $!"; + +my (%lists, %grouphead); +$grouphead{undef} = "undef"; + +my $listhost = "listhost"; +my $listurl = "listurl"; + +my @list_props = qw/title address link description/; + +my ($group, $list); +my (@lconfout); + +# Parse lurker.conf +while () +{ + chomp; + my ($prop,$val); + + if (not (($prop,$val) = /^\s*(\w+)\s*=\s*(.*?)\s*$/)) + { + push @lconfout, $_; + } + elsif ($prop eq 'group') + { + $group = $val; + } + elsif ($prop eq 'heading') + { + $grouphead{$group} = $val; + } + elsif ($prop eq 'list') + { + $list = $val; + $lists{$list} = {}; + $lists{$list}{group} = $group; + } + elsif (defined $list and grep($prop eq $_, @list_props)) + { + $lists{$list}{$prop} = $val; + } + else + { + push @lconfout, $_; + } +} + +close LURKERCONF; + +# parse lurkermm.conf + +open LURKERMMCONF, $lurkerconfmm_fn or die "Could not open $lurkerconfmm_fn: $!"; + +while () +{ + if (/\#\s*listhost\s*=\s*(.*?)\s*$/) + { + $listhost = $1; + } + if (/\#\s*listurl\s*=\s*(.*?)\s*$/) + { + $listurl = $1; + } +} + +close LURKERMMCONF; + +# parse list_lists + +open LIST_LISTS, $list_lists_fn or die "Could not open $list_lists_fn: $!"; + +while () +{ + chomp; + my ($name, $desc); + + next unless (($name, $desc) = /(\w+) - (.*)$/); + + if ($desc eq "[no description available]") + { + $desc = ""; + } + + if (defined $lists{$name}) + { + if ($desc) + { + $lists{$name}{description} = $desc; + } + } + else + { + $lists{$name} = { title => $name, + address => $name . '@' . $listhost, + link => $listurl . '/' . $name, # todo + description => $desc, + group => "undef" + }; + } +} + +close LIST_LISTS; + + +print join "\n", @lconfout; +print "\n"; + +# dump groups +$group = ""; +for $_ (sort { $lists{$a}{group} cmp $lists{$b}{group} } keys %lists) +{ + unless ($lists{$_}{group} eq $group) + { + $group = $lists{$_}{group}; + print "\n"; + print "group = $group\n"; + print " heading = ", ($grouphead{$group} ? $grouphead{$group} : "undef"), "\n"; + print "\n"; + } + + print " list = $list\n"; + foreach my $t (@list_props) + { + printf " %-14s = %s\n", $t, ${lists{$_}{$t}}; + } +} --- lurker-1.3.orig/debian/old-mailman2lurker.sh +++ lurker-1.3/debian/old-mailman2lurker.sh @@ -0,0 +1,138 @@ +#!/bin/sh +# (c) 2004 by Jonas Meurer | licensed under the GNU/GPL +# this script automaticly regenerates lurker.conf with the information from list_lists(8) and +# the original lurker.conf. to use it correctly, you should have set the two lurker-mailman +# compability vars in /etc/lurker/lurker.conf.mm, se Automatic Configuation Section at +# REAMDE.Debian for more information. + +# hyphens within listnames are transformed to underscores internally, but they are converted back +# before being written to lurkers configuration file. thus, users should't realize that fact. + +set +x + +# configuration +tmpdir=/tmp +lurker_conf=/etc/lurker/lurker.conf +lurker_conf_tmp=${tmpdir}/lurker.conf +lists_tmp=${tmpdir}/listed-lists +additional_lists=${tmpdir}/other-lists +mm_command="/usr/lib/mailman/bin/list_lists -a" + +listhost=`grep "^#[[:space:]]*listhost" ${lurker_conf}.mm | awk -F "=[[:space:]]*" {'print $2'}` +listurl=`grep "^#[[:space:]]*listurl" ${lurker_conf}.mm | awk -F "=[[:space:]]*" {'print $2'}` +[ -e $listhost ] && listhost="lists.not-configured.yet" +[ -e $listurl ] && listurl="http://lists.not-configured.yet/path/to" + +if [ -f ${tmpdir}/lurker.conf ]; then + mv ${lurker_conf_tmp} ${lurker_conf_tmp}.old +fi + +initialize_lurker_conf() { + sed -e '/^[[:space:]]*group[[:space:]]*=/,$d' $lurker_conf > $lurker_conf_tmp + echo "" >> $lurker_conf_tmp +} + +read_lurker_conf() { + while read line; do + #echo "LINE: $line" + if echo $line | grep -q "^[[:space:]]*group[[:space:]]*="; then + set -- $line; group=$3; groups="$groups $group" + elif echo $line | grep -q "^[[:space:]]*heading[[:space:]]*="; then + set -- $line; name="$1"; shift 2; value="$@"; eval ${group}_${name}=\"$value\"; + # echo -n " ${group}_heading = "; eval echo "\$${group}_heading" + elif echo $line | grep -q "^[[:space:]]*list[[:space:]]*="; then + set -- $line; list=${3//-/_} + eval ${group}=\"\$${group} $list\" + # echo -n " ${group} = "; eval echo -n "\$${group}" + # echo " | CURRENT LIST: ${list//_/-}" + elif echo $line | egrep -q "^[[:space:]]*(title|address|link|description)[[:space:]]*="; then + set -- $line; name="$1"; shift 2; value="$@"; eval ${group}_${list}_${name}=\"$value\"; + # echo -n " ${group}_${list}_${name} = "; eval echo "\$${group}_${list}_${name}" + else + case "$line" in + \#*|"") + continue + ;; + include*) + end="$end +$line" + ;; + esac + fi + done < $lurker_conf +} + +read_mailman() { + eval $mm_command |grep -v "matching mailing lists found:" > $lists_tmp + if [ -f $additional_lists ]; then + cat $additional_lists >> $lists_tmp + fi + while read line; do + list=`echo "$line" |awk -F "[[:space:]]-[[:space:]]" '{print $1}'| tr [[:upper:]] [[:lower:]]` + desc=`echo $line |awk -F "[[:space:]]-[[:space:]]" '{print $2}'` + for group in $groups; do + list_test=`echo ${!group} | grep "${list//-/_}"` + if [ "$list_test" ]; then + flag="1"; + echo "LIST ALREADY EXISTS IN LURKER.CONF: $list in $group" + if echo $desc | grep -vq "[no description available]"; then + echo "DESCRIPTION IS UPDATED TO: $desc" + eval ${group}_${list//-/_}_description="$desc" + fi + fi + list_test="" + done + if [ "$flag" != "1" ]; then + echo "LIST DOESN'T EXIST IN LURKER.CONF UNTIL NOW: $list" + [ -e $tempgroup ] && tempgroup="tempgroup$((RANDOM%1000+1))" && groups="$groups $tempgroup" + echo "WE'LL ADD IT IN A TEMPORARLY CREATED GROUP: $list in $tempgroup" + echo "GROUPS: $groups" + eval ${tempgroup}=\"\$${tempgroup} $list\" + eval ${tempgroup}_heading=\"$group\" + eval ${tempgroup}_${list//-/_}_title=\"$list\" + eval ${tempgroup}_${list//-/_}_link=\"$listurl/$list\" + eval ${tempgroup}_${list//-/_}_address=\"$list@$listhost\" + eval ${tempgroup}_${list//-/_}_description=\"$desc\" + else + flag=0; + fi + done < $lists_tmp +} + +write_lurker_conf() { + initialize_lurker_conf; + for group in $groups; do + echo "" >> $lurker_conf_tmp + echo "group = $group" >> $lurker_conf_tmp + x=${group}_heading + echo " heading = ${!x}" >> $lurker_conf_tmp + for list in ${!group}; do + xt=${group}_${list}_title + xa=${group}_${list}_address + xl=${group}_${list}_link + xd=${group}_${list}_description + echo "" >> $lurker_conf_tmp + echo " list = ${list//_/-}" >> $lurker_conf_tmp + echo " title = ${!xt}" >> $lurker_conf_tmp + echo " address = ${!xa}" >> $lurker_conf_tmp + echo " link = ${!xl}" >> $lurker_conf_tmp + echo " description = ${!xd}" >> $lurker_conf_tmp + done + done + echo "" >> $lurker_conf_tmp + echo $end >> $lurker_conf_tmp +} + +case "$1" in + create) + read_mailman; + write_lurker_conf; + ;; + update) + read_lurker_conf; + read_mailman; + write_lurker_conf; + ;; +esac + +exit 0