[From nobody Sun Mar 22 20:31:06 2026
Received: (at 1043098-done) by bugs.debian.org; 22 Mar 2026 20:29:18 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-112.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
 FVGT_m_MULTI_ODD,HAS_BUG_NUMBER,NUMEMAIL,PGPSIGNATURE,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
 RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_NONE,
 USER_IN_DKIM_WELCOMELIST autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 97; hammy, 150; neutral, 209; spammy,
 0. spammytokens: hammytokens:0.000-+--python3,
 0.000-+--H*ct:application, 0.000-+--H*ct:protocol,
 0.000-+--H*ct:micalg, 0.000-+--H*ct:signed
Return-path: &lt;peb@debian.org&gt;
Received: from metal.pimeys.fr ([51.158.37.103]:40232)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;peb@debian.org&gt;) id 1w4PQC-00BFbY-10
 for 1043098-done@bugs.debian.org; Sun, 22 Mar 2026 20:29:18 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=debian.org;
 s=pimeys.peb.user; t=1774210866;
 bh=MYMLukt8/YoPAu2xkCJHk+74L2pBFDWKSPHPwpoJrHI=;
 h=Date:From:To:Subject:References:In-Reply-To:From;
 b=WsvYYOhVLyQ7X0NlfoMITiw4H3WpIgD08PcPamXJMUU7CY7hprR421TvdAth9JVGM
 HqQcn2mKQDgumIdEdgNUZiz1PWfk/OJvHrX6TajDS0qK4hIEfaixAGlg2jwepk79in
 yvduGCcSbqDOwwnmI2sUGz3WiL2QpO8+fcxN6ZzQ5uFHfyaB8LLdiODvLfkcZBf5/f
 eVVNxjGqry4KSPDpTuNQexrx1twtmL7lyOkIXmSPIti9my8TwvweRn5kKUlTFpApkR
 08NmZD3X8IqjLJOcFkWQyxLKl5VoJ1EdNLzktDVmVSRlYbihEjpu/ey+nVdwLe1yFv
 Bd74zB2OojkwA==
Received: from pimeys.fr (metal.pimeys.fr [51.158.37.103])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange secp256r1 server-signature ECDSA (prime256v1) server-digest
 SHA256) (No client certificate requested)
 by metal.pimeys.fr (Postfix) with ESMTPSA id 9BEA3224D6D;
 Sun, 22 Mar 2026 21:21:06 +0100 (CET)
Date: Sun, 22 Mar 2026 21:21:02 +0100
From: Pierre-Elliott =?utf-8?B?QsOpY3Vl?= &lt;peb@debian.org&gt;
To: 1043098-done@bugs.debian.org, pkg-mailman-hackers@alioth-lists.debian.net
Subject: Re: Bug#1043098: [Pkg-mailman-hackers] Bug#1043098:
 python3-django-hyperkitty: tracebacks with update_index_one_list on mailman2
 migration
Message-ID: &lt;mvods32f2lofhgvpzhpshanidifu75ufbs2dynp6hpcugfskjg@j4l7b6kxqlou&gt;
References: &lt;ZM7lEgxtS255SOnY@dodds.net&gt; &lt;ZM7lEgxtS255SOnY@dodds.net&gt;
 &lt;87edc8selm.fsf@daath.pimeys.fr&gt;
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol=&quot;application/pgp-signature&quot;; boundary=&quot;mayjxfidq37io66l&quot;
Content-Disposition: inline
In-Reply-To: &lt;87edc8selm.fsf@daath.pimeys.fr&gt;
X-Greylist: delayed 488 seconds by postgrey-1.37 at buxtehude;
 Sun, 22 Mar 2026 20:29:16 UTC


--mayjxfidq37io66l
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: Bug#1043098: [Pkg-mailman-hackers] Bug#1043098:
 python3-django-hyperkitty: tracebacks with update_index_one_list on mailman2
 migration
MIME-Version: 1.0

Closing, as I sadly can't expect a feedback from Steve (rip, friend).

