%define pdir Mail
%define pnam SpamAssassin
%define sa_version %(printf %d.%03d%03d $(echo %{version} | tr '.' ' '))
-%include /usr/lib/rpm/macros.perl
Summary: A spam filter for email which can be invoked from mail delivery agents
Summary(pl.UTF-8): Filtr antyspamowy, przeznaczony dla programów dostarczających pocztę (MDA)
Name: spamassassin
-Version: 3.4.1
-Release: 8
+Version: 4.0.1
+Release: 1
License: Apache v2.0
Group: Applications/Mail
-Source0: http://ftp.ps.pl/pub/apache//spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2
-# Source0-md5: 0db5d27d7b782ff5eadee12b95eae84c
+Source0: https://dlcdn.apache.org//spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2
+# Source0-md5: b42eaf00f2f5a013813ae051ab2c63b6
Source1: %{name}.sysconfig
Source2: %{name}-spamd.init
Source3: %{name}-default.rc
Source5: sa-update.sh
Source6: sa-update.cron
Source7: spamassassin-official.conf
-Source8: sought.conf
-Source9: cronjob-sa-update.service
-Source10: cronjob-sa-update.timer
-Patch0: spamassassin-3.4.1-netdns.patch
-Patch1: %{name}-perl-fix.patch
-Patch2: bug_771408_perl_version
-Patch3: bug_828552-openssl-1.1.0
-Patch4: bug-869408-unescaped-brace-in-regex.patch
-Patch5: disable_sslv3
-Patch6: dkim_subdomains
-Patch7: fix-uninitialized-concat
+Patch0: config-dir.patch
URL: http://spamassassin.apache.org/
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.16
BuildRequires: perl-DBI
BuildRequires: perl-DB_File
BuildRequires: perl-Digest-SHA1 >= 2.10
+BuildRequires: perl-Geo-IP
BuildRequires: perl-HTML-Parser >= 3
BuildRequires: perl-IO-Socket-INET6 >= 2.51
BuildRequires: perl-IO-Socket-SSL
BuildRequires: perl-Mail-SPF-Query
BuildRequires: perl-Net-DNS >= 0.65-3
BuildRequires: perl-Net-Ident
+BuildRequires: perl-Net-LibIDN
+BuildRequires: perl-Net-LibIDN2
+BuildRequires: perl-Net-Patricia
BuildRequires: perl-NetAddr-IP >= 4.000
+BuildRequires: perl-Perl-Critic-Policy-Perlsecret
#BuildRequires: perl-Razor2
+BuildRequires: perl-Text-Diff
BuildRequires: perl-devel >= 1:5.8.0
BuildRequires: perl-libwww
BuildRequires: re2c
BuildRequires: perl-Mail-SPF
BuildRequires: perl-MailTools
BuildRequires: perl-Razor > 2.61
+BuildRequires: tesseract-data-lang-en
%endif
Requires: perl-Mail-SpamAssassin = %{version}-%{release}
Obsoletes: SpamAssassin
To enable spamassassin, if you are receiving mail locally, simply add
this line to your ~/.procmailrc:
-INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
+INCLUDERC=/etc/spamassassin/spamassassin-default.rc
To filter spam for all users, add that line to /etc/procmailrc
(creating if necessary).
Aby uruchomić spamassassina dla lokalnie przychodzącej poczty,
wystarczy dodać do własnego ~/.procmailrc linię:
-INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
+INCLUDERC=/etc/spamassassin/spamassassin-default.rc
Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię
do pliku /etc/procmailrc (tworząc go w razie potrzeby).
Requires: perl-Mail-SpamAssassin = %{version}-%{release}
Requires: rc-scripts
Suggests: perl-Apache-Test
+Suggests: perl-IO-Socket-INET6
Suggests: perl-IO-Socket-IP
Suggests: perl-IO-Socket-SSL
-Suggests: perl-IO-Socket-INET6
Suggests: perl-Net-Ident
%description spamd
To enable spamassassin, if you are receiving mail locally, simply add
this line to your ~/.procmailrc:
-INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
+INCLUDERC=/etc/spamassassin/spamassassin-spamc.rc
To filter spam for all users, add that line to /etc/procmailrc
(creating if necessary).
Aby uruchomić spamassassina dla lokalnie przychodzącej poczty,
wystarczy dodać do własnego ~/.procmailrc linię:
-INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
+INCLUDERC=/etc/spamassassin/spamassassin-spamc.rc
Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię
do pliku /etc/procmailrc (tworząc go w razie potrzeby).
Requires: gcc
Requires: glibc-devel
Requires: make
-Requires: perl(ExtUtils::MakeMaker)
Requires: perl-Mail-SpamAssassin = %{version}-%{release}
Requires: perl-devel
+Requires: perl-devel
Requires: re2c >= 0.10
%description compile
%prep
%setup -q -n %{pdir}-%{pnam}-%{version}
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-
-# disable broken test
-%{__mv} t/sa_compile.t{,.disabled}
-
-# this test needs network, does not work on builders
-%{__mv} t/dnsbl_subtests.t{,.disabled}
%build
# for spamc/configure
INSTALLDIRS=vendor \
PREFIX=%{_prefix} \
SYSCONFDIR=%{_sysconfdir} \
+ CONFDIR=%{_sysconfdir}/spamassassin \
DATADIR=%{_datadir}/spamassassin \
ENABLE_SSL=yes \
CONTACT_ADDRESS="postmaster@localhost" \
CC="%{__cc}" \
OPTIMIZE="%{rpmcflags}"
-%{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
-%{__perl} -T sa-compile.pl --siteconfigpath=rules
-
%{?with_tests:%{__make} -j1 TEST_VERBOSE=1 test}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin/channel.d}
+install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/spamassassin/channel.d}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
-install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin
+install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin
install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channel.d
-install %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channel.d
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin/channel.d
# sa-update, sa-compile
install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
-touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin/sa-update-keys
+touch $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
-# Use %{_sysconfdir}/mail/spamassassin/channel.d/*.conf for new channels
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/spamassassin/channels << 'EOF'
+# Use %{_sysconfdir}/spamassassin/channel.d/*.conf for new channels
EOF
%clean
/sbin/chkconfig --del spamd
fi
+%triggerun -n perl-Mail-SpamAssassin -- perl-Mail-SpamAssassin < 3.4.2-2
+if [ $1 -le 1 ]; then
+ exit 0
+fi
+[ -d /etc/spamassassin ] || mkdir /etc/spamassassin 2>/dev/null || :
+for f in /etc/mail/spamassassin/*.{cf,pre}; do
+ f=${f##*/}
+ [ -f "/etc/mail/spamassassin/$f" ] && mv "/etc/mail/spamassassin/$f" "/etc/spamassassin/$f" 2>/dev/null || :
+done
+[ -n "$(find /etc/mail/spamassassin -type d -empty 2>/dev/null)" ] && rmdir /etc/mail/spamassassin 2>/dev/null || :
+[ -n "$(find /etc/mail -type d -empty 2>/dev/null)" ] && rmdir /etc/mail 2>/dev/null || :
+
+%triggerun -- %{name} < 3.4.2-2
+if [ $1 -le 1 ]; then
+ exit 0
+fi
+[ -d /etc/spamassassin ] || mkdir /etc/spamassassin 2>/dev/null || :
+[ -f /etc/mail/spamassassin/spamassassin-default.rc ] && mv /etc/mail/spamassassin/spamassassin-default.rc /etc/spamassassin 2>/dev/null || :
+[ -n "$(find /etc/mail/spamassassin -type d -empty 2>/dev/null)" ] && rmdir /etc/mail/spamassassin 2>/dev/null || :
+[ -n "$(find /etc/mail -type d -empty 2>/dev/null)" ] && rmdir /etc/mail 2>/dev/null || :
+
+%triggerun spamc -- spamassassin-spamc < 3.4.2-2
+if [ $1 -le 1 ]; then
+ exit 0
+fi
+[ -d /etc/spamassassin ] || mkdir /etc/spamassassin 2>/dev/null || :
+[ -f /etc/mail/spamassassin/spamassassin-spamc.rc ] && mv /etc/mail/spamassassin/spamassassin-spamc.rc /etc/spamassassin 2>/dev/null || :
+[ -n "$(find /etc/mail/spamassassin -type d -empty 2>/dev/null)" ] && rmdir /etc/mail/spamassassin 2>/dev/null || :
+[ -n "$(find /etc/mail -type d -empty 2>/dev/null)" ] && rmdir /etc/mail 2>/dev/null || :
+
+%triggerpostun -n perl-Mail-SpamAssassin -- perl-Mail-SpamAssassin < 3.4.2-2
+echo
+echo "Warning! Configuration has been migrated to /etc/spamassassin."
+echo
+
%triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
# temp hack, should we care of the dead link?
ln -s spamd /etc/rc.d/init.d/spamassassin
%defattr(644,root,root,755)
%doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
%doc procmailrc.example sql/ ldap/
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/spamassassin/spamassassin-default.rc
%attr(755,root,root) %{_bindir}/sa-learn
%attr(755,root,root) %{_bindir}/sa-awl
%attr(755,root,root) %{_bindir}/spamassassin
# It's needed for help of spamassassin command.
%{perl_vendorlib}/spamassassin-run.pod
+%{_mandir}/man1/sa-check_spamd.1*
%{_mandir}/man1/sa-learn.1*
%{_mandir}/man1/spamassassin.1*
%{_mandir}/man1/spamassassin-run.1*
%files spamc
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/spamassassin/spamassassin-spamc.rc
%attr(755,root,root) %{_bindir}/spamc
%{_mandir}/man1/spamc.1*
%files update
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/channels
-%dir %{_sysconfdir}/mail/spamassassin/channel.d
-%{_sysconfdir}/mail/spamassassin/channel.d/spamassassin-official.conf
-%{_sysconfdir}/mail/spamassassin/channel.d/sought.conf
-%attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
-%attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/spamassassin/channels
+%dir %{_sysconfdir}/spamassassin/channel.d
+%{_sysconfdir}/spamassassin/channel.d/spamassassin-official.conf
+%attr(700,root,root) %dir %{_sysconfdir}/spamassassin/sa-update-keys
+%attr(700,root,root) %ghost %{_sysconfdir}/spamassassin/sa-update-keys/*
%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
%attr(755,root,root) %{_bindir}/sa-update
%attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
%files -n perl-Mail-SpamAssassin
%defattr(644,root,root,755)
%doc sample-nonspam.txt sample-spam.txt
-%dir %{_sysconfdir}/mail/spamassassin
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
-%exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
+%dir %{_sysconfdir}/spamassassin
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/spamassassin/*.pre
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/spamassassin/*.cf
+%exclude %{_sysconfdir}/spamassassin/sa-update-keys
%dir %{_datadir}/spamassassin
%config(noreplace) %{_datadir}/spamassassin/languages
%config(noreplace) %{_datadir}/spamassassin/user_prefs.template