--- ezmlm-browse-0.10.orig/globalfns.py +++ ezmlm-browse-0.10/globalfns.py @@ -145,7 +145,7 @@ def sub_showpart(ctxt, part): ctxt[BODY] = part.get_payload(decode=1) - type = ctxt[TYPE] = part.get_type('text/plain') + type = ctxt[TYPE] = part.get_content_type() ctxt[FILENAME] = part.get_filename() template = html('msg-' + type.replace('/', '-')) if not template: @@ -154,7 +154,7 @@ def rec_noshowpart(ctxt, part, partnum): ctxt[PART] = partnum - ctxt[TYPE] = part.get_type('text/plain') + ctxt[TYPE] = part.get_content_type() # FIXME: show something here if part.is_multipart(): for p in part.get_payload(): @@ -165,13 +165,13 @@ def rec_showpart(ctxt, part, partnum): ctxt[PART] = partnum - ctxt[TYPE] = part.get_type('text/plain') + ctxt[TYPE] = part.get_content_type() if part.is_multipart(): # handle alternative parts differently - if part.get_subtype() == 'alternative': + if part.get_content_subtype() == 'alternative': m = { } for p in part.get_payload(): - m[p.get_type('text/plain')] = p + m[p.get_content_type()] = p try: altpart = m[ctxt[ALTPART]] except KeyError: --- ezmlm-browse-0.10.orig/main.py +++ ezmlm-browse-0.10/main.py @@ -2,6 +2,7 @@ cgitb.enable() import cgi import email +import imp import os import re import sys @@ -292,7 +293,7 @@ while parts: part = part.get_payload()[parts[0]] parts = parts[1:] - write('Content-Type: %s\r\n\r\n' % part.get_type('text/plain')) + write('Content-Type: %s\r\n\r\n' % part.get_content_type()) write(part.get_payload(decode=1)) else: try: @@ -302,7 +303,7 @@ if partnum <= 0: break partnum -= 1 - write('Content-Type: %s\r\n\r\n' % part.get_type('text/plain')) + write('Content-Type: %s\r\n\r\n' % part.get_content_type()) write(part.get_payload(decode=1)) except: write('Content-Type: message/rfc822\r\n\r\n') @@ -312,6 +313,15 @@ buf = msg.read(8192) sys.exit(0) +def import_command(command): + name = 'commands.' + command + for base in sys.path[:2]: + filename = base + '/commands/' + command + '.py' + if os.path.exists(filename): + return imp.load_module(name, open(filename, 'r'), filename, + ('', '', imp.PY_SOURCE)) + raise ImportError, "Could not locate command: " + command + def main_form(): global ctxt setup_list() @@ -321,7 +331,7 @@ if not ctxt[LIST]: ctxt[COMMAND] = 'lists' try: - module = __import__('commands/' + ctxt[COMMAND]) + module = import_command(ctxt[COMMAND]) except ImportError: die(ctxt, "Invalid command") module.do(ctxt) --- ezmlm-browse-0.10.orig/debian/compat +++ ezmlm-browse-0.10/debian/compat @@ -0,0 +1 @@ +7 --- ezmlm-browse-0.10.orig/debian/rules +++ ezmlm-browse-0.10/debian/rules @@ -0,0 +1,88 @@ +#!/usr/bin/make -f + +STRIP =strip +ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + STRIP =: nostrip +endif + +DIR=$(shell pwd)/debian/ezmlm-browse + +patch: patch-stamp +patch-stamp: + dh_testdir + for i in `ls -t1 debian/diff/*.diff || :`; do \ + patch -p0 <$$i || exit 1; \ + done + touch patch-stamp + +configure: configure-stamp +configure-stamp: patch-stamp + dh_testdir + echo '/usr/lib/ezmlm-browse' >conf-home + test -r conf-bglibs'{orig}' || cp conf-bglibs conf-bglibs'{orig}' + echo '/usr/lib/bglibs' >conf-bglibs + test -r conf-bgincs'{orig}' || cp conf-bgincs conf-bgincs'{orig}' + echo '/usr/include/bglibs' >conf-bgincs + test -r Makefile'{orig}' || cp Makefile Makefile'{orig}' + sed -e 's}`which python2`}/usr/bin/python}' \ + -e 's}`pwd`}/usr/lib/ezmlm-browse}' Makefile + touch configure-stamp + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + $(MAKE) programs version.py + touch build-stamp + +clean: + dh_testdir + dh_testroot + [ ! -f Makefile ] || $(MAKE) clean + for i in *'{orig}'; do test ! -r $$i || mv -f $$i $${i%%'{orig}'}; done + rm -f conf-home + test ! -e patch-stamp || \ + for i in `ls -t1 debian/diff/*.diff || :`; do \ + patch -p0 -R <$$i || exit 1; \ + done + rm -rf '$(DIR)' + rm -f debian/substvars changelog + dh_clean + +install: build-stamp + dh_testdir + dh_testroot + rm -rf '$(DIR)' + install -d -m0755 '$(DIR)'/usr/lib/ezmlm-browse/commands + install -m0644 *.py *.css '$(DIR)'/usr/lib/ezmlm-browse/ + rm -f '$(DIR)'/usr/lib/ezmlm-browse/config.py + install -d -m0755 '$(DIR)'/etc/ezmlm-browse/html + install -m0644 config.py '$(DIR)'/etc/ezmlm-browse/ + install -m0644 debian/config.Makefile '$(DIR)'/etc/ezmlm-browse/Makefile + install -m0644 commands/*.py '$(DIR)'/usr/lib/ezmlm-browse/commands/ + install -d -m0755 '$(DIR)'/usr/lib/cgi-bin + install -m0755 wrapper '$(DIR)'/usr/lib/cgi-bin/ezmlm-browse + $(STRIP) -R .comment -R .note '$(DIR)'/usr/lib/cgi-bin/ezmlm-browse + install -m0644 html/*.html html/*.xml '$(DIR)'/etc/ezmlm-browse/html/ + ln -s /etc/ezmlm-browse/config.py '$(DIR)'/usr/lib/ezmlm-browse/ + ln -s /etc/ezmlm-browse/html '$(DIR)'/usr/lib/ezmlm-browse/ + # changelog + test -r changelog || ln -s NEWS changelog + +binary-indep: + +binary-arch: install + dh_testdir + dh_testroot + dh_pysupport -P'$(DIR)' + dh_shlibdeps + dh_installchangelogs + dh_installdocs + dh_compress + dh_install -P'$(DIR)' + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: patch configure build clean install binary-indep binary-arch binary --- ezmlm-browse-0.10.orig/debian/ezmlm-browse.README.Debian +++ ezmlm-browse-0.10/debian/ezmlm-browse.README.Debian @@ -0,0 +1,19 @@ +ezmlm-browse for Debian +----------------------- + +The configuration file config.py resides in /etc/ezmlm-browse/ and +the html templates reside in /etc/ezmlm-browse/html/ for customizing. + +Run 'make' in the directory /etc/ezmlm-browse/ after changing config.py. + +Read the 'Configuration' and 'Security Notes' sections of the author's +README. Additionally make sure the configured mailing lists use +ezmlm-archive in /path/to/list/editor or run ezmlm-archive for each list. + +Sample /path/to/list/editor: + |/usr/bin/ezmlm-reject '/path/to/list' + |/usr/bin/ezmlm-send '/path/to/list' + |/usr/bin/ezmlm-archive '/path/to/list' || exit 0 + |/usr/bin/ezmlm-warn '/path/to/list' || exit 0 + + -- Gerrit Pape , Fri, 7 Dec 2001 12:14:19 +0100 --- ezmlm-browse-0.10.orig/debian/changelog +++ ezmlm-browse-0.10/debian/changelog @@ -0,0 +1,97 @@ +ezmlm-browse (0.10-3) unstable; urgency=low + + * Adopt package (closes: #514323) + * Include Python 2.5 and 2.6 compatibility fixes from upstream + * Switch to using debhelper, and python-support for byte-compilation + (closes: #591594, #380790) + * Update Standards-Version (no changes) + + -- Dominic Hargreaves Sun, 15 Aug 2010 14:54:45 +0100 + +ezmlm-browse (0.10-2) unstable; urgency=low + + * debian/rules: don't escape newline within sed script (fixes build + failure with new make, closes: #352782). + * debian/implicit: update to revision 1.11. + + -- Gerrit Pape Sun, 26 Feb 2006 13:02:15 +0000 + +ezmlm-browse (0.10-1) unstable; urgency=low + + * new upstream version. + * debian/ezmlm-browse.README.Debian: typo. + * debian/ezmlm-browse.conffiles: add new xml templates. + * debian/rules: install new xml templates. + + -- Gerrit Pape Tue, 7 Dec 2004 12:51:01 +0000 + +ezmlm-browse (0.9-1) unstable; urgency=low + + * new upstream version. + * debian/control: Standards-Version: 3.6.1.0. + * debian/ezmlm-browse.README.Debian: typo. + * debian/diff/month-numbers.diff: remove; fixed upstream. + + -- Gerrit Pape Sat, 25 Sep 2004 13:07:07 +0000 + +ezmlm-browse (0.8-3) unstable; urgency=low + + * debian/diff/month-numbers.diff: new; from upstream svn: two bugfixes in + the handling of month numbers (thx Central Linux Experts And Newbies, + closes: #259641). + * debian/rules: minor cleanup; new target patch: apply diffs from + debian/diff/, reverse apply in target clean. + * debian/implicit: update to revision 1.10. + + -- Gerrit Pape Tue, 27 Jul 2004 09:51:08 +0000 + +ezmlm-browse (0.8-2) unstable; urgency=low + + * debian/rules: don't test for python program at build time (fixes build + failures). + + -- Gerrit Pape Sun, 27 Jun 2004 17:03:52 +0000 + +ezmlm-browse (0.8-1) unstable; urgency=low + + * new upstream version. + * debian/control: Build-Depends: bglibs-dev; no longer Build-Depends: + debhelper. + * debian/copyright: include explicit copyright statement. + * debian/rules: stop using debhelper, use implicit rules; cleanup. + * debian/implicit: new; implicit Makfile rules. + * debian/config.Makefile: new; make configuration in /etc/ezmlm-browse/. + * debian/postinst, debian/postrm: rename to debian/ezmlm-browse.*; + cleanup. + * debian/README.Debian, debian/conffiles, debian/docs: adapt; rename to + debian/ezmlm-browse.*; + * debian/dirs, debian/links: remove; obsolete. + + -- Gerrit Pape Sun, 27 Jun 2004 15:35:55 +0000 + +ezmlm-browse (0.6-4) unstable; urgency=low + + * ezmlm.py: catch exception in thread view on months without messages. + + -- Gerrit Pape Thu, 5 Sep 2002 12:11:17 +0200 + +ezmlm-browse (0.6-3) unstable; urgency=low + + * html/search.html: set empty 'terms' if not defined, now searching + with empty terms through cgi works. + * template/context.py: remove __import__('regsub') to avoid python + deprecation warning (closes: #137455). + + -- Gerrit Pape Fri, 9 Aug 2002 17:50:44 +0200 + +ezmlm-browse (0.6-2) unstable; urgency=low + + * Depends on python (closes: #124303) + + -- Gerrit Pape Sat, 22 Dec 2001 13:28:12 +0100 + +ezmlm-browse (0.6-1) unstable; urgency=low + + * Initial Release (closes: #121873) + + -- Gerrit Pape Fri, 7 Dec 2001 12:14:19 +0100 --- ezmlm-browse-0.10.orig/debian/ezmlm-browse.docs +++ ezmlm-browse-0.10/debian/ezmlm-browse.docs @@ -0,0 +1,3 @@ +README +TODO +VERSION --- ezmlm-browse-0.10.orig/debian/control +++ ezmlm-browse-0.10/debian/control @@ -0,0 +1,21 @@ +Source: ezmlm-browse +Section: web +Priority: optional +Maintainer: Dominic Hargreaves +Build-Depends: bglibs-dev, python, python-support, debhelper (>= 7) +Standards-Version: 3.9.1 +Homepage: http://untroubled.org/ezmlm-browse/ +Vcs-Browser: http://git.debian.org/?p=users/dom/ezmlm-browse.git +Vcs-Git: git://git.debian.org/~dom/ezmlm-browse.git + +Package: ezmlm-browse +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} +Suggests: ezmlm | ezmlm-idx, qmail +Description: Web browser for ezmlm-idx archives + This is ezmlm-browse, a web interface for browsing ezmlm-idx (version + 0.40 or later) archives. The default presentation is similar to that + of the ezmlm-cgi archive browser that is part of ezmlm-idx, but with + the addition of threaded subjects and online posting / replying. + However, the output is completely template drive, so you can make it + fit into your current web scheme. --- ezmlm-browse-0.10.orig/debian/config.Makefile +++ ezmlm-browse-0.10/debian/config.Makefile @@ -0,0 +1,29 @@ +config: warn config.pyc + +config.pyc: config.py + PYTHONPATH=/usr/lib/ezmlm-browse python -c '__import__("config")' + +clean: + rm -f config.pyc + +htmlobsolete=\ + footer.inc header.inc menu.html monthbydate.html monthbythread.html \ + post.html postform.html reply.html replyform.html search.html \ + searchform.html showmsg.html showthread.html thread.html threadindex.html + +warn: + @test -d ./html || sh -cx '! : directory ./html does not exist.' + @for i in $(htmlobsolete); do \ + test -e html/$$i || continue; \ + echo "./html/$$i is obsolete, and can be removed."; \ + echo "Run 'make htmlcleanup' to remove obsolete html templates." \ + >.'{obsolete}'; \ + done + @test ! -e .'{obsolete}' || \ + (echo; cat .'{obsolete}'; echo; rm -f .'{obsolete}') +htmlcleanup: + @test -d ./html || sh -cx '! : directory ./html does not exist.' + @for i in $(htmlobsolete); do \ + test -e html/$$i || continue; \ + sh -cx "rm -f ./html/$$i"; \ + done --- ezmlm-browse-0.10.orig/debian/copyright +++ ezmlm-browse-0.10/debian/copyright @@ -0,0 +1,16 @@ +This package was debianized by Gerrit Pape on +Fri, 7 Dec 2001 12:14:19 +0100. + +It was downloaded from +http://www.untroubled.org/ezmlm-browse/ + +Upstream Author: Bruce Guenter + +Copyright: + + This program is Copyright(C) 2004 Bruce Guenter, and may be copied + according to the GNU GENERAL PUBLIC LICENSE (GPL) Version 2 or a later + version. A copy of this license is included with this package. This + package comes with no warranty of any kind. + +The full text of the GPL can be found at /usr/share/common-licenses/GPL-2.