Skip to content

Instantly share code, notes, and snippets.

@logic
Created January 31, 2017 02:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save logic/fc8083a2c335d1125b6fddf0d49708b6 to your computer and use it in GitHub Desktop.
Save logic/fc8083a2c335d1125b6fddf0d49708b6 to your computer and use it in GitHub Desktop.
DCC spec for Fedora
%define homedir %{_sysconfdir}/dcc
Summary: DCC is an anti-spam content filter
Name: dcc
Version: 1.3.158
Release: 1%{?dist}
URL: http://www.dcc-servers.net/dcc/
Source0: http://www.dcc-servers.net/dcc/source/old/dcc-%{version}.tar.Z
License: distributable for non-commercial use
BuildRequires: sendmail-devel
%description
The Distributed Checksum Clearinghouses or DCC is an anti-spam content
filter. The counts can be used by SMTP servers and mail user agents to
detect and reject or filter spam or unsolicited bulk mail. DCC servers
exchange or "flood" common checksums. The checksums include values that
are constant across common variations in bulk messages, including
"personalizations".
%prep
%setup -q -n dcc-%{version}
%build
sed -i 's/DCC_MODE\s*=\s*555/DCC_MODE = 755/' Makefile.inc.in
export CFLAGS="${CFLAGS:-%optflags}"
%{_configure} \
--homedir=%{homedir} \
--bindir=%{_bindir} \
--libexecdir=%{_libexecdir}/dcc \
--mandir=%{_mandir} \
--with-installroot=%{buildroot} \
--with-cgi-bin=%{_datadir}/dcc \
--with-rundir=%{_localstatedir}/run/dcc
%make_build
%install
export CHOWNPROG=:
%make_install
%files
%defattr(-,root,root,-)
%doc LICENSE RESTRICTIONS CHANGES FAQ.html INSTALL.html misc
%dir %{homedir}
%config(noreplace) %{homedir}/dcc_conf
%config(noreplace) %{homedir}/flod
%config(noreplace) %{homedir}/grey_flod
%config(noreplace) %{homedir}/grey_whitelist
%config(noreplace) %{homedir}/ids
%config(noreplace) %{homedir}/log
%config(noreplace) %{homedir}/map
%config(noreplace) %{homedir}/map.txt
%config(noreplace) %{homedir}/whiteclnt
%config(noreplace) %{homedir}/whitecommon
%config(noreplace) %{homedir}/whitelist
%attr(4555,root,root) %{_bindir}/cdcc
%attr(4555,root,root) %{_bindir}/dccproc
%{_bindir}/dccif-test
%{_libexecdir}/%{name}
%{_datadir}/%{name}
%{_mandir}
%changelog
* Mon Jan 30 2017 Ed Marshall <esm@logic.net> - 1.3.158-1
- Initial build.
@logic
Copy link
Author

logic commented Jan 31, 2017

This is basically a rewrite of a much older ATrpms spec that Axel Thimm put together, and aside from the crazy /etc/dcc/log thing should be mostly compliant with Fedora's packaging guidelines. As luck would have it, the Fedora SELinux policy already has what appear to be correct policies covering this as well.

Still needs a systemd service unit for dccifd, and possibly a timer unit for dccd updates (cron-dccd).

Sadly, the license for this is a mess (field-of-endeavor restrictions on top of what would otherwise be a normal MITish license), so I won't be putting this up on COPR.
🙁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment