Skip to content

Dead code removal, restore RPM spec - #364

Merged
msimerson merged 2 commits into
masterfrom
dead-code-removal
Oct 8, 2026
Merged

msimerson merged 2 commits into
masterfrom
dead-code-removal

Conversation

@msimerson

@msimerson msimerson commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Removes plugins and scripts for services that no longer exist, cleans up the references to them, and restores the RPM spec file.

Removed

  • Virus plugins: virus/klez_filter, and the plugins for scanners their vendors discontinued: aveclient, bitdefender, hbedv, kavscanner and sophie.
  • dspam: DSPAM has been unmaintained since 2012.
  • domainkeys: DomainKeys gave way to DKIM in 2007; use dkim.
  • bin/geolite-mirror-simple.pl: MaxMind retired the legacy GeoLite files in 2019.
  • bin/install_deps.pl: use cpanm --installdeps ..
  • config.sample/public_suffix_list and its t/config copy: nothing read them.
  • STATUS.
  • quit_fortune is dropped from config.sample/plugins.

UPGRADING says to remove the deleted plugins from config/plugins, since qpsmtpd won't start while it lists a missing plugin.

References cleaned up

  • MANIFEST, plugins/registry.txt, config.sample/plugins, t/config/plugins, log/summarize and log/log2sql no longer name the removed plugins.
  • The docs (docs/hooks.md, docs/logging.md, README.plugins.md) and the karma and naughty POD no longer name dspam or domainkeys, or link to the defunct svn repository and wiki.
  • Makefile.PL's MY::libscan and MANIFEST.SKIP's .svn rule are gone.
  • CI uses actions/checkout@v6.

RPM

packaging/rpm/qpsmtpd.spec.in was removed by accident along with Apache::Qpsmtpd in 1.01 (a8b6d98), so packaging/rpm couldn't build. It's restored and updated:

  • The apache and xinetd subpackages and their removed source files are dropped.
  • It requires Perl 5.32 and the modules in Makefile.PL's PREREQ_PM.
  • The packaged docs are CHANGELOG.md and UPGRADING.md.
  • The spool directory is smtpd:smtpd, mode 2750, and the package writes spool_perms to match, so qpsmtpd doesn't warn at startup. To scan with clamd, add clamav to the smtpd group.
  • The URL points to GitHub, and %changelog has a 1.02-1 entry.

make update generates the spec. It hasn't been tested with rpmbuild.

@msimerson
msimerson force-pushed the dead-code-removal branch 3 times, most recently from bfa05a7 to b4e8772 Compare October 8, 2026 16:40
@msimerson
msimerson changed the base branch from master to dnsbl-fixes October 8, 2026 16:40
@msimerson
msimerson requested a balanced review from Copilot October 8, 2026 17:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The restored RPM configuration has spool ownership and permissions issues, and some documentation remains inconsistent.

4 open findings
What changed in this PR

Removes obsolete plugins, utilities, fixtures, and references while restoring RPM packaging support.

Changes:

  • Removes discontinued virus scanners, DSPAM, DomainKeys, and unused utilities.
  • Updates manifests, configuration, logging, and upgrade documentation.
  • Restores the RPM spec and upgrades actions/checkout.
File Description
UPGRADING.md Documents removed plugins and replacements.
t/​config/​public_suffix_list Removes unused test fixture.
t/​config/​plugins Removes obsolete plugin entries.
STATUS Removes outdated roadmap.
run.forkserver Removes obsolete wiki link.
README.plugins.md Removes stale SVN reference.
plugins/​virus/​sophie Removes discontinued scanner plugin.
plugins/​virus/​klez_filter Removes obsolete Klez filter.
plugins/​virus/​kavscanner Removes discontinued scanner plugin.
plugins/​virus/​hbedv Removes discontinued scanner plugin.
plugins/​virus/​bitdefender Removes discontinued scanner plugin.
plugins/​virus/​aveclient Removes discontinued scanner plugin.
plugins/​registry.txt Removes deleted plugins from registry.
plugins/​naughty Removes DSPAM-specific guidance.
plugins/​karma Updates heavy-filter documentation.
plugins/​dspam Removes unmaintained DSPAM integration.
plugins/​domainkeys Removes superseded DomainKeys support.
packaging/​rpm/​qpsmtpd.spec.in Restores RPM packaging specification.
MANIFEST.SKIP Removes SVN-specific exclusion.
MANIFEST Removes deleted files from distribution.
Makefile.PL Removes SVN directory filtering.
log/​summarize Removes deleted plugin fields.
log/​log2sql Removes DSPAM-specific parsing.
docs/​logging.md Updates logging examples.
docs/​hooks.md Removes obsolete references.
config.sample/​plugins Removes obsolete sample entries.
CHANGELOG.md Records removals and RPM restoration.
bin/​install_deps.pl Removes outdated dependency installer.
bin/​geolite-mirror-simple.pl Removes retired GeoLite downloader.
.github/​workflows/​ci.yml Upgrades checkout action to v6.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packaging/rpm/qpsmtpd.spec.in Resolved
Comment thread packaging/rpm/qpsmtpd.spec.in Resolved
Comment thread docs/logging.md Resolved
Comment thread plugins/karma Resolved
Base automatically changed from dnsbl-fixes to master October 8, 2026 18:07
see CHANGELOG entries
@msimerson msimerson changed the title Dead code removal Dead code removal, restore RPM spec Oct 8, 2026
@msimerson
msimerson merged commit d93933c into master Oct 8, 2026
3 checks passed
@msimerson
msimerson deleted the dead-code-removal branch October 8, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants