← Back to team overview

pkg-perl-maintainers team mailing list archive

[Bug 2031491] Re: [MIR] libemail-simple-perl ( libemail-mime-perl dependency as libmail-dmarc-perl dependency)

 

> Required TODOs:
> #1 libmailtools-perl looks like a potential duplicate
> => Please differentiate the two or consider if this could be used instead.

That is a good question, they are actually not the same but the same. Let me explain.
There are two mail stacks in perl `libmail` and `libemail`.

libmail*
libmail-authenticationresults-perl - object oriented Authentication-Results headers
libmail-dkim-perl - module to cryptographically identify the sender of email
libmail-sendmail-perl - simple way to send email from a perl script
libmail-spf-perl - Perl implementation of Sender Policy Framework and Sender ID
libmailtools-perl - modules to manipulate email in perl programs
libmail-box-imap4-perl - perl module for handling of IMAP4 folders as client
libmail-box-perl - message-folder management module
libmail-box-pop3-perl - POP3 handler for Mail::Box
libmail-bulkmail-perl - Platform independent mailing list module
libmail-checkuser-perl - Perl module for checking email addresses for validity
libmail-chimp3-perl - interface to mailchimp.com's RESTful Web API v3
libmail-deliverystatus-bounceparser-perl - module for analyzing bounce messages
libmail-dmarc-perl - Perl implementation of DMARC
libmail-field-received-perl - mostly RFC822-compliant parser of Received headers
libmail-gnupg-perl - Perl module for processing email with GPG
libmail-imapclient-perl - Perl library for manipulating IMAP mail stores
libmail-imaptalk-perl - IMAP client interface with lots of features
libmail-listdetector-perl - module for detecting mailing list messages
libmail-mbox-messageparser-perl - Perl module for processing mbox folders
libmail-mboxparser-perl - module providing read-only access to UNIX mailboxes
libmail-message-perl - generic class representing mail messages (perl library)
libmail-milter-perl - Perl extension modules for mail filtering via milter
libmail-pop3client-perl - POP3 client module for perl
libmail-rbl-perl - Perl extension to access RBL-style host verification services
libmail-rfc822-address-perl - Perl extension for validating email addresses
libmail-sendeasy-perl - Perl module to send plain/html e-mails through SMTP servers
libmail-spf-xs-perl - library for validating mail senders with SPF - Perl bindings
libmail-srs-perl - interface to Sender Rewriting Scheme
libmail-thread-perl - library for threading email by In-Reply-To and References
libmail-transport-perl - perl library for sending email
libmail-verify-perl - Utility to verify an email address
libmail-verp-perl - Variable Envelope Return Paths (VERP) address encoder/decoder


libemail*
libemail-address-xs-perl - Perl library for RFC 5322 address/group parsing and formatting
libemail-date-format-perl - Module to generate RFC-2822-valid date strings
libemail-abstract-perl - unified interface to mail representations
libemail-address-list-perl - RFC close address list parsing
libemail-address-perl - Perl module for RFC 2822 address parsing and creation
libemail-date-perl - Perl module for correct formatting of dates in emails
libemail-filter-perl - library for creating easy email filters
libemail-find-perl - module to find RFC 822 email addresses in plain text
libemail-folder-perl - Perl module to read mail from a folder
libemail-foldertype-perl - module to determine the type of a mail folder
libemail-localdelivery-perl - module to deliver a piece of email - simply
libemail-messageid-perl - Perl library for unique mail Message-ID generation
libemail-mime-attachment-stripper-perl - module to strip attachments from an email
libemail-mime-contenttype-perl - Perl module to parse a MIME Content-Type header
libemail-mime-createhtml-perl - multipart HTML email builder
libemail-mime-encodings-perl - unified interface to MIME encoding and decoding
libemail-mime-kit-perl - module to build complete email messages from templates
libemail-mime-perl - module for simple MIME message parsing
libemail-outlook-message-perl - module for reading Outlook .msg files
libemail-received-perl - Perl module to parse an email Received: header
libemail-reply-perl - module to reply to an email message
libemail-sender-perl - Perl module for sending email
libemail-simple-perl - module to parse RFC2822 headers and message format
libemail-stuffer-perl - casual approach to creating and sending Email:: emails
libemail-thread-perl - library providing threading for Email::Simple objects
libemail-valid-loose-perl - Email::Valid which allows dot immediately before at mark
libemail-valid-perl - Perl module for checking the validity of Internet email addresses


The second was created as reaction to the former getting more and more complex and bug prone.
See at the description for example:

"""
Description-en: module to parse RFC2822 headers and message format
 Email::Simple is the first deliverable of the Perl Email Project, a reaction
 against the complexity and increasing bugginess of the Mail::* modules. In
 contrast, Email::* modules are meant to be simple to use and to maintain,
 pared to the bone, fast, minimal in their external dependencies, and correct
"""

Now you could say "everybody could say that" but look at the dependency tree.
Even "libmail" nowadays starts to use "libemail" in some places.
For example 

Package: libmail-dmarc-perl
Recommends: libjson-perl, libmail-dkim-perl, libnet-http-perl, libnet-imap-simple-perl, libnet-server-perl, libnet-smtps-perl
Filename: pool/universe/libm/libmail-dmarc-perl/libmail-dmarc-perl_1.20230215-1_all.deb
root@m:~/libemail-mime-perl-1.953# apt-cache show libmail-dmarc-perl | grep libemail

Depends: perl:any, libconfig-tiny-perl, libio-socket-ssl-perl, libfile-
sharedir-perl, libnet-dns-perl, libnet-idn-encode-perl, 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


So the summary is:
- yes they provide different functionality
- but at different complexity levels and coexisting for a long time due to that
- We'd not want to rip apart the whole lib[e]mail stacks to just settle on one, the perl community probably knows better than us (and then the maintenance update would come on top)

Therefore we'd request to consider those not duplicates, despite having
the same top level functions.

P.S. Happy to be told I'm wrong by actual perl experts :-)

-- 
You received this bug notification because you are a member of Debian
Perl Group, which is subscribed to libemail-simple-perl in Ubuntu.
https://bugs.launchpad.net/bugs/2031491

Title:
  [MIR] libemail-simple-perl ( libemail-mime-perl dependency as libmail-
  dmarc-perl dependency)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libemail-simple-perl/+bug/2031491/+subscriptions