%include /usr/lib/rpm/macros.perl
+%define pdir AMAVIS
Summary: New generation amavis
-Summary(pl): Amavis nowej generacji
+Summary(pl.UTF-8): Amavis nowej generacji
Name: amavis-ng
-Version: 0.1.4.1.orig
+Version: 0.1.6.9
Release: 3
License: GPL
Group: Applications/Mail
-Source0: http://dl.sourceforge.net/amavis/%{name}_%{version}.tar.gz
-Patch0: %{name}.patch
+Source0: http://dl.sourceforge.net/amavis/%{name}-%{version}.tar.gz
+# Source0-md5: e9086bfbd3fa2049860d176a0c30549e
+Source1: %{name}-logrotate
+Patch0: %{name}-quarantine.patch
+Patch1: %{name}-config.patch
+Patch2: %{name}-courier.patch
+Patch3: %{name}-mks.patch
+Patch4: %{name}-make.patch
URL: http://amavis.sourceforge.net/
-BuildRequires: perl-Config-IniFiles
-BuildRequires: perl-File-MMagic
BuildRequires: perl-devel
BuildRequires: perl-libnet
BuildRequires: rpm-perlprov
-Requires(pre): /usr/bin/getgid
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/userdel
-Requires(postun): /usr/sbin/groupdel
-Obsoletes: amavisd
-Obsoletes: amavis
+BuildRequires: rpmbuild(macros) >= 1.202
+BuildRequires: sendmail-devel
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires: perl-Config-IniFiles
+Requires: perl-File-MMagic
+Provides: group(amavis)
+Provides: user(amavis)
Obsoletes: AMaViS
+Obsoletes: amavis
+Obsoletes: amavisd
+Conflicts: logrotate < 3.7.4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# optionally used
-%define _noautoreq 'perl(Archive::Tar)' 'perl(Archive::Zip)' 'perl(Compress::Zlib)' 'perl(Convert::TNEF)' 'perl(Convert::UUlib)' 'perl(MIME::Parser)' 'perl(File::Scan)'
+%define _noautoreq 'perl(File::Scan)'
%description
AMaViS-ng is a modular rewrite of amavisd and amavis-perl. It scans
several MTA setups. Unlike amavis-perl and amavisd, there is no need
for build-time configuration.
-%description -l pl
-AMaViS-ng to przepisana w sposób modularny wersja projektów amavisd i
-amavis-perl. Skanuje pocztê elektroniczn± na okoliczno¶æ gro¼nego kodu
-wewn±trz za³±czników i archiwów, nie pozwalaj±c na dorêczenie w
-przypadku wykrycia. Wspiera integracjê ró¿nych zewnêtrznych skanerów
-antywirusowych, ³adnie integruje siê z ró¿nymi serwerami pocztowymi.
-W przeciwieñstwie do amavis-perl i amavisd, nie wymaga konfiguracji w
+%description -l pl.UTF-8
+AMaViS-ng to przepisana w sposób modularny wersja projektów amavisd i
+amavis-perl. Skanuje pocztę elektroniczną na okoliczność groźnego kodu
+wewnątrz załączników i archiwów, nie pozwalając na doręczenie w
+przypadku wykrycia. Wspiera integrację różnych zewnętrznych skanerów
+antywirusowych, ładnie integruje się z różnymi serwerami pocztowymi. W
+przeciwieństwie do amavis-perl i amavisd, nie wymaga konfiguracji w
czasie budowania.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+# precompiled x86 binary
+rm -f amavis-milter/amavis-milter
%build
%{__perl} Makefile.PL \
INSTALLDIRS=vendor
%{__make}
+cd doc
+%{__make}
+
+cd ../amavis-milter
+%{__make} \
+ CC="%{__cc}" \
+ CFLAGS="%{rpmcflags}"
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/logrotate.d,%{_infodir},%{_sbindir}}
+install -d $RPM_BUILD_ROOT/var/spool/amavis-ng/{problems,quarantine,queue,tmp}
+install -d $RPM_BUILD_ROOT/var/{run/amavis-ng,log/{archive/amavis-ng,amavis-ng}}
+install -d $RPM_BUILD_ROOT%{_datadir}/amavis-ng
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/amavis-ng
+install etc/amavis.conf $RPM_BUILD_ROOT%{_sysconfdir}
+install doc/amavis-ng.info $RPM_BUILD_ROOT%{_infodir}
+install amavis-milter/amavis-milter $RPM_BUILD_ROOT%{_sbindir}
+install magic.mime $RPM_BUILD_ROOT%{_datadir}/amavis-ng
%clean
rm -rf $RPM_BUILD_ROOT
%pre
-if [ -n "`getgid amavis`" ]; then
- if [ "`getgid amavis`" != "97" ]; then
- echo "Warning: group amavis doesn't have gid=97. Correct this before installing amavis" 1>&2
- exit 1
- fi
-else
- echo "adding group amavis GID=97"
- /usr/sbin/groupadd -g 97 -r -f amavis
+if [ "$1" = "1" ]; then
+ echo
+ echo 'Type "info amavis-ng" to get help'
+ echo
fi
-if [ -n "`id -u amavis 2>/dev/null`" ]; then
- if [ "`id -u amavis`" != "97" ]; then
- echo "Error: user amavis doesn't have uid=97. Correct this before installing amavis." 1>&2
- exit 1
- fi
-else
- echo "adding user amavis UID=97"
- /usr/sbin/useradd -u 97 -r -d /var/spool/amavis -s /bin/false -c "Anti Virus Checker" -g nobody amavis 1>&2
+%groupadd -g 97 -r -f amavis
+%useradd -u 97 -r -d /var/spool/amavis -s /bin/false -c "Anti Virus Checker" -g nobody amavis
+
+%triggerin -- courier
+chown -R daemon /var/{spool,log}/amavis-ng
+if [ -f /var/lock/subsys/courier ]; then
+ %{_sbindir}/filterctl stop perlfilter
+ %{_sbindir}/filterctl start perlfilter
fi
%postun
if [ "$1" = "0" ]; then
- echo "Removing user amavis"
- /usr/sbin/userdel amavis
- echo "Removing group amavis"
- /usr/sbin/groupdel amavis
+ %userremove amavis
+ %groupremove amavis
fi
%files
%defattr(644,root,root,755)
-%doc doc/*
+%doc doc/README* doc/ChangeLog doc/RELEASE-NOTES
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/*
-%{_datadir}/amavis
-%attr(750,amavis,sweep) /var/spool/amavis
+%attr(770,amavis,amavis) /var/log/amavis-ng
+%attr(770,amavis,amavis) /var/log/archive/amavis-ng
+%attr(750,amavis,amavis) /var/run/amavis-ng
+%attr(770,amavis,amavis) /var/spool/amavis-ng
+%attr(644,amavis,amavis) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/amavis.conf
+%{_datadir}/amavis-ng
+%{_infodir}/amavis-ng.info*
%{perl_vendorlib}/AMAVIS.pm
%{perl_vendorlib}/AMAVIS
%{_mandir}/man1/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/amavis-ng