--- Begin Message ---
Source: libmail-dmarc-perl
Version: 1.20230215-1
Severity: wishlist
Tags: patch
X-Debbugs-Cc: [email protected]
Dear Maintainer, Noah,
I'm working on making the libmail-dmarc-perl package a package that
belongs to the Ubuntu main repository (5-10 years of support by the Ubuntu
team), through a MIR (Main Inclusion request) process [1].
The main reason behind that is that this package is used by spamassassin
(already in main). Curious thing is that, by now, spamassassin is the
only package that uses libmail-dmarc-perl as dependency, which supposes an
advantage
in our case.
spamassassin only uses the validation feature of Mail::DMARC and, as we
can read in the INSTALL.md file of src:libmail-dmarc-perl, line 21:
'''
NOTE: Most of the dependencies are optionally required for the DMARC reporting
features. Mail::DMARC will perform validation with only these modules:
Regexp::Common
Config::Tiny
File::ShareDir
Net::DNS::Resolver
Net::IP
Socket6
'''
I checked also in the spamassassin's code that the validation feature is only
used: Spamassasin dmarc plugin [2] only uses the MAIL::DMARC::PurePerl module
[3] and, inside it, the validate function in particular [4]. However, is true
that it also could use the save_aggregate function if the dmarc_save_reports
variable is set throught mail-dmarc.ini to 1 (defaults is 0 [5], and also in
the ini file [6]). That function will need the Mail::DMARC::Report::Store
module and the Mail::DMARC::Report::URI module.
Therefore, I separated dependencies in the binary package depending on their
use. Modules used in validation remain as binary dependencies and the rest,
used in reporting, are moved to suggested dependencies, still availables. I
attached it here as a patch.
Both test suites, spamassassin and libmail-dmarc-perl t/*.t folders,
passes. Also, I made a DEP-8 test (that I can fordward to you if this
split seems reasonable/interesting) to you.
As a collateral effect, the split reduces the number of packages that need to
be installed when used by spamassassin, saving space.
I don't know if you find this approach interesting, but anyway.... I thought it
was worth sharing it with you. What do you think?
Thanks in advance,
Miriam EspaƱa Acebal
Software Engineer II - Ubuntu PublicCloud/Server
Canonical Ltd.
[1] https://bugs.launchpad.net/ubuntu/+source/libmail-dmarc-perl/+bug/2023971
[2]
https://git.launchpad.net/ubuntu/+source/spamassassin/tree/lib/Mail/SpamAssassin/Plugin/DMARC.pm
[3]
https://git.launchpad.net/ubuntu/+source/spamassassin/tree/lib/Mail/SpamAssassin/Plugin/DMARC.pm#n242
[4]
https://git.launchpad.net/ubuntu/+source/spamassassin/tree/lib/Mail/SpamAssassin/Plugin/DMARC.pm#n322
[5]
https://git.launchpad.net/ubuntu/+source/spamassassin/tree/lib/Mail/SpamAssassin/Plugin/DMARC.pm#n111
[6]
https://git.launchpad.net/ubuntu/+source/libmail-dmarc-perl/tree/share/mail-dmarc.ini#n21
>From 219bf178ed88f2323d9386066a2cfcdd81263133 Mon Sep 17 00:00:00 2001
From: Miriam Espana Acebal <[email protected]>
Date: Tue, 14 Nov 2023 12:28:59 +0100
Subject: [PATCH] - d/control: Splitting Dependencies between needed in
validation or reporting. The reporting ones now goes to Suggests (even the
former Recommends).
---
debian/control | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/debian/control b/debian/control
index a3b621c..b67f19f 100644
--- a/debian/control
+++ b/debian/control
@@ -42,23 +42,23 @@ Depends: ${misc:Depends},
libnet-ip-perl,
libnet-ssleay-perl,
libemail-mime-perl,
- libtest-file-sharedir-perl,
- libemail-sender-perl,
- libdbix-simple-perl,
- libdbd-sqlite3-perl,
- libtest-output-perl,
libregexp-common-perl,
libsocket6-perl,
liburi-perl,
libxml-libxml-perl,
- publicsuffix,
-Recommends:
+ publicsuffix,
+Suggests:
libjson-perl,
libmail-dkim-perl,
libnet-http-perl,
libnet-imap-simple-perl,
libnet-server-perl,
libnet-smtps-perl,
+ libdbd-sqlite3-perl,
+ libdbix-simple-perl,
+ libemail-sender-perl,
+ libtest-file-sharedir-perl,
+ libtest-output-perl,
Description: Perl implementation of DMARC
Mail::DMARC is a suite of tools for implementing DMARC. It adheres to the
2013 DMARC draft, intending to implement every MUST and every SHOULD.
--
2.40.1
>From 219bf178ed88f2323d9386066a2cfcdd81263133 Mon Sep 17 00:00:00 2001
From: Miriam Espana Acebal <[email protected]>
Date: Tue, 14 Nov 2023 12:28:59 +0100
Subject: [PATCH] - d/control: Splitting Dependencies between needed in
validation or reporting. The reporting ones now goes to Suggests (even the
former Recommends).
---
debian/control | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/debian/control b/debian/control
index a3b621c..b67f19f 100644
--- a/debian/control
+++ b/debian/control
@@ -42,23 +42,23 @@ Depends: ${misc:Depends},
libnet-ip-perl,
libnet-ssleay-perl,
libemail-mime-perl,
- libtest-file-sharedir-perl,
- libemail-sender-perl,
- libdbix-simple-perl,
- libdbd-sqlite3-perl,
- libtest-output-perl,
libregexp-common-perl,
libsocket6-perl,
liburi-perl,
libxml-libxml-perl,
- publicsuffix,
-Recommends:
+ publicsuffix,
+Suggests:
libjson-perl,
libmail-dkim-perl,
libnet-http-perl,
libnet-imap-simple-perl,
libnet-server-perl,
libnet-smtps-perl,
+ libdbd-sqlite3-perl,
+ libdbix-simple-perl,
+ libemail-sender-perl,
+ libtest-file-sharedir-perl,
+ libtest-output-perl,
Description: Perl implementation of DMARC
Mail::DMARC is a suite of tools for implementing DMARC. It adheres to the
2013 DMARC draft, intending to implement every MUST and every SHOULD.
--
2.40.1
--- End Message ---