Le dimanche 17 mars 2024 =C3=A0 22:56:28+0100, Pierre-Elliott B=C3=A9cue a =
=C3=A9crit=C2=A0:
&gt; Hello,
&gt;=20
&gt; Steve Langasek &lt;vorlon@dodds.net&gt; wrote on 06/08/2023 at 01:10:58+0100:
&gt;=20
&gt; &gt; Package: python3-django-hyperkitty
&gt; &gt; Version: 1.3.4-4
&gt; &gt; Severity: important
&gt; &gt;
&gt; &gt; Dear Maintainer,
&gt; &gt;
&gt; &gt; Having just upgraded a system to bullseye, I am in the process of migra=
ting
&gt; &gt; my mailing lists from the obsolete mailman 2 to mailman3.  Following gu=
ides
&gt; &gt; such as https://docs.mailman3.org/en/latest/migration.html leads me to =
run,
&gt; &gt; as list:
&gt; &gt;
&gt; &gt; $ django-admin hyperkitty_import --settings mailman-web \
&gt; &gt;     --pythonpath /var/lib/mailman3/hyperkitty/ -l $list_email $mbox_path
&gt; &gt; $
&gt; &gt;
&gt; &gt; which succeeds (/var/lib/mailman3/hyperkitty/mailman-web.py is a forked=
 copy
&gt; &gt; of /etc/mailman3/mailman-web.py with appropriate permissions).
&gt; &gt;
&gt; &gt; I am then supposed to run update_index_one_list, which fails with a=20
&gt; &gt; confusing error about missing templates:
&gt; &gt;
&gt; &gt; $ django-admin update_index_one_list --settings mailman-web \
&gt; &gt;     --pythonpath /var/lib/mailman3/hyperkitty/ -l $list_email
&gt; &gt; Indexing 421 emails
&gt; &gt; [ERROR/MainProcess] Failed indexing 1 - 421 (retry 5/5): search/indexes=
/hyperkitty/email_text.txt (pid 6818): search/indexes/hyperkitty/email_text=
=2Etxt
&gt; &gt; Traceback (most recent call last):
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/management/commands/upd=
ate_index.py&quot;, line 111, in do_update
&gt; &gt;     backend.update(index, current_qs, commit=3Dcommit)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/backends/whoosh_backend=
=2Epy&quot;, line 269, in update
&gt; &gt;     doc =3D index.full_prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/indexes.py&quot;, line 236, =
in full_prepare
&gt; &gt;     self.prepared_data =3D self.prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/indexes.py&quot;, line 227, =
in prepare=20
&gt; &gt;     self.prepared_data[field.index_fieldname] =3D field.prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 235, i=
n prepare
&gt; &gt;     return self.convert(super(CharField, self).prepare(obj))
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 99, in=
 prepare
