Split opendmarc with tools subpackage
Summary
opendmarc
package includes some supporting optional binaries that are not required to configure the service.
Owner
- Name: Mikel Olasagasti
- Email: mikel@olasagasti.info
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-12-03
- Announced
- Discussion thread
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
opendmarc
package ships some extra tools that are not required to run the opendmarc
service. These tools are:
- opendmarc-check (C)
- opendmarc-expire (perl)
- opendmarc-import (perl)
- opendmarc-importstats (sh script)
- opendmarc-params (perl)
- opendmarc-reports (perl)
The tools that are written in perl require +80 packages to be installed.
The idea is to keep opendmarc
and opendmarc-check
in the main opendmarc
package and move the rest of the tools to opendmarc-tools
.
I created a testing package in copr that I used for testing:
- Installing
opendmarc
only:
# dnf install opendmarc Updating and loading repositories: Repositories loaded. Package Arch Version Repository Size Installing: opendmarc x86_64 1.4.2-23.fc42 copr:copr.fedor 179.6 KiB Installing dependencies: libopendmarc x86_64 1.4.2-23.fc42 copr:copr.fedor 54.6 KiB libspf2 x86_64 1.2.11-15.20210922git49 rawhide 153.4 KiB sendmail-milter x86_64 8.18.1-4.fc41 rawhide 77.0 KiB Transaction Summary: Installing: 4 packages Total size of inbound packages is 220 KiB. Need to download 220 KiB. After this operation, 465 KiB extra will be used (install 465 KiB, remove 0 B).
- Installing
opendmarc-tools
:
# dnf install opendmarc-tools Updating and loading repositories: Repositories loaded. Package Arch Version Repository Size Installing: opendmarc-tools x86_64 1.4.2-23.fc42 copr:copr.f 76.3 KiB Installing dependencies: groff-base x86_64 1.23.0-7.fc41 rawhide 3.8 MiB libopendmarc x86_64 1.4.2-23.fc42 copr:copr.f 54.6 KiB libspf2 x86_64 1.2.11-15.20210922git49 rawhide 153.4 KiB mailcap noarch 2.1.54-7.fc41 rawhide 86.0 KiB mariadb-connector-c-config noarch 3.4.3-1.fc42 rawhide 497.0 B mysql-common noarch 8.0.40-1.fc42 rawhide 442.2 KiB mysql-libs x86_64 8.0.40-1.fc42 rawhide 6.4 MiB ncurses x86_64 6.5-2.20240629.fc41 rawhide 627.3 KiB perl-AutoLoader noarch 5.74-512.fc42 rawhide 20.5 KiB perl-B x86_64 1.89-512.fc42 rawhide 498.0 KiB perl-Carp noarch 1.54-511.fc41 rawhide 46.6 KiB perl-Class-Struct noarch 0.68-512.fc42 rawhide 25.4 KiB perl-Clone x86_64 0.47-1.fc42 rawhide 36.5 KiB perl-Compress-Raw-Bzip2 x86_64 2.213-1.fc42 rawhide 71.4 KiB perl-Compress-Raw-Zlib x86_64 2.213-1.fc42 rawhide 163.3 KiB perl-DBD-MySQL x86_64 5.010-1.fc42 rawhide 353.9 KiB perl-DBI x86_64 1.645-1.fc42 rawhide 2.2 MiB perl-Data-Dumper x86_64 2.189-512.fc41 rawhide 111.7 KiB perl-Digest noarch 1.20-511.fc41 rawhide 35.3 KiB perl-Digest-MD5 x86_64 2.59-5.fc41 rawhide 59.8 KiB perl-DynaLoader x86_64 1.56-512.fc42 rawhide 32.1 KiB perl-Encode x86_64 4:3.21-511.fc41 rawhide 4.7 MiB perl-Encode-Locale noarch 1.05-30.fc41 rawhide 19.0 KiB perl-Errno x86_64 1.38-512.fc42 rawhide 8.4 KiB perl-Exporter noarch 5.78-511.fc41 rawhide 54.3 KiB perl-Fcntl x86_64 1.18-512.fc42 rawhide 49.0 KiB perl-File-Basename noarch 2.86-512.fc42 rawhide 14.0 KiB perl-File-Path noarch 2.18-511.fc41 rawhide 63.5 KiB perl-File-Slurper noarch 0.014-6.fc41 rawhide 28.7 KiB perl-File-Temp noarch 1:0.231.100-511.fc41 rawhide 162.3 KiB perl-File-stat noarch 1.14-512.fc42 rawhide 12.5 KiB perl-FileHandle noarch 2.05-512.fc42 rawhide 9.3 KiB perl-Filter x86_64 2:1.64-512.fc41 rawhide 165.2 KiB perl-Getopt-Long noarch 1:2.58-2.fc41 rawhide 144.5 KiB perl-Getopt-Std noarch 1.14-512.fc42 rawhide 11.2 KiB perl-HTTP-Date noarch 6.06-5.fc41 rawhide 41.2 KiB perl-HTTP-Message noarch 7.00-1.fc42 rawhide 215.3 KiB perl-HTTP-Tiny noarch 0.090-1.fc42 rawhide 154.4 KiB perl-I18N-Langinfo x86_64 0.24-512.fc42 rawhide 38.8 KiB perl-IO x86_64 1.55-512.fc42 rawhide 151.1 KiB perl-IO-Compress noarch 2.213-2.fc42 rawhide 1.0 MiB perl-IO-HTML noarch 1.004-13.fc41 rawhide 45.2 KiB perl-IO-Socket-IP noarch 0.43-1.fc42 rawhide 100.3 KiB perl-IO-Socket-SSL noarch 2.089-1.fc42 rawhide 703.3 KiB perl-IPC-Open3 noarch 1.22-512.fc42 rawhide 22.5 KiB perl-JSON noarch 4.10-6.fc41 rawhide 270.5 KiB perl-LWP-MediaTypes noarch 6.04-19.fc41 rawhide 79.0 KiB perl-MIME-Base32 noarch 1.303-21.fc41 rawhide 30.7 KiB perl-MIME-Base64 x86_64 3.16-511.fc41 rawhide 46.1 KiB perl-Math-BigInt noarch 1:2.0030.03-3.fc41 rawhide 957.7 KiB perl-Math-Complex noarch 1.62-512.fc42 rawhide 85.0 KiB perl-Net-SSLeay x86_64 1.94-7.fc41 rawhide 1.3 MiB perl-POSIX x86_64 2.20-512.fc42 rawhide 235.1 KiB perl-PathTools x86_64 3.91-511.fc41 rawhide 180.0 KiB perl-Pod-Escapes noarch 1:1.07-511.fc41 rawhide 24.9 KiB perl-Pod-Perldoc noarch 3.28.01-512.fc41 rawhide 163.7 KiB perl-Pod-Simple noarch 1:3.45-511.fc41 rawhide 560.9 KiB perl-Pod-Usage noarch 4:2.03-511.fc41 rawhide 84.8 KiB perl-Scalar-List-Utils x86_64 5:1.68-1.fc42 rawhide 148.9 KiB perl-SelectSaver noarch 1.02-512.fc42 rawhide 2.2 KiB perl-Socket x86_64 4:2.038-511.fc41 rawhide 124.0 KiB perl-Storable x86_64 1:3.32-511.fc41 rawhide 232.4 KiB perl-Switch noarch 2.17-31.fc41 rawhide 38.5 KiB perl-Symbol noarch 1.09-512.fc42 rawhide 6.8 KiB perl-Term-ANSIColor noarch 5.01-512.fc41 rawhide 97.5 KiB perl-Term-Cap noarch 1.18-511.fc41 rawhide 29.3 KiB perl-Text-Balanced noarch 2.06-511.fc41 rawhide 111.4 KiB perl-Text-ParseWords noarch 3.31-511.fc41 rawhide 13.6 KiB perl-Text-Tabs+Wrap noarch 2024.001-511.fc41 rawhide 22.6 KiB perl-Time-HiRes x86_64 4:1.9777-511.fc41 rawhide 119.9 KiB perl-Time-Local noarch 2:1.350-511.fc41 rawhide 69.0 KiB perl-TimeDate noarch 1:2.33-15.fc41 rawhide 95.2 KiB perl-URI noarch 5.31-1.fc42 rawhide 257.0 KiB perl-base noarch 2.27-512.fc42 rawhide 12.5 KiB perl-constant noarch 1.33-512.fc41 rawhide 26.2 KiB perl-deprecate noarch 0.04-512.fc42 rawhide 6.5 KiB perl-if noarch 0.61.000-512.fc42 rawhide 5.8 KiB perl-interpreter x86_64 4:5.40.0-512.fc42 rawhide 122.3 KiB perl-libnet noarch 3.15-512.fc41 rawhide 289.4 KiB perl-libs x86_64 4:5.40.0-512.fc42 rawhide 9.9 MiB perl-locale noarch 1.12-512.fc42 rawhide 6.5 KiB perl-mro x86_64 1.29-512.fc42 rawhide 45.6 KiB perl-overload noarch 1.37-512.fc42 rawhide 71.5 KiB perl-overloading noarch 0.02-512.fc42 rawhide 4.8 KiB perl-parent noarch 1:0.243-1.fc42 rawhide 10.2 KiB perl-podlators noarch 1:6.0.2-2.fc41 rawhide 317.5 KiB perl-vars noarch 1.05-512.fc42 rawhide 3.9 KiB Installing weak dependencies: perl-IO-Compress-Brotli x86_64 0.004001-14.fc41 rawhide 36.1 KiB perl-NDBM_File x86_64 1.17-512.fc42 rawhide 32.5 KiB perl-PerlIO-utf8_strict x86_64 0.010-8.fc41 rawhide 42.0 KiB Transaction Summary: Installing: 91 packages Total size of inbound packages is 12 MiB. Need to download 12 MiB. After this operation, 39 MiB extra will be used (install 39 MiB, remove 0 B).
As some sysadmin could be depending on the extra tools, I would like to limit the change to only new Fedora versions and later update to EPEL.
opendmarc
package would have a Suggest
on %{name}-tools%{?_isa} = %{version}-%{release}
Feedback
Benefit to Fedora
Reducing in ~90 packages the installation of opendmarc for those users that don't want to use the extra tools that are mainly for reporting.
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy:
Upgrade/compatibility impact
Early Testing (Optional)
Do you require 'QA Blueprint' support? Y/N
How To Test
User Experience
opendmarc
users that don't require reporting tools can remove up to 89 dependencies.
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)