[Mailman-Users] htdig-mailman patch(es) - blank page results onlyso far

Mark Sapiro mark at msapiro.net
Thu Dec 3 18:25:27 CET 2009

Capps, John M wrote:
>I am running Mailman 2.1.12 with the following 2.1.12 patches applied (archiver index control/htdig integration)
>My method of building and build results were a little rockier than I had hoped for.  I utilize FC10 systems mainly and so I wanted to make an FC12 RPM with the patches.
>I found that the 'Fedora way' of building mailman involved a fairly complex set of patches already, and it would be a lot of effort to find out through  relative set of diff and patch to noodle out how to package this in a Fedora manner, so I followed this course of action:

I don't know what else there is, but John Dennis' original RedHat FHS
patch is at

>Changed a FC10 mailman 2.1.11 spec to only patch these two patches, removing all Fedora specific patches.
>Changed some symlink behavior to preserve the precious /etc/mailman link *to* a /var/lib/mailman/data/sitelist.cfg target (the FC10 makes the symlink the other direction)

Note that sitelist.cfg is not actually used for anything by Mailman. It
is intended ONLY as suggested input to bin/config_list for configuring
the 'mailman' site list since the default new list configuration is
probably not appropriate for that list.

>Substituted a different init script (the FC10 /etc/init.d/mailman), which does an 'install' of the cron script and then a 'python mailmanctl  -s -q start' to start:
>The configure options for the FC10 spec file looks like so (mmdir=/usr/lib/mailman):
>./configure --libdir=%{_libdir} --prefix=%{mmdir}  --with-var-prefix=%{varmmdir}   --with-config-dir=%{configdir}  --with-lock-dir=%{lockdir}  --with-log-dir=%{logdir} \
>        --with-pid-dir=%{piddir}  --with-queue-dir=%{queuedir}  --with-python=%{__python}   --with-mail-gid=%{mailgroup}  --with-cgi-id=%{cgiuser} \
>        --with-cgi-gid=%{cgigroup}  --with-mailhost=localhost.localdomain  --with-urlhost=localhost.localdomain --without-permcheck

Some of those config options rely on RedHat patches to configure.

>So after I got it built I had missed a few things:
>The %{mmdir}/archives/htdig folder needed to be created to match my mm_cfg.py goodies:
>HTDIG_HTSEARCH_PATH = '/usr/bin/htsearch'
>HTDIG_RUNDIG_PATH = '/usr/bin/rundig'
>HTDIG_CONF_LINK_DIR = '/var/lib/mailman/archives/htdig'
>MTA = 'Postfix'
>SHORTCUT_ICON = 'xxxxx.png'
>Then I ran this to create indices (and htdig dbs/symlinks):
>LISTS=`ls /var/lib/mailman/lists`
>for list in ${LISTS[@]};do
>   /usr/lib/mailman/bin/arch $list

You probably should have included the --wipe option to bin/arch and a
more robust script is

for list in $(/usr/lib/mailman/bin/list_lists --bare);do
   /usr/lib/mailman/bin/arch --wipe $list

>I made a symlink from /var/www/htdig where FC10 puts htdig (3.2.0-0.3.b6.fc10) common files /usr/share/htdig and added to my VirtualHost Apache definition:
>Alias /htdig/ /usr/share/htdig/
>Then ran '/usr/bin/python -v /usr/lib/mailman/cron/nightly_htdig'  and great, I was up and had a per list (even private) search form with all my search fields available.
>I then went to do a search and all I got back was a blank page, no errors in the mailman log nor the Apache error log.

The action for the search form should be to post to a url like

If you just go to that URL in a browser, you should get a response like:

htdig Archives Access Failure
CGI problem. -5-Field count -4- fields:

If you want to make another attempt to access a list archive then go
via the list users information page.

If this problem persists then please e-mail the following information
to the mailman at example.com:

    Referer not known

If that is all working correctly, the problem is in htdig. mmsearch
just sets CONFIG_DIR in the environment to your HTDIG_CONF_LINK_DIR
setting and then opens a pipe to and from the command in your
HTDIG_HTSEARCH_PATH setting, writes the search parameters to the pipe
and reads and displays the result.

It detects a bad status and a null response. It logs a bad status in
Mailman's error log and should display either an error message or the
non-null response.

What happens if you run '/usr/bin/htsearch' by hand?

>I tried passing mail through a public and private list to see if that would 'prime the pump' as it were, but to no avail.

Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list