--- listadmin-2.40.orig/listadmin.pl
+++ listadmin-2.40/listadmin.pl
@@ -718,7 +718,7 @@
}
my $data;
- if ($mmver eq "2.1") {
+ if ($mmver ge "2.1") {
my $parse_appr = HTML::TokeParser->new(\$page_appr) || die;
$data = parse_pages_mm_2_1($mmver, $config, $parse, $parse_appr);
} else {
@@ -764,14 +764,26 @@
my %data = ();
my $headline;
+ # some (newer?) servers show only 1
tag when there is no subscriptions
+ # Try resolve first seen
as subscription, and fall back to approvals
$parse_subs->get_tag ("hr");
if ($parse_subs->get_tag ("h2")) {
- parse_subscriptions ($mmver, $config, $parse_subs, \%data);
- }
-
- $parse_appr->get_tag ("hr");
- if ($parse_appr->get_tag ("h2")) {
- parse_approvals ($mmver, $config, $parse_appr, \%data);
+ my $title = $parse_subs->get_trimmed_text ("/h2") || die;
+ if ($title =~ get_trans_re("subscriptions")) {
+ parse_subscriptions ($mmver, $config, $parse_subs, \%data);
+
+ $parse_appr->get_tag ("hr");
+ if ($parse_appr->get_tag ("h2")) {
+ parse_approvals ($mmver, $config, $parse_appr, \%data);
+ }
+ } else {
+ parse_approvals ($mmver, $config, $parse_appr, \%data);
+ }
+ } else {
+ $parse_appr->get_tag ("hr");
+ if ($parse_appr->get_tag ("h2")) {
+ parse_approvals ($mmver, $config, $parse_appr, \%data);
+ }
}
return (\%data);
}
@@ -829,42 +841,325 @@
#
# Please send additions if you have them.
+ # Below strings are found in source of Mailman 2.1.10 and "washed":
+ # * high-bit chars and html ligatures in latin charsets replaced with .*
+ # (\S would be better but for some reason the code chokes on that)
+ # * non-latin charsets included as-is and (if not already) as utf-8
+ # * trailing punctuation stripped (to allow small changes to locales)
my %translations =
+ # grep -ri -- '' templates/*/admlogin.html
("authentication" =>
{
- "en" => "authentication",
- "de" => "Authentifikation",
- "fr" => "authentification",
+ "ar" => "التحقق من الشخصية لـ .* للقائمة",
+ "ca" => "Authentication",
+ "cs" => "p.*ihl.*en.*",
+ "da" => "Login",
+ # include old string (possibly bogusly grabbed from PO file)
+ "de" => "Anmeldung|Authentifikation",
+ "en" => "Authentication",
+ "es" => "Autentificaci.*n",
+ "et" => "autoriseerimine",
+ "eu" => "Zerrendako .* Identifikatzen",
+ "fi" => "Authentication",
+ "fr" => "Authentification",
+ "gl" => "Autenticaci.*n",
+ "he" => "האימות של",
+ "hr" => "Autentikacija",
+ "hu" => "Azonos.*t.*s",
+ "ia" => "Authentication",
+ "it" => "Autenticazione",
+ # | recode EUC-JP..utf8
+ "ja" => "ǧ|認証",
+ # | recode EUC-KR..utf8
+ "ko" => " |관리자 인증",
+ "lt" => "prisijungimas",
+ "nl" => "inloggen",
+ "no" => "Innlogging",
+ "pl" => "%(listname)s",
+ "pt" => "Authentication",
+ "pt_BR" => "Autentica.*o",
+ "ro" => "Autentificare",
+ # | recode koi8-r..utf8
+ "ru" => "|Аутентификация",
+ "sk" => "prihlásenie",
+ "sl" => "Avtentikacija",
+ "sr" => "Authentication",
+ "sv" => "Inloggning",
+ "tr" => "Giri.*i",
+ "uk" => "Автентифікація",
+ "vi" => "Xác th.*c",
+ "zh_CN" => "Authentication",
+ "zh_TW" => "論壇 壇主驗證",
+ },
+ # grep -r -A 1 'msgid "Subscription Requests"' messages/*
+ "subscriptions" =>
+ {
+ "C" => "Subscription Requests",
+ "ar" => "طلبات التسجيل",
+ "ca" => "Petici.* de Subscripci.*",
+ "cs" => "Po.*adavky na p.*ihl.*en",
+ "da" => "Anmoder om medlemskab",
+ "de" => "Abonnement-Anfragen",
+ "es" => "Peticiones de suscripci.*n",
+ "et" => "Liitumisssoovid",
+ "eu" => "Harpidetza Eskakizunak",
+ "fi" => "Liittymispyynt.*j.*",
+ "fr" => "Requ.*tes d'abonnement",
+ "gl" => "Solicitudes de subscrici.*n",
+ "he" => "בקשות מנוי",
+ "hr" => "Zahtjevi za Pretplatom",
+ "hu" => "Feliratkozási k.*relmek",
+ "ia" => "Requestas de abonamento",
+ "it" => "Richieste di iscrizione",
+ # | recode EUC-JP..utf8
+ "ja" => "|入会申請",
+ # | recode EUC-KR..utf8
+ "ko" => " |가입 결과",
+ "lt" => "Uþsisakymo Pra.*ymas",
+ "nl" => "Aanmeldingsverzoeken",
+ "no" => "S.*knader om medlemskap",
+ "pl" => "Pro.*by o zapisanie",
+ "pt" => "Pedidos de inscri.*o",
+ "pt_BR" => "Requisi.*es de Inscri.*o",
+ "ro" => "Cereri de abonare",
+ # | recode koi8-r..utf8
+ "ru" => " |Запросы на подписку",
+ "sk" => ".*iadosti o prihl.*senie",
+ "sl" => "Zahteve za prijavo",
+ "sr" => "Захтјеви за упис",
+ "sv" => "Ans.*kningar om medlemskap",
+ "tr" => "Listeye .*yelik .*stekleri",
+ "uk" => "Запити на підписку",
+ "vi" => "Y.*u c.*u .*ng k.*",
+ "zh_CN" => "订阅请求",
+ "zh_TW" => "訂閱申請",
},
+ # grep -r -A 1 'msgid "Successfully \(subscribed\|Unsubscribed\|Removed\):"' messages/*
"subscr_success" =>
{
- "en" => "Successfully ((un)?subscribed|Removed)",
- "de" => "Erfolgreich (ein|aus)getragen",
+ # include old (mistyped, or are these case-insensitive?) uppercase
+ "C" => "Successfully (([uU]n)?subscribed|Removed)",
+ "ar" => "تم اشتراكه بنجاح|خطأ في تسجيل الاشتراك|تمت إزالته بنجاح",
+ "ca" => "Subscrit satisfact.*riament|Subscripci.* Cancel.*lada Satisfact.*riament|Eliminat satisfact.*riament",
+ "cs" => ".*sp.*n.* p.*ihl.*eni|.*sp.*n.* odhl.*eni|.*sp.*n.* odstran.*ni",
+ "da" => "Tilmelding er sket|Framelding udf.*rt|Framelding udf.*rt",
+ "de" => "Erfolgreich (eingetragen|beendete Abonnements|entfernt)",
+ "es" => "(Subscritos|Ha anulado su suscripci.*n|Ha sido borrado) satisfactoriamente",
+ "et" => "Lisati aadressid|Tellimus l.*petati|Edukalt eemaldatud",
+ "eu" => "Behar bezala harpidetuta|Behar Bezala Ezabatuta|Arrakastaz ezabatua",
+ "fi" => "Onnistuneesti liitetty|Erotettu onnistuneesti|Poistettu onnistuneesti",
+ "fr" => "Abonnement r.*ussi|R.*siliation r.*ussie|Abonnement r.*sili.* avec succ.*s",
+ "gl" => "Subscribiuse con éxito|Anulou a súa subscrición satisfactoriamente|Eliminouse satisfactoriamente",
+ "he" => "נרשם בהצלחה|מנוי בוטל בהצלחה|הוסר בהצלחה",
+ "hr" => "Uspje.*no (pretpla.*eni|Odjavljeni|Maknut)",
+ "hu" => "Sikeresen (fel.*rva|t.*r.*lve|t.*r.*lve)",
+ "ia" => "(Abonate|Disabonate|Removite) con successo",
+ "it" => "(Iscritti|Cancellati|Rimosso) con successo",
+ # | recode EUC-JP..utf8
+ "ja" => "(||)³λ|(入|退|退)会手続き完了",
+ # | recode EUC-KR..utf8
+ "ko" => " (Ե|Ż|ŵ) |성공적으로 (가입된|탈퇴된|제거된) 명단",
+ "lt" => "S.*kmingai (u.*sisak.*|atsisak.*|pa.*alinti)",
+ "nl" => "Met succes (aangemeld|afgemeld|verwijderd)",
+ "no" => "(P.*melding|Utmelding) utf.*rt",
+ "pl" => "Pomy.*lnie (zapisano|wypisano|usuni.*to)",
+ "pt" => "(Inscrito|Inscri.*o anulada|Removido) co?m sucesso",
+ "pt_BR" => "(Inscrito|Descadastrado|Removido) com [sS]ucesso",
+ "ro" => "Au fost (abona.*i|dezabona.*i) cu succes",
+ # | recode koi8-r..utf8
+ "ru" => " (| |)|Успешно (подписаны|удалена подписка для|удалены)",
+ "sk" => "Úspe.*ne (prihlásení|odhlásení|zmazaní)",
+ "sl" => "Uspe.*no (prijavljeni|odjavljen|odstranjeni)",
+ "sr" => "Успјешно (уписани|исписани|уклоњени)",
+ "sv" => "(Anm.*lan|Avanmlan) gjord",
+ "tr" => "Ba.*ar.*yla (.*ye yap.*ld.*|.*yelikten .*kar.*ld.*|Silindi)",
+ "uk" => "Успішно (підписано|видалено підписку|видалено)",
+ "vi" => "Đã đăng ký được|Đã bỏ đăng ký được|Đã gỡ bỏ được",
+ "zh_CN" => "成功订阅|成功取消订阅|成功删除",
+ "zh_TW" => "訂閱成功|退訂成功|成功除名",
},
+ # grep -r -A 1 'msgid "Error \(subscribing\|Unsubscribing\):"' messages/*
"subscr_error" =>
{
- "en" => "Error (un)?subscribing",
+ # include old (mistyped, or are these case-insensitive?) uppercase
+ "C" => "Error ([uU]n)?subscribing",
+ "ar" => "خطأ في (الاشتراك|إلغاء الاشتراك)",
+ "ca" => "Error (subscrivint|cancel.*lant la subscripci.*)",
+ "cs" => "Chyba p.*i (p.*ihla.*ov.*n.*|odhla.*ov.*n.*)",
+ "da" => "Fejl under (tilmelding|framelding)",
+ "de" => "Fehler beim (Abonnieren|Beenden des Abonnement)",
+ "es" => "Error dando de (alta|baja) la suscripci.*n",
+ "et" => "Viga aadresside lisamisel|Viga aadressi kustutamisel",
+ "eu" => "Errorea harpidetzan|Zerrenda uztean errorea",
+ "fi" => "Virhe (liitt.*ess.*|eroamisessa)",
+ "fr" => "Erreur lors de (l'abonnement|la r.*siliation)",
+ "gl" => "(Houbo un erro ao dar de alta|Produciuse un erro ao dar de baixa) a subscrición",
+ "he" => "שגיאה (ברישום|בביטול המנוי)",
+ "hr" => "Gre.*ka kod (pretpla.*ivanja|Odjavljivanja)",
+ "hu" => "Hiba a (feliratkoz.*skor|t*rl*sn*l)",
+ "ia" => "Error in (abonar|disabonar)",
+ "it" => "Errore durante (l'iscrizione|la cancellazione)",
+ # | recode EUC-JP..utf8
+ "ja" => "(|)³Υ顼|(入|退)会手続きのエラー",
+ # | recode EUC-KR..utf8
+ "ko" => "(|Ż) |(가입|탈퇴) 에러",
+ "lt" => "Nes.*kmingai u.*sisakin.*jo|Klaida atsisakant",
+ "nl" => "Fout bij (het aanmelden|afmelden)",
+ "no" => "Feil under (p.*melding|utmelding)",
+ "pl" => "B.*dy przy (za|wy)pisywaniu",
+ "pt" => "Erro (inscrevendo|ao cancelar a inscri.*o)",
+ "pt_BR" => "Erro ao (inscrever|descadastrar)",
+ "ro" => "Eroare la (abonare|dezabonare)",
+ # | recode koi8-r..utf8
+ "ru" => " | |Подписаны НЕ были|Ошибка удаления подписки",
+ "sk" => "Chyba pri (prihlasovan.*|odhlasovan.*)",
+ "sl" => "Napaka pri (prijavljanju|odjavi)",
+ "sr" => "Грешка при (у|uc)пису",
+ "sv" => "Fel under (anm.*lan|avanm.*lan)",
+ "tr" => "(.*ye yaparken|.*yelikten .*kar.*l.*rken) hata oldu",
+ "uk" => "Помилка (при спробі|видалення) підписки",
+ "vi" => "Lỗi đăng ký|Lỗi bỏ đăng ký",
+ "zh_CN" => "错误(取)?订阅",
+ "zh_TW" => "訂閱失敗|退訂時出錯",
},
+ # grep -r -A 1 'msgid "No such list .*"' messages/*
"no_such_list" =>
{
- "en" => "Mailman Admindb Error.*No such list:",
+ "C" => "No such list",
+ "ar" => "لا يوجد قائمة بالإسم",
+ "ca" => "La llista .* no existeix",
+ "cs" => "Nenalezl jsem konferenci",
+ "da" => "Listen findes ikke",
+ "de" => "(Keine Liste mit Namen .* vorhanden|Liste nicht vorhanden)",
+ "es" => "(La lista .* no existe|No existe tal lista)",
+ "et" => "(Sellist listi pole|Selle nimega listi pole)",
+ "eu" => "(zerrendarik ez dago|Zerrenda ezezaguna)",
+ "fi" => "(Listaa .* ei ole olemassa|Lista on jo olemassa)",
+ "fr" => "(Liste inexistante|Liste introuvable)",
+ "gl" => "(A rolda .* non existe|Non existe esa rolda)",
+ "he" => "(אין רשימה בשם|אין כזו רשימה)",
+ "hr" => "Takva lista ne postoji %(safelistname)s",
+ "hu" => "Nincs .* nev.* lista",
+ "ia" => "(Le lista .* non existe|Nulle tal lista)",
+ "it" => "Non esiste .*la lista",
+ # | recode EUC-JP..utf8
+ "ja" => "ȤꥹȤϤޤ|というリストはありません",
+ # | recode EUC-KR..utf8
+ "ko" => " ϸ Ʈ ʽϴ|라는 메일링 리스트가 존재하지 않습니다.",
+ "lt" => "N.*ra forumo",
+ "nl" => "Er is geen lijst met de naam",
+ "no" => "Listen finnes ikke",
+ "pl" => "Nie znaleziono listy|Nie ma takiej listy",
+ "pt" => "N.*o existe essa lista|Lista inexistente",
+ "pt_BR" => "Lista .*inexistente",
+ "ro" => "Nu exist.* lista|Lista aceata nu exist.*",
+ # | recode koi8-r..utf8
+ "ru" => " .* |Список рассылки .*не существует",
+ "sk" => "Neznáma .*konferencia",
+ "sl" => "Seznam .*ne obstaja",
+ "sr" => "Нема листе",
+ "sv" => "Listan finns inte",
+ "tr" => "ad.*nda bir liste yok",
+ "uk" => "Список розсилки .*не існує",
+ "vi" => "Không có hộp thư (chung|như vậy)",
+ "zh_CN" => "没有类似的列表|没有这个列表",
+ "zh_TW" => "(沒有.*這個|無此)論壇",
},
+ # head -n 2 templates/*/admindbsummary.html
+ # grep -r -A 1 'msgid "There are no pending requests."' messages/*
"pending_req" =>
{
- "en" => "(current set of administrative|pending request)",
- "de" => "(gegenwärtigen administrativen|unbearbeiteten Anfragen)",
+ "C" => "There are no pending requests",
+ "ar" => "تحتوي هذه الصفحة على تلخيص للطلبات الإشرافية|لا يوجد طلبات معلقة",
+ "ca" => "Aquesta p.*gina cont.* un sumari del conjunt actual de peticions administratives|No hi ha peticions pendents",
+ "cs" => "P.*ehled po.*adavk.* pro konferenci|.*dn.* po.*adavky ne.*ekaj.* na vy.*zen.*",
+ "da" => "Her finder du en oversigt over anmodninger der skal vurderes for maillisten|Der venter ingen anmodninger",
+ "de" => "Diese Seite zeigt eine .*bersicht der gegenw.*rtigen administrativen|Keine unbearbeiteten Anfragen",
+ "en" => "This page contains a summary of the current set of administrative",
+ "es" => "Esta página contiene un sumario de las solicitudes administrativas que|No hay peticiones pendientes",
+ "et" => "Sellel lehel on ülevaade kõigist||Taotlusi pole",
+ "eu" => "Orri honetan .* posta zerrendan|Ez dago eskaerarik zain",
+ "fi" => "Tällä sivulla on lista toimiasi vaativista|Ei odottavia pyynt.*j.*",
+ "fr" => "Cette page contient un r.*sum.* de l'ensemble des requ.*tes|Pas de requ.*tes en instance",
+ "gl" => "Esta páxina cont.*n un sumario das solicitudes administrativas que|Non hai ningunha solicitude pendente",
+ "he" => "עמוד זה מכיל סיכום של קבוצת כל הבקשות המנהלתיות שדורשות|אין בקשות ממתינות",
+ "hr" => "Ova stranica sadr.*i sa.*etak trenutnog skupa administrativnih zahtjeva|Nema zahtjeva na .*ekanju",
+ "hu" => "Ezen az oldalon .* levelezõlistához.* tartozó beavatkozásra|Nincsen beavatkoz.*sra v.*r.* teend.*",
+ "ia" => "Iste pagina contine un summario del collection del requestas|Il non ha requestas pendente",
+ "it" => "Questa pagina contiene la lista delle richieste amministrative|Non ci sono richieste in attesa",
+ "ja" => "Υڡ|このページは|αοϤޤ|保留中の申請はありません",
+ "ko" => " .* ϸ Ʈ|이 페이지는 .* 메일링 리스트| û ϴ|대기중인 요청이 없습니다",
+ "lt" => "Sprendimo laukian.*i.* lai.*k.* santrauka|There are no pending requests",
+ "nl" => "Deze pagina toont een overzicht van alle administratieve verzoeken m.b.t. de .* maillijst die wachten op uw goedkeuring|Er zijn geen wachtende verzoeken",
+ "no" => "Her finner du en oversikt over foresp.*rsler som skal vurderes for epostlisten|Det venter ingen foresp.*rsler eller s.*knader",
+ "pl" => "This page contains a summary of the current set of administrative|Brak skolejkowanych zada.*",
+ "pt" => "Esta p.*gina cont.*m um sum.*rio dos pedidos administrativos da lista|N.*o h.* pedidos pendentes",
+ "pt_BR" => "Esta p.*gina cont.*m um resumo do conjunto atual de requisi.*es|N.*o existem requisi.*es pendentes",
+ "ro" => "Aceast.* pagin.* con.*ine un sumar al setului curent de cereri administrative|Nu sunt cereri .*n a.*teptare",
+ "ru" => " |Эта страница содержит сводный список требующих обработки административных| , |Нет запросов, требующих обработки",
+ "sk" => "Preh.*ad po.*iadaviek pre konferenciu|.*iadne .*iadosti ne.*akaj.* na spracovanie",
+ "sl" => "Ta stran vsebuje povzetek trenutnih skrbni.*kih zahtev, ki .*akajo|Ni .*akajo.*ih zahtev",
+ "sr" => "Ова страна садржи преглед тренутних услова за ваше укључење у листу слања|Нема захтјева на чекању",
+ "sv" => "H.*r finns en .*versikt .*ver f.*rfr.*gningar som ska avg.*ras f.*r e-postlistan|Inga ans.*kningar v.*ntar",
+ "tr" => "Bu sayfa|Bekleyen istek yok",
+ "uk" => "Ця сторінка містить загальний список адміністративних запитів|Відсутні запити, що очікують рішень",
+ "vi" => "Trang này chứa bản tóm tắt các yêu cầu quản trị cần thiết bạn tán thành cho|Không có yêu cầu bị hoãn nào",
+ "zh_CN" => "此页面包含.*邮件列表|没有挂起的请求",
+ "zh_TW" => "沒有待決的事項",
},
+ # TODO: get strings from older Mailman (pre 2.1) containing this one
"headline_subscr" =>
{
"en" => "subscription",
+ "da" => "medlemskab",
},
+ # TODO: get strings from older Mailman (pre 2.1) containing this one
"held_for_approval" =>
{
"en" => "held for approval",
},
+ # grep -r -A 1 'msgid "Already a member"' messages/*
"already_member" =>
{
- "en" => "Already a member",
+ "C" => "Already a member",
+ "ar" => "مشترك أصلاً",
+ "ca" => "Ja ets membre",
+ "cs" => "Je ji.* .*astn.*kem",
+ "da" => "Allerede medlem",
+ "de" => "Bereits Mitglied",
+ "es" => "Ya est.* suscrito",
+ "et" => "On juba liige",
+ "eu" => "Dagoeneko harpidetuta",
+ "fi" => "Jo j.*sen",
+ "fr" => "D.*j.* abonn.*",
+ "gl" => "Xa está subscrito",
+ "he" => "הנו כבר מנוי",
+ "hr" => "Ve.* je .*lan",
+ "hu" => "M.*r tag",
+ "ia" => "Ja es un membro",
+ "it" => "Gi.* iscritto",
+ # | recode EUC-JP..utf8
+ "ja" => "˲Ǥ|既に会員です",
+ # | recode EUC-KR..utf8
+ "ko" => "̹ ȸԴϴ|이미 회원입니다",
+ "lt" => "Jau dalyvis",
+ "nl" => "Is al lid",
+ "no" => "Allerede medlem",
+ "pl" => "Ju.* jest zapisany",
+ "pt" => "J.* .* um membro",
+ "pt_BR" => "J.* .* um membro",
+ "ro" => "Este membru deja",
+ # | recode koi8-r..utf8
+ "ru" => " |Уже является подписчиком",
+ "sk" => "Je už účastníkom",
+ "sl" => "Je .*e .*lan",
+ "sr" => "Корисник је већ учлањен.",
+ "sv" => "Redan medlem",
+ "tr" => "Zaten listeye .*ye",
+ "uk" => "Вже є учасником",
+ "vi" => "Đã thành viên",
+ "zh_CN" => "已经是成员了",
+ "zh_TW" => "已是訂戶",
},
);
--- listadmin-2.40.orig/debian/control
+++ listadmin-2.40/debian/control
@@ -0,0 +1,19 @@
+Source: listadmin
+Section: net
+Priority: optional
+Maintainer: Noèl Köthe
+Build-Depends: debhelper (>= 5.0.0), quilt
+Standards-Version: 3.8.2
+Homepage: http://heim.ifi.uio.no/kjetilho/hacks/#listadmin
+
+Package: listadmin
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, libwww-perl, libcrypt-ssleay-perl, libtext-reform-perl
+Description: command line mailman moderator queue manipulation
+ listadmin is a command line tool to manipulate the queues of messages
+ held for moderator approval by mailman. It is designed to keep user
+ interaction to a minimum, in theory you could run it from cron to
+ prune the queue. It can use the score from a header added by
+ SpamAssassin to filter, or it can match specific senders, subjects, or
+ reasons.
+
--- listadmin-2.40.orig/debian/copyright
+++ listadmin-2.40/debian/copyright
@@ -0,0 +1,12 @@
+This package was debianized by
+Noèl Köthe on Tue, 12 Oct 2004 20:32:04 +0200.
+
+It was downloaded from http://heim.ifi.uio.no/~kjetilho/hacks/
+
+Copyright:
+
+Upstream Author: Kjetil Torgrim Homme
+
+License:
+
+Released into public domain.
--- listadmin-2.40.orig/debian/changelog
+++ listadmin-2.40/debian/changelog
@@ -0,0 +1,172 @@
+listadmin (2.40-4) unstable; urgency=low
+
+ * updated Standards-Version to 3.8.4 without changes
+ * Do not try to write bogus log file if none is defined (Closes: #461210)
+ Thanks Joachim "nomeata" Breitner for the patch/work.
+
+ -- Noèl Köthe Fri, 09 Apr 2010 23:55:09 +0200
+
+listadmin (2.40-3) unstable; urgency=low
+
+ * updated Standards-Version (no changes needed)
+ * debian/compat updated to 5
+ * added listadmin-discard.patch from Alexander Wirt
+ Thanks! (closes: #530385)
+
+ -- Noèl Köthe Tue, 21 Jul 2009 00:36:37 +0200
+
+listadmin (2.40-2.2) unstable; urgency=low
+
+ * Fix regression in earlier NMU (in some cases ignored pending
+ actions). Closes bug#495006, thanks to Johannes Stezenbach and
+ Michel Dänzer.
+
+ -- Jonas Smedegaard Fri, 15 Aug 2008 10:27:38 +0200
+
+listadmin (2.40-2.1) unstable; urgency=low
+
+ * Non-maintainer upload, requested by maintainer. Re-upload of
+ earlier NMU, so closes: bug#494484.
+ * Make admin page parsing more flexible, fixing crash at line 802 with
+ recent versions of Mailman. Closes: bug#494672.
+ * Extend l10n parsing by adding strings from source of Mailman 2.1.10,
+ making it (hopefully) support all 35 languages included with recent
+ Debian release of Mailman (successfully tested against english,
+ danish and norwegian lists). Closes: bug#494670.
+ * Fix possible typo: use new parser logic not only for Mailman 2.1 but
+ also greater versions (unlikely that Mailman will go back to usin
+ pre-2.1 html coding style in future releases).
+
+ -- Jonas Smedegaard Mon, 11 Aug 2008 23:33:14 +0200
+
+listadmin (2.40-2) unstable; urgency=low
+
+ * debian/control
+ - updated Standards-Version
+ - added Homepage:
+ * added french admin translation (closes: Bug#446350)
+ Thanks The Anarcat
+ * added danish patch (closes: Bug#473567)
+ Thanks Soren Hansen
+
+ -- Noèl Köthe Sat, 09 Aug 2008 22:54:50 +0200
+
+listadmin (2.40-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Noèl Köthe Fri, 26 Oct 2007 18:45:18 +0200
+
+listadmin (2.39-1) unstable; urgency=low
+
+ * new upstream release (Thank you Kjetil for looking at the Debian BTS)
+ - added {list} and {domain} expansion (closes: Bug#440542)
+ - some support for non-english lists (closes: Bug#442027)
+
+ -- Noèl Köthe Mon, 01 Oct 2007 21:01:13 +0200
+
+listadmin (2.37-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Noèl Köthe Fri, 15 Jun 2007 13:16:00 +0200
+
+listadmin (2.36-1) unstable; urgency=low
+
+ * new upstream release
+ (Closes: Bug#406603)
+ * added libtext-reform-perl dependency
+
+ -- Noèl Köthe Sat, 20 Jan 2007 21:21:17 +0100
+
+listadmin (2.32-1) unstable; urgency=medium
+
+ * new upstream release
+ (Closes: Bug#399730)
+ * this package should fix wrong spam flagging
+ (Closes: Bug#379915)
+ * updated Standard-Version
+
+ -- Noèl Köthe Sun, 26 Nov 2006 20:05:26 +0100
+
+listadmin (2.30-1) unstable; urgency=low
+
+ * new upstream release from 2006-02-19
+
+ -- Noèl Köthe Tue, 21 Feb 2006 22:23:56 +0100
+
+listadmin (2.29-1) unstable; urgency=low
+
+ * new upstream release from 2006-02-17
+
+ -- Noèl Köthe Sat, 18 Feb 2006 00:39:55 +0100
+
+listadmin (2.28-1) unstable; urgency=low
+
+ * new upstream release from 2006-02-15
+
+ -- Noèl Köthe Thu, 16 Feb 2006 21:29:01 +0100
+
+listadmin (2.27-2) unstable; urgency=low
+
+ * applied mailman 2.1 patch from Sam Watkins
+ with a correction from Petter Reinholdtsen
+ Thanks alot for your work.
+ (closes: Bug#292929)
+
+ -- Noèl Köthe Fri, 30 Dec 2005 08:21:36 +0100
+
+listadmin (2.27-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Noèl Köthe Fri, 30 Sep 2005 07:31:27 +0200
+
+listadmin (2.26-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Noèl Köthe Sat, 25 Jun 2005 23:00:09 +0200
+
+listadmin (2.24-2) unstable; urgency=medium
+
+ * urgency=medium
+ 2.24 fixes mail loose, when you first mark a mail to be discard
+ and then jump back to it and mark it skip.
+ * renamed binary from listadmin.pl to listadmin in usr/bin
+
+ -- Noèl Köthe Tue, 08 Mar 2005 09:30:12 +0100
+
+listadmin (2.24-1) unstable; urgency=low
+
+ * new upstream relase from 2005-02-25
+
+ -- Noèl Köthe Thu, 03 Mar 2005 14:12:12 +0100
+
+listadmin (2.23-1) unstable; urgency=low
+
+ * new upstream relase from 2005-02-21
+ * upstream fixed problem with passwords in web logs
+ (closes: Bug#289915)
+
+ -- Noèl Köthe Mon, 21 Feb 2005 09:43:10 +0100
+
+listadmin (2.22-1) unstable; urgency=low
+
+ * new upstream release from 2004-11-02
+ * running listadmin gives "uninitialized value" warnings
+ are fixed
+ (closes: Bug#278149)
+ * Name "main::opt_n" used only once
+ is fixed
+ (closes: Bug#278330)
+
+ -- Noèl Köthe Wed, 03 Nov 2004 00:46:35 +0100
+
+listadmin (2.21-1) unstable; urgency=low
+
+ * Initial Release.
+ (closes: Bug#274648)
+
+ -- Noèl Köthe Tue, 12 Oct 2004 20:32:04 +0200
+
--- listadmin-2.40.orig/debian/dirs
+++ listadmin-2.40/debian/dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/man/man1
--- listadmin-2.40.orig/debian/rules
+++ listadmin-2.40/debian/rules
@@ -0,0 +1,78 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+include /usr/share/quilt/quilt.make
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+
+configure: patch configure-stamp
+configure-stamp:
+ dh_testdir
+ # Add here commands to configure the package.
+
+ touch configure-stamp
+
+
+build: configure build-stamp
+
+build-stamp: configure-stamp
+ dh_testdir
+
+ # Add here commands to compile the package.
+ #$(MAKE)
+ #docbook-to-man debian/listadmin.sgml > listadmin.1
+
+ touch build-stamp
+
+clean: clean-patched unpatch
+
+clean-patched:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp
+
+ # Add here commands to clean up after the build process.
+ #-$(MAKE) clean
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ # Add here commands to install the package into debian/listadmin.
+ #$(MAKE) install DESTDIR=$(CURDIR)/debian/listadmin
+ cp listadmin.pl $(CURDIR)/debian/listadmin/usr/bin/listadmin
+ cp listadmin.man $(CURDIR)/debian/listadmin/usr/share/man/man1/listadmin.1
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installman
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep
+.PHONY: build clean binary-indep binary install configure patch unpatch
+
--- listadmin-2.40.orig/debian/compat
+++ listadmin-2.40/debian/compat
@@ -0,0 +1 @@
+5
--- listadmin-2.40.orig/debian/patches/dont-write-logfile.patch
+++ listadmin-2.40/debian/patches/dont-write-logfile.patch
@@ -0,0 +1,15 @@
+Index: listadmin-2.40/listadmin.pl
+===================================================================
+--- listadmin-2.40.orig/listadmin.pl 2010-03-25 22:32:48.000000000 +0100
++++ listadmin-2.40/listadmin.pl 2010-03-25 22:32:52.000000000 +0100
+@@ -1635,8 +1635,8 @@
+ my $params = mailman_params ($user, $pw);
+
+ my $log = log_timestamp ($list);
+- # Expand {list}, {subdomain} and {domain}
+- $logfile = mailman_url($list, $logfile);
++ # Expand {list}, {subdomain} and {domain}, if there is something to expand
++ $logfile = mailman_url($list, $logfile) if $logfile;
+
+ for my $id (sort { $a <=> $b } keys %{$change}) {
+ my ($what, $text) = @{$change->{$id}};
--- listadmin-2.40.orig/debian/patches/listadmin-discard.patch
+++ listadmin-2.40/debian/patches/listadmin-discard.patch
@@ -0,0 +1,57 @@
+diff --git a/listadmin.pl b/listadmin.pl
+index 42b365c..71c7a08 100755
+--- a/listadmin.pl
++++ b/listadmin.pl
+@@ -254,7 +254,7 @@ sub process_subscriptions {
+ }
+ my $count = keys (%subscribers);
+ my $def = $config->{"subdefault"};
+- my $prompt = 'Accept/Reject/Skip/Quit';
++ my $prompt = 'Accept/Discard/Reject/Skip/Quit';
+ $prompt .= " [" . uc($def) . "]" if $def;
+ $prompt .= " ? ";
+
+@@ -281,6 +281,9 @@ sub process_subscriptions {
+ } elsif ($ans eq "a") {
+ $change->{$id} = [ "sa" ];
+ last;
++ } elsif ($ans eq "d") {
++ $change->{$id} = [ "sd" ];
++ last;
+ } elsif ($ans eq "r") {
+ my $r = prompt ("Why do you reject? [optional] ");
+ unless (defined $r) {
+@@ -295,6 +298,7 @@ and pressing Return.
+
+ a Accept -- allow the user to join the mailing list
+ r Reject -- notify sender that the request was turned down
++ d Discard -- silently discard the request
+ s Skip -- do not decide now, leave it for later
+ q Quit -- go on to approving messages
+
+@@ -1377,6 +1381,7 @@ sub set_param_values {
+ "d" => 3,
+ "sa" => 4, # subscribe approve
+ "sr" => 2, # subscribe reject
++ "sd" => 3, # subsribe discard
+ };
+ } else {
+ $data->{"global"}{"actions"} = { "a" => 0,
+@@ -1411,7 +1416,7 @@ sub read_config {
+
+ my %act = ("approve" => "a", "discard" => "d",
+ "reject" => "r", "skip" => "s", "none" => "");
+- my %sact = ("accept" => "a",
++ my %sact = ("accept" => "a", "discard" => "d",
+ "reject" => "r", "skip" => "s", "none" => "");
+
+ return undef unless open (CONF, $file);
+@@ -1641,7 +1646,7 @@ sub commit_changes {
+ for my $id (sort { $a <=> $b } keys %{$change}) {
+ my ($what, $text) = @{$change->{$id}};
+ $params->{$id} = $action->{$what};
+- unless ($what =~ /^s[ar]$/) {
++ unless ($what =~ /^s[ard]$/) {
+ # we don't log subscription approval or rejects
+ $log .= sprintf ("%s D:[%s] F:[%s] S:[%s]\n",
+ $what,
--- listadmin-2.40.orig/debian/patches/series
+++ listadmin-2.40/debian/patches/series
@@ -0,0 +1,3 @@
+listadmin-discard.patch
+dont-write-logfile.patch
+