&gt; &gt;     return self.prepare_template(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 212, i=
n prepare_template
&gt; &gt;     t =3D loader.select_template(template_names)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/template/loader.py&quot;, line=
 47, in select_template
&gt; &gt;     raise TemplateDoesNotExist(', '.join(template_name_list), chain=3Dc=
hain)
&gt; &gt; django.template.exceptions.TemplateDoesNotExist: search/indexes/hyperki=
tty/email_text.txt
&gt; &gt; Traceback (most recent call last):
&gt; &gt;   File &quot;/usr/bin/django-admin&quot;, line 5, in &lt;module&gt;
&gt; &gt;     management.execute_from_command_line()
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/core/management/__init__.=
py&quot;, line 381, in execute_from_command_line
&gt; &gt;     utility.execute()
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/core/management/__init__.=
py&quot;, line 375, in execute
&gt; &gt;     self.fetch_command(subcommand).run_from_argv(self.argv)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/core/management/base.py&quot;,=
 line 323, in run_from_argv
&gt; &gt;     self.execute(*args, **cmd_options)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/core/management/base.py&quot;,=
 line 364, in execute
&gt; &gt;     output =3D self.handle(*args, **options)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/hyperkitty/management/commands/u=
pdate_index_one_list.py&quot;, line 41, in handle
&gt; &gt;     update_index(listname=3Doptions.get(&quot;listname&quot;)[0],
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/hyperkitty/search_indexes.py&quot;, l=
ine 117, in update_index
&gt; &gt;     update_cmd.update_backend(&quot;hyperkitty&quot;, &quot;default&quot;)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/management/commands/upd=
ate_index.py&quot;, line 319, in update_backend
&gt; &gt;     max_pk =3D do_update(
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/management/commands/upd=
ate_index.py&quot;, line 111, in do_update
&gt; &gt;     backend.update(index, current_qs, commit=3Dcommit)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/backends/whoosh_backend=
=2Epy&quot;, line 269, in update
&gt; &gt;     doc =3D index.full_prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/indexes.py&quot;, line 236, =
in full_prepare
&gt; &gt;     self.prepared_data =3D self.prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/indexes.py&quot;, line 227, =
in prepare  =20
&gt; &gt;     self.prepared_data[field.index_fieldname] =3D field.prepare(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 235, i=
n prepare
&gt; &gt;     return self.convert(super(CharField, self).prepare(obj))
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 99, in=
 prepare
&gt; &gt;     return self.prepare_template(obj)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/haystack/fields.py&quot;, line 212, i=
n prepare_template
&gt; &gt;     t =3D loader.select_template(template_names)
&gt; &gt;   File &quot;/usr/lib/python3/dist-packages/django/template/loader.py&quot;, line=
 47, in select_template
&gt; &gt;     raise TemplateDoesNotExist(', '.join(template_name_list), chain=3Dc=
hain)
&gt; &gt; django.template.exceptions.TemplateDoesNotExist: search/indexes/hyperki=
tty/email_text.txt
&gt; &gt; $
&gt; &gt;
&gt; &gt; This is quite confusing, as=20
&gt; &gt; /usr/lib/python3/dist-packages/hyperkitty/templates/search/indexes/hype=
rkitty/email_text.txt
&gt; &gt; certainly exists.
&gt; &gt;
&gt; &gt; It appears the only impact is on searchability of the mailing list=20
&gt; &gt; archive, which isn't terribly important to me, but I'd like to know why=
=20
&gt; &gt; it throws a backtrace.
&gt;=20
&gt; Have you tried to clear mailman3-web's cache?
&gt;=20
&gt; You can do so via /usr/share/mailman3-web/manage.py clear_cache
&gt;=20
&gt; Bests,
&gt;=20
&gt; --=20
&gt; PEB



--=20
Pierre-Elliott B=C3=A9cue
GPG: 9AE0 4D98 6400 E3B6 7528  F493 0D44 2664 1949 74E2
It's far easier to fight for principles than to live up to them.

--mayjxfidq37io66l
Content-Type: application/pgp-signature; name=&quot;signature.asc&quot;

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE5CQeth7uIW7ehIz87iFbn7jEWwsFAmnATysACgkQ7iFbn7jE
Wwtq2g//aR4i+sLjqc7bNNjcf78XjanJDnfg+4zS4YWiLaGMUyrPDTIl7SJR0AkG
zqIaGzY5drdcADZjynPnNuRiZjhavRdl9Pz5eMFzqLvfS83E5AAgRjd1jFGcGJoM
rXRBG6+U7vOgIdl8kCFgS5hRdC8jjrikH+BOEaYhJTg7kYCmP2llnZiHylBdcSQX
d8Cho51Hqa88FfDkOA99dQsOeWBwMh6fQpiPUmi9DmAxt4xcCm5Ma3LWaLxVso/z
ZZ79pYzqrt5hd+jH0idMnpgZCU6HNEyO4LvdDHeSPa25CH1gfoqHH/QetFZTfUpx
m9kR4yusEtSt5Ie+sPzg/gT8r7yDYx4SDUWnMgVMd1q9fUUz0ibcG3ZSlu8dIsLW
NFNGIwbzyMVFxFwnd2SUzi7Q7XF4/smWjfaUuQ7vgTC7jfA4UR4qG7rPNtmLl3DT
WNGQ6ypkYaorZ4LexFyU65YpZLOd4+Ja02BqXHY17W0oD1uU+HQMAUv26rdqc3sw
OYN6mRABbDmVEyKxt0fZgJz2w/iqWqBptH46PPRzv9jZz7/BwVN2mEtZkBp7wq8N
YThuWFCgGbHcSXK8wR4DFUbx+VrRkGL5F5SsgaAAbqCAS1S/ZaTA1+xdkMgZpqH9
wmEZ3JmEIJroXc1a6pwUjTTmBIVpFIlsHhG3t+ZVhXYa/6EMZR4=
=DBcR
-----END PGP SIGNATURE-----

--mayjxfidq37io66l--
]