forked from pool/python-HyperKitty
Compare commits
8 Commits
Author | SHA256 | Date | |
---|---|---|---|
9ca1810ca7 | |||
b70b61d799 | |||
ad937b434d | |||
b400dd9d42 | |||
a46b84bffe | |||
c14dab286f | |||
c3b710d9c3 | |||
3dfbd98018 |
@@ -1,31 +0,0 @@
|
|||||||
From eb67c2fc470b88385f63435a826d73b32fc3c226 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark Sapiro <mark@msapiro.net>
|
|
||||||
Date: Mon, 15 Jul 2024 17:44:59 -0700
|
|
||||||
Subject: [PATCH] Return null bytes for empty attachment get_content.
|
|
||||||
|
|
||||||
---
|
|
||||||
hyperkitty/models/email.py | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/hyperkitty/models/email.py b/hyperkitty/models/email.py
|
|
||||||
index 651694e5..12732a93 100644
|
|
||||||
--- a/hyperkitty/models/email.py
|
|
||||||
+++ b/hyperkitty/models/email.py
|
|
||||||
@@ -329,12 +329,12 @@ class Attachment(models.Model):
|
|
||||||
if self.content is not None:
|
|
||||||
return bytes(self.content)
|
|
||||||
if folder is None:
|
|
||||||
- return ""
|
|
||||||
+ return b''
|
|
||||||
filepath = os.path.join(folder, str(self.counter))
|
|
||||||
if not os.path.exists(filepath):
|
|
||||||
logger.error("Could not find local attachment %s for email %s",
|
|
||||||
self.counter, self.email.id)
|
|
||||||
- return ""
|
|
||||||
+ return b''
|
|
||||||
with open(filepath, "rb") as f:
|
|
||||||
content = f.read()
|
|
||||||
return content
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:7cb1a021c5813d92ec3d174482f70f1b46174364f7d9b423586ee4f347f71e7b
|
|
||||||
size 2204682
|
|
@@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEVB6gRIRTOU/3eg7MnZsroGHQpnwFAmZ2g7oACgkQnZsroGHQ
|
|
||||||
pnxfTQ/+J5TIlLOZ7XNrBhprfZYp0zhU5TmLkHhCTLbm/06SyvGNspEcqqQicLSJ
|
|
||||||
YZEkKF4CPByLMCTDvVLiEjjiaaq9S+MJ+FVkASZKPrvogRDxVmB//whIJWjhWYfQ
|
|
||||||
VPMqj8fflZiuLNLqmfFf7AU2mZbn/y6+ODS2+vDeNISydze5pFEUyLTfk+VXf+X3
|
|
||||||
9btHzvRjCXC8s7Buj9GaDID0hYU3aYyyLoVMSqnQ0ESqd4YHpSX5+q0PpkTmFuhH
|
|
||||||
DR/I1vCDsbj4HMvzPJx1dFFEKysMjOmRPqVSTaGGj51EiFZJReraNZ6zSKh4uclx
|
|
||||||
dO1rE4yqD5l7HkrTCBd7n+Lr3jefJDaTtUjHwTDC2EAC4Z3JfrvB0rczPcTKpzFp
|
|
||||||
s61fePie43JU/aXfhvObHs/++FZKmLC7B2Q4OpWRQpAIikDcQimLCYOXqpc8WAqo
|
|
||||||
13CrpRIQXUh5oQuUH69WHDgw/U0QTWtbpYEIDJZ4Ls9MrEeLwJIaM9JZnuBCPUm7
|
|
||||||
o358JVdBwL/w65BxK4Csk4Y32W8sJM5XF0JtJ+Yzf4PAd6gk2gUetLkRikphih24
|
|
||||||
2TFzR4Upvc5DJWIM8uitmxFpxo4dmnctbg7bLrWMsvs9Yw4M8kuEVR9QdrNr1ZYS
|
|
||||||
Thzg/WkYKi0x+BtXE0JxtJ66y+h+hWXQ0ARN9h4XZP7V41UWR+o=
|
|
||||||
=6rnT
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
hyperkitty-1.3.12.tar.gz
Normal file
3
hyperkitty-1.3.12.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:deb582937ec5bc9ea9c1d5d86bfb76a4da429b60e1fea6fd6964e7c667cf161d
|
||||||
|
size 2231630
|
16
hyperkitty-1.3.12.tar.gz.asc
Normal file
16
hyperkitty-1.3.12.tar.gz.asc
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEVB6gRIRTOU/3eg7MnZsroGHQpnwFAmbueWwACgkQnZsroGHQ
|
||||||
|
pnxsWRAAzB3qp5jEdyUzUI28ptQFdFPQrYfOESVGTwsYzQ88/MxDGnbjhcbs4Ch6
|
||||||
|
OGt/xATlxbIeiO1fYIYryBO/ZyP3JiwC6PUTaHYnGFGi9rEgJKqaAg2JC10fKBsA
|
||||||
|
EOKd/Rda9RONZTf54BvODpGl8OgUXGPqblr/xuaddewGfn3pcCiVD3juND8Eromz
|
||||||
|
U4smsonht08F64jaWGO5Ki2sPaUrXIYfKJdzUMCC5GTwRQLafPEgomamrgfBMcwa
|
||||||
|
G5LyZt6DXHGEBf0gQKtdR5ixKv4Y6Hk4l2U0NKT3gi5fb6YRF9ftXBZGlRpGEVrj
|
||||||
|
58xLL4B41ltisf4S5xvZbHidhfvD1hnSpp2RDZtocjkozfk5y71wOSpCZ1/Py19l
|
||||||
|
keS8Dh4ey90R121+8fa9SBTowIZW3cD4IxlmcJwfNPsuy6wHCv8SJx2I91eiN6rA
|
||||||
|
z3XTIhk30VFLky7qDLDodH5KucQop0jF+TbvqtJ45HTb4HV30Fx+5eYJMSW5eQAR
|
||||||
|
SjuYnJih2T/n3o07mRxqhpl9awpdhhLyVsKTevqBLCFES/pmSpwun+bX++JLx4kg
|
||||||
|
trIVqVYYi+4uUyF7EH0ixOOYVmCx9rJzdLXyX8c9BxKp23zcQcWsxffZzwNpa0N2
|
||||||
|
9BpT9w/Vn6wdoKqzsyen6CXgRSDVv9kpgpLZtJ85Y6PfcwroJnY=
|
||||||
|
=R3Fq
|
||||||
|
-----END PGP SIGNATURE-----
|
@@ -1,3 +1,29 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 11 13:19:11 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
- Add reproducible.patch for reproducible builds
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 7 11:33:38 UTC 2024 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Minor tweaks in spec to fix build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 21 12:05:35 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
|
||||||
|
- Update to version 1.3.12
|
||||||
|
* https://gitlab.com/mailman/hyperkitty/-/blob/1.3.12/doc/news.rst
|
||||||
|
or packaged news.rst
|
||||||
|
- Removed gl-mr635-empty_attachment.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 11 18:35:28 UTC 2024 - Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
|
||||||
|
- Update to version 1.3.11
|
||||||
|
* https://gitlab.com/mailman/hyperkitty/-/blob/1.3.11/doc/news.rst
|
||||||
|
- Removed GPG signature as the download links don't work
|
||||||
|
- Removed requirement for pytz
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jul 18 20:22:39 UTC 2024 - Georg Pfuetzenreuter <mail+rpm@georg-pfuetzenreuter.net>
|
Thu Jul 18 20:22:39 UTC 2024 - Georg Pfuetzenreuter <mail+rpm@georg-pfuetzenreuter.net>
|
||||||
|
|
||||||
|
@@ -19,16 +19,14 @@
|
|||||||
%bcond_without testsuite
|
%bcond_without testsuite
|
||||||
|
|
||||||
# keep in sync with setup.py
|
# keep in sync with setup.py
|
||||||
%global django_min_version 3.2
|
%global django_min_version 4.2
|
||||||
%global django_max_version 4.3
|
%global django_max_version 5.1
|
||||||
%global django_mailman3_min_version 1.3.13
|
%global django_mailman3_min_version 1.3.13
|
||||||
%global django_gravatar2_min_version 1.0.6
|
%global django_gravatar2_min_version 1.0.6
|
||||||
%global djangorestframework_min_version 3.0.0
|
%global djangorestframework_min_version 3.0.0
|
||||||
%global robot_detection_min_version 0.3
|
%global robot_detection_min_version 0.3
|
||||||
%global pytz_min_version 2012
|
|
||||||
%global django_compressor_min_version 1.3
|
%global django_compressor_min_version 1.3
|
||||||
%global mailmanclient_min_version 3.3.3
|
%global mailmanclient_min_version 3.3.3
|
||||||
# original this was >= 2.0.0, < 3.0 but overwritten by mistune3.patch
|
|
||||||
%global mistune_min_version 3.0
|
%global mistune_min_version 3.0
|
||||||
%global python_dateutil_min_version 2.0
|
%global python_dateutil_min_version 2.0
|
||||||
%global networkx_min_version 2.0
|
%global networkx_min_version 2.0
|
||||||
@@ -66,7 +64,7 @@
|
|||||||
%define plainpython python
|
%define plainpython python
|
||||||
|
|
||||||
Name: python-HyperKitty
|
Name: python-HyperKitty
|
||||||
Version: 1.3.10
|
Version: 1.3.12
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A web interface to access GNU Mailman v3 archives
|
Summary: A web interface to access GNU Mailman v3 archives
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
@@ -94,8 +92,7 @@ Patch0: hyperkitty-settings.patch
|
|||||||
Patch98: gl-mr300-add-opengraph-metadata.patch
|
Patch98: gl-mr300-add-opengraph-metadata.patch
|
||||||
# PATCH-FIX-UPSTREAM gl-mr470-introduce-feed-filtering.patch gl#mailman/hyperkitty#470
|
# PATCH-FIX-UPSTREAM gl-mr470-introduce-feed-filtering.patch gl#mailman/hyperkitty#470
|
||||||
Patch99: gl-mr470-introduce-feed-filtering.patch
|
Patch99: gl-mr470-introduce-feed-filtering.patch
|
||||||
# PATCH-FIX-UPSTREAM gl-mr635-empty_attachment.patch gl#mailman/hyperkitty#635
|
Patch100: reproducible.patch
|
||||||
Patch100: gl-mr635-empty_attachment.patch
|
|
||||||
#
|
#
|
||||||
BuildRequires: %{python_module Django >= %{django_min_version} with %python-Django < %{django_max_version}}
|
BuildRequires: %{python_module Django >= %{django_min_version} with %python-Django < %{django_max_version}}
|
||||||
BuildRequires: %{python_module Whoosh}
|
BuildRequires: %{python_module Whoosh}
|
||||||
@@ -106,7 +103,7 @@ BuildRequires: %{python_module django-gravatar2 >= %{django_gravatar2_min_versi
|
|||||||
BuildRequires: %{python_module isort}
|
BuildRequires: %{python_module isort}
|
||||||
BuildRequires: %{python_module mailmanclient >= %{mailmanclient_min_version}}
|
BuildRequires: %{python_module mailmanclient >= %{mailmanclient_min_version}}
|
||||||
BuildRequires: %{python_module mistune >= %{mistune_min_version}}
|
BuildRequires: %{python_module mistune >= %{mistune_min_version}}
|
||||||
BuildRequires: %{python_module pdm}
|
BuildRequires: %{python_module pdm-backend}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module wheel}
|
BuildRequires: %{python_module wheel}
|
||||||
@@ -138,7 +135,6 @@ BuildRequires: %{python_module networkx >= %{networkx_min_version}}
|
|||||||
BuildRequires: %{python_module pytest-django}
|
BuildRequires: %{python_module pytest-django}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module python-dateutil >= %{python_dateutil_min_version}}
|
BuildRequires: %{python_module python-dateutil >= %{python_dateutil_min_version}}
|
||||||
BuildRequires: %{python_module pytz >= %{pytz_min_version}}
|
|
||||||
BuildRequires: %{python_module robot-detection >= %{robot_detection_min_version}}
|
BuildRequires: %{python_module robot-detection >= %{robot_detection_min_version}}
|
||||||
# /SECTION
|
# /SECTION
|
||||||
|
|
||||||
@@ -162,7 +158,6 @@ Requires: %{mypython}-mailmanclient >= %{mailmanclient_min_version}
|
|||||||
Requires: %{mypython}-mistune >= %{mistune_min_version}
|
Requires: %{mypython}-mistune >= %{mistune_min_version}
|
||||||
Requires: %{mypython}-networkx >= %{networkx_min_version}
|
Requires: %{mypython}-networkx >= %{networkx_min_version}
|
||||||
Requires: %{mypython}-python-dateutil >= %{python_dateutil_min_version}
|
Requires: %{mypython}-python-dateutil >= %{python_dateutil_min_version}
|
||||||
Requires: %{mypython}-pytz >= %{pytz_min_version}
|
|
||||||
Requires: %{mypython}-robot-detection >= %{robot_detection_min_version}
|
Requires: %{mypython}-robot-detection >= %{robot_detection_min_version}
|
||||||
Requires: %{mypython}-xapian-haystack >= %{django_haystack_min_version}
|
Requires: %{mypython}-xapian-haystack >= %{django_haystack_min_version}
|
||||||
# help in replacing any previously installed flavor package back to the unprefixed package
|
# help in replacing any previously installed flavor package back to the unprefixed package
|
||||||
@@ -363,7 +358,7 @@ fi
|
|||||||
%service_del_postun %{hyperkitty_services}
|
%service_del_postun %{hyperkitty_services}
|
||||||
|
|
||||||
%files -n %{hyperkitty_pkgname}
|
%files -n %{hyperkitty_pkgname}
|
||||||
%doc AUTHORS.txt README.rst example_project
|
%doc AUTHORS.txt README.rst doc/news.rst example_project
|
||||||
%license COPYING.txt
|
%license COPYING.txt
|
||||||
%{mypython_sitelib}/hyperkitty
|
%{mypython_sitelib}/hyperkitty
|
||||||
%{mypython_sitelib}/hyperkitty-%{version}*-info
|
%{mypython_sitelib}/hyperkitty-%{version}*-info
|
||||||
@@ -373,6 +368,7 @@ fi
|
|||||||
%{_sbindir}/hyperkitty-manage
|
%{_sbindir}/hyperkitty-manage
|
||||||
%{_sbindir}/rchyperkitty-qcluster
|
%{_sbindir}/rchyperkitty-qcluster
|
||||||
%{_sbindir}/rchyperkitty-runjob-*
|
%{_sbindir}/rchyperkitty-runjob-*
|
||||||
|
%dir /srv/www
|
||||||
%dir %{webapps_dir}
|
%dir %{webapps_dir}
|
||||||
%dir %{webapps_dir}/mailman
|
%dir %{webapps_dir}/mailman
|
||||||
%{_unitdir}/hyperkitty-qcluster.service
|
%{_unitdir}/hyperkitty-qcluster.service
|
||||||
|
27
reproducible.patch
Normal file
27
reproducible.patch
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
https://gitlab.com/mailman/hyperkitty/-/merge_requests/656
|
||||||
|
|
||||||
|
From 3961ea048f00da1004bbfe22f43ea2a494279d49 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
|
||||||
|
Date: Mon, 16 Dec 2024 16:08:45 +0100
|
||||||
|
Subject: [PATCH] Use content based hashing
|
||||||
|
|
||||||
|
for deterministic .css files
|
||||||
|
Without this patch, the mode defaulted to `mtime`
|
||||||
|
and caused variations between builds.
|
||||||
|
|
||||||
|
Fixes #527
|
||||||
|
|
||||||
|
This patch was done while working on reproducible builds for openSUSE, sponsored by the NLnet NGI0 fund.
|
||||||
|
|
||||||
|
diff --git a/example_project/settings.py b/example_project/settings.py
|
||||||
|
index ec7f742..1c53df6 100644
|
||||||
|
--- a/build_static_files/settings.py
|
||||||
|
+++ b/build_static_files/settings.py
|
||||||
|
@@ -304,6 +304,7 @@ SOCIALACCOUNT_PROVIDERS = {
|
||||||
|
# django-compressor
|
||||||
|
# https://pypi.python.org/pypi/django_compressor
|
||||||
|
#
|
||||||
|
+COMPRESS_CSS_HASHING_METHOD = 'content'
|
||||||
|
COMPRESS_PRECOMPILERS = (
|
||||||
|
('text/x-scss', 'sassc -t compressed {infile} {outfile}'),
|
||||||
|
('text/x-sass', 'sassc -t compressed {infile} {outfile}'),
|
Reference in New Issue
Block a user