3054d56
#global snapshot	rc1
b77bb64
b77bb64
## Fedora Extras specific customization below...
dc7a386
%bcond_without		fedora
019ada6
%bcond_with		unrar
b77bb64
##
b77bb64
a71f8e3
%global username	clamav
a71f8e3
%global homedir		%_var/lib/clamav
a71f8e3
%global freshclamlog	%_var/log/freshclam.log
a71f8e3
%global milteruser	clamilt
0981a17
%global milterlog	%_var/log/clamav-milter.log
a71f8e3
%global milterstatedir	%_var/run/clamav-milter
a71f8e3
%global pkgdatadir	%_datadir/%name
cvsextras 47272f4
0981a17
%global scanuser	clamscan
0981a17
%global scanstatedir	%_var/run/clamd.scan
5ec291e
d52962c
%{!?release_func:%global release_func() %1%{?dist}}
5ec291e
cvsextras 47272f4
Summary:	End-user tools for the Clam Antivirus scanner
cvsextras 47272f4
Name:		clamav
f2ee561
Version:	0.95.3
f2ee561
Release:	%release_func 1100%{?snapshot:.%snapshot}
4d68735
019ada6
License:	%{?with_unrar:proprietary}%{!?with_unrar:GPLv2}
cvsextras 47272f4
Group:		Applications/File
cvsextras 47272f4
URL:		http://www.clamav.net
46c82f4
%if 0%{?with_unrar:1}
1f82fa9
Source0:	http://download.sourceforge.net/sourceforge/clamav/%name-%version%{?snapshot}.tar.gz
1f82fa9
Source999:	http://download.sourceforge.net/sourceforge/clamav/%name-%version%{?snapshot}.tar.gz.sig
46c82f4
%else
dc7a386
# Unfortunately, clamav includes support for RAR v3, derived from GPL
46c82f4
# incompatible unrar from RARlabs. We have to pull this code out.
693b061
# tarball was created by
1f82fa9
#   make clean-sources [TARBALL=<original-tarball>] [VERSION=<version>]
1f82fa9
Source0:	%name-%version%{?snapshot}-norar.tar.bz2
46c82f4
%endif
cvsextras 47272f4
Source1:	clamd-wrapper
cvsextras 47272f4
Source2:	clamd.sysconfig
cvsextras 47272f4
Source3:	clamd.logrotate
cvsextras 47272f4
Source5:	clamd-README
cvsextras 47272f4
Source6:	clamav-update.logrotate
cvsextras 47272f4
Source7:	clamd.SERVICE.init
cvsextras 47272f4
Source8:	clamav-notify-servers
019ada6
Patch24:	clamav-0.92-private.patch
34e19ca
Patch25:	clamav-0.92-open.patch
0981a17
Patch26:	clamav-0.95-cliopts.patch
f2ee561
Patch27:	clamav-0.95.3-umask.patch
6ff0a52
BuildRoot:	%_tmppath/%name-%version-%release-root
6ff0a52
Requires:	clamav-lib = %version-%release
cvsextras 47272f4
Requires:	data(clamav)
1645496
BuildRequires:	zlib-devel bzip2-devel gmp-devel curl-devel
3054d56
BuildRequires:	ncurses-devel
a640334
BuildRequires:	%_includedir/tcpd.h
b77bb64
BuildRequires:	bc
cvsextras 47272f4
fead405
%package filesystem
fead405
Summary:	Filesystem structure for clamav
fead405
Group:		Applications/File
0981a17
BuildArch:	noarch
0981a17
Provides:	user(%username)  = 4
0981a17
Provides:	group(%username) = 4
fead405
# Prevent version mix
fead405
Conflicts:	%name < %version-%release
fead405
Conflicts:	%name > %version-%release
fead405
BuildRequires:	fedora-usermgmt-devel
fead405
%{?FE_USERADD_REQ}
fead405
cvsextras 47272f4
%package lib
cvsextras 47272f4
Summary:	Dynamic libraries for the Clam Antivirus scanner
cvsextras 47272f4
Group:		System Environment/Libraries
cvsextras 47272f4
Requires:	data(clamav)
cvsextras 47272f4
cvsextras 47272f4
%package devel
4563bd9
Summary:	Header files and libraries for the Clam Antivirus scanner
cvsextras 47272f4
Group:		Development/Libraries
b77bb64
Source100:	clamd-gen
fead405
Requires:	clamav-lib        = %version-%release
fead405
Requires:	clamav-filesystem = %version-%release
b77bb64
Requires(pre):	%_libdir/pkgconfig
019ada6
Requires:	pkgconfig
cvsextras 47272f4
cvsextras 47272f4
%package data
4563bd9
Summary:	Virus signature data for the Clam Antivirus scanner
cvsextras 47272f4
Group:		Applications/File
0981a17
BuildArch:	noarch
fead405
Requires(pre):		clamav-filesystem = %version-%release
fead405
Requires(postun):	clamav-filesystem = %version-%release
fead405
Provides:		data(clamav) = full
fead405
Conflicts:		data(clamav) < full
fead405
Conflicts:		data(clamav) > full
fead405
fead405
%package data-empty
fead405
Summary:	Empty data package for the Clam Antivirus scanner
fead405
Group:		Applications/File
3717d73
BuildArch:	noarch
fead405
Provides:	data(clamav) = empty
fead405
Conflicts:	data(clamav) < empty
fead405
Conflicts:	data(clamav) > empty
cvsextras 47272f4
cvsextras 47272f4
%package update
4563bd9
Summary:	Auto-updater for the Clam Antivirus scanner data-files
cvsextras 47272f4
Group:		Applications/File
e5f3880
Source200:	freshclam-sleep
e5f3880
Source201:	freshclam.sysconfig
e5f3880
Source202:	clamav-update.cron
fead405
Requires:		clamav-filesystem = %version-%release
cvsextras 47272f4
Requires(pre):		/etc/cron.d
cvsextras 47272f4
Requires(postun):	/etc/cron.d
e5f3880
Requires(post):		%__chown %__chmod
6ff0a52
Requires(post):		group(clamav)
cvsextras 47272f4
cvsextras 47272f4
%package server
4563bd9
Summary:	Clam Antivirus scanner server
cvsextras 47272f4
Group:		System Environment/Daemons
cvsextras 47272f4
Requires:	data(clamav)
fead405
Requires:	clamav-filesystem = %version-%release
fead405
Requires:	clamav-lib        = %version-%release
f1f8b45
0981a17
%package server-sysvinit
f1f8b45
Summary:	SysV initscripts for clamav server
f1f8b45
Group:		System Environment/Daemons
3717d73
BuildArch:	noarch
f1f8b45
Provides:	init(clamav-server) = sysv
f1f8b45
Requires:	clamav-server = %version-%release
cvsextras 47272f4
Requires(pre):		%_initrddir
cvsextras 47272f4
Requires(postun):	%_initrddir
0981a17
Provides:	clamav-server-sysv = %version-%release
0981a17
Obsoletes:	clamav-server-sysv < %version-%release
cvsextras 47272f4
0981a17
0981a17
%package scanner
0981a17
Summary:	Clamav scanner daemon
0981a17
Group:		System Environment/Daemons
0981a17
BuildArch:	noarch
0981a17
Requires:	init(clamav-scanner)
9cba463
Provides:	user(%scanuser)  = 49
9cba463
Provides:	group(%scanuser) = 49
0981a17
Requires:	clamav-server = %version-%release
0981a17
0981a17
%package scanner-sysvinit
0981a17
Summary:	SysV initscripts for clamav scanner daemon
46c82f4
Group:		System Environment/Daemons
0981a17
BuildArch:	noarch
0981a17
Provides:	init(clamav-scanner) = sysv
0981a17
Requires:	clamav-server-sysvinit = %version-%release
0981a17
Requires:	clamav-scanner = %version-%release
0981a17
Requires(pre):		%_initrddir
0981a17
Requires(postun):	%_initrddir initscripts
0981a17
Requires(post):		chkconfig
0981a17
Requires(preun):	chkconfig initscripts
46c82f4
0981a17
%package scanner-upstart
0981a17
Summary:	Upstart initscripts for clamav scanner daemon
cvsextras 47272f4
Group:		System Environment/Daemons
0981a17
BuildArch:	noarch
0981a17
Source410:	clamd.scan.upstart
0981a17
Provides:	init(clamav-scanner) = upstart
0981a17
Requires:	clamav-scanner = %version-%release
0981a17
# implicates a conflict with upstart 0.5+
dc7a386
Requires(pre):		/etc/event.d
0981a17
Requires(post):		/usr/bin/killall
0981a17
Requires(postun):	/sbin/initctl
0981a17
0981a17
0981a17
%package milter
0981a17
Summary:	Milter module for the Clam Antivirus scanner
0981a17
Group:		System Environment/Daemons
0981a17
Source300:	README.fedora
cvsextras 47272f4
Requires:	init(clamav-milter)
6ff0a52
BuildRequires:	sendmail-devel
6ff0a52
BuildRequires:	fedora-usermgmt-devel
0981a17
Provides:	user(%milteruser)  = 5
0981a17
Provides:	group(%milteruser) = 5
f1f8b45
Requires(post):	coreutils
f1f8b45
%{?FE_USERADD_REQ}
f1f8b45
46c82f4
Provides:	milter(clamav) = sendmail
0981a17
Provides:	milter(clamav) = postfix
46c82f4
0981a17
Provides:	clamav-milter-core = %version-%release
0981a17
Obsoletes:	clamav-milter-core < %version-%release
0981a17
Provides:	clamav-milter-sendmail = %version-%release
0981a17
Obsoletes:	clamav-milter-sendmail < %version-%release
0981a17
0981a17
%package milter-sysvinit
f1f8b45
Summary:	SysV initscripts for the clamav sendmail-milter
f1f8b45
Group:		System Environment/Daemons
3717d73
BuildArch:	noarch
0981a17
Source320:	clamav-milter.sysv
0981a17
Provides:	init(clamav-milter) = sysvinit
0981a17
Requires:	clamav-milter = %version-%release
f1f8b45
Requires(post):		user(%milteruser) clamav-milter
f1f8b45
Requires(preun):	user(%milteruser) clamav-milter
cvsextras 47272f4
Requires(pre):		%_initrddir
5f98a14
Requires(postun):	%_initrddir initscripts
f1f8b45
Requires(post):		chkconfig
5f98a14
Requires(preun):	chkconfig initscripts
53920d9
Provides:		clamav-milter-sysv = %version-%release
53920d9
Obsoletes:		clamav-milter-sysv < %version-%release
0981a17
0981a17
%package milter-upstart
0981a17
Summary:	Upstart initscripts for the clamav sendmail-milter
0981a17
Group:		System Environment/Daemons
0981a17
BuildArch:	noarch
0981a17
Source310:	clamav-milter.upstart
0981a17
Provides:	init(clamav-milter) = upstart
0981a17
Requires:	clamav-milter = %version-%release
0981a17
# implicates a conflict with upstart 0.5+
dc7a386
Requires(pre):		/etc/event.d
0981a17
Requires(post):		/usr/bin/killall
0981a17
Requires(postun):	/sbin/initctl
cvsextras 47272f4
cvsextras 47272f4
cvsextras 47272f4
%description
cvsextras 47272f4
Clam AntiVirus is an anti-virus toolkit for UNIX. The main purpose of this
cvsextras 47272f4
software is the integration with mail servers (attachment scanning). The
cvsextras 47272f4
package provides a flexible and scalable multi-threaded daemon, a command
cvsextras 47272f4
line scanner, and a tool for automatic updating via Internet. The programs
cvsextras 47272f4
are based on a shared library distributed with the Clam AntiVirus package,
cvsextras 47272f4
which you can use with your own software. The virus database is based on
cvsextras 47272f4
the virus database from OpenAntiVirus, but contains additional signatures
cvsextras 47272f4
(including signatures for popular polymorphic viruses, too) and is KEPT UP
cvsextras 47272f4
TO DATE.
cvsextras 47272f4
fead405
%description filesystem
fead405
This package provides the filesystem structure and contains the
fead405
user-creation scripts required by clamav.
b77bb64
cvsextras 47272f4
%description lib
cvsextras 47272f4
This package contains dynamic libraries shared between applications
cvsextras 47272f4
using the Clam Antivirus scanner.
cvsextras 47272f4
cvsextras 47272f4
%description devel
cvsextras 47272f4
This package contains headerfiles and libraries which are needed to
cvsextras 47272f4
build applications using clamav.
cvsextras 47272f4
cvsextras 47272f4
%description data
cvsextras 47272f4
This package contains the virus-database needed by clamav. This
cvsextras 47272f4
database should be updated regularly; the 'clamav-update' package
fead405
ships a corresponding cron-job. This package and the
fead405
'clamav-data-empty' package are mutually exclusive.
fead405
fead405
Use -data when you want a working (but perhaps outdated) virus scanner
fead405
immediately after package installation.
fead405
fead405
Use -data-empty when you are updating the virus database regulary and
fead405
do not want to download a >5MB sized rpm-package with outdated virus
fead405
definitions.
fead405
fead405
fead405
%description data-empty
fead405
This is an empty package to fulfill inter-package dependencies of the
fead405
clamav suite. This package and the 'clamav-data' package are mutually
fead405
exclusive.
fead405
fead405
Use -data when you want a working (but perhaps outdated) virus scanner
fead405
immediately after package installation.
fead405
fead405
Use -data-empty when you are updating the virus database regulary and
fead405
do not want to download a >5MB sized rpm-package with outdated virus
fead405
definitions.
fead405
cvsextras 47272f4
cvsextras 47272f4
%description update
cvsextras 47272f4
This package contains programs which can be used to update the clamav
cvsextras 47272f4
anti-virus database automatically. It uses the freshclam(1) utility for
b77bb64
this task. To activate it, uncomment the entry in /etc/cron.d/clamav-update.
cvsextras 47272f4
cvsextras 47272f4
%description server
cvsextras 47272f4
ATTENTION: most users do not need this package; the main package has
cvsextras 47272f4
everything (or depends on it) which is needed to scan for virii on
cvsextras 47272f4
workstations.
cvsextras 47272f4
cvsextras 47272f4
This package contains files which are needed to execute the clamd-daemon.
cvsextras 47272f4
This daemon does not provide a system-wide service. Instead of, an instance
cvsextras 47272f4
of this daemon should be started for each service requiring it.
cvsextras 47272f4
cvsextras 47272f4
See the README file how this can be done with a minimum of effort.
cvsextras 47272f4
f1f8b45
0981a17
%description server-sysvinit
f1f8b45
SysV initscripts template for the clamav server
f1f8b45
f1f8b45
0981a17
%description scanner
0981a17
This package contains a generic system wide clamd service which is
0981a17
e.g. used by the clamav-milter package.
0981a17
0981a17
%description scanner-sysvinit
0981a17
The SysV initscripts for clamav-scanner.
0981a17
0981a17
%description scanner-upstart
0981a17
The Upstart initscripts for clamav-scanner.
0981a17
0981a17
cvsextras 47272f4
%description milter
019ada6
This package contains files which are needed to run the clamav-milter.
cvsextras 47272f4
0981a17
%description milter-sysvinit
f1f8b45
The SysV initscripts for clamav-milter.
f1f8b45
0981a17
%description milter-upstart
0981a17
The Upstart initscripts for clamav-milter.
cvsextras 47272f4
cvsextras 47272f4
## ------------------------------------------------------------
cvsextras 47272f4
cvsextras 47272f4
%prep
1f82fa9
%setup -q -n %{name}-%{version}%{?snapshot}
e1f2fc0
0e58ab3
%patch24 -p1 -b .private
7aecf13
%patch25 -p1 -b .open
0981a17
%patch26 -p1 -b .cliopts
71c3355
%patch27 -p1 -b .umask
019ada6
019ada6
install -p -m0644 %SOURCE300 clamav-milter/
019ada6
46c82f4
mkdir -p libclamunrar{,_iface}
693b061
%{!?with_unrar:touch libclamunrar/{Makefile.in,all,install}}
cvsextras 47272f4
0981a17
sed -ri \
0981a17
    -e 's!^(#?LogFile ).*!\1/var/log/clamd.<SERVICE>!g' \
93f89a1
    -e 's!^#?(LocalSocket ).*!#\1/var/run/clamd.<SERVICE>/clamd.sock!g' \
0981a17
    -e 's!^(#?PidFile ).*!\1/var/run/clamd.<SERVICE>/clamd.pid!g' \
0981a17
    -e 's!^#?(User ).*!\1<USER>!g' \
0981a17
    -e 's!^#?(AllowSupplementaryGroups|LogSyslog).*!\1 yes!g' \
0981a17
    -e 's! /usr/local/share/clamav,! %homedir,!g' \
0981a17
    etc/clamd.conf
cvsextras 47272f4
0981a17
sed -ri -e 's!^#(UpdateLogFile )!\1!g;' etc/freshclam.conf
cvsextras 47272f4
5f98a14
cvsextras 47272f4
## ------------------------------------------------------------
cvsextras 47272f4
cvsextras 47272f4
%build
bf7d59e
CFLAGS="$RPM_OPT_FLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -std=gnu99"
0e58ab3
export LDFLAGS='-Wl,--as-needed'
0e58ab3
# HACK: remove me, when configure uses $LIBS instead of $LDFLAGS for milter check
0e58ab3
export LIBS='-lmilter -lpthread'
3054d56
# IPv6 check is buggy and does not work when there are no IPv6 interface on build machine
3054d56
export have_cv_ipv6=yes
019ada6
%configure --disable-clamav --with-dbdir=/var/lib/clamav	\
00b1bfe
	--enable-milter --disable-static			\
1f82fa9
	--disable-rpath						\
019ada6
	%{!?with_unrar:--disable-unrar}
019ada6
019ada6
# build with --as-needed and disable rpath
019ada6
sed -i \
dc7a386
	-e 's! -shared ! -Wl,--as-needed\0!g'					\
1f82fa9
	-e '/sys_lib_dlsearch_path_spec=\"\/lib \/usr\/lib /s!\"\/lib \/usr\/lib !/\"/%_lib /usr/%_lib !g'	\
019ada6
	libtool
34e19ca
cvsextras 47272f4
6ff0a52
make %{?_smp_mflags}
cvsextras 47272f4
cvsextras 47272f4
cvsextras 47272f4
## ------------------------------------------------------------
cvsextras 47272f4
cvsextras 47272f4
%install
cvsextras 47272f4
rm -rf "$RPM_BUILD_ROOT" _doc*
6ff0a52
make DESTDIR="$RPM_BUILD_ROOT" install
cvsextras 47272f4
e5f3880
function smartsubst() {
e5f3880
	local tmp
e5f3880
	local regexp=$1
e5f3880
	shift
e5f3880
e5f3880
	tmp=$(mktemp /tmp/%name-subst.XXXXXX)
e5f3880
	for i; do
e5f3880
		sed -e "$regexp" "$i" >$tmp
e5f3880
		cmp -s $tmp "$i" || cat $tmp >"$i"
e5f3880
		rm -f $tmp
e5f3880
	done
e5f3880
}
e5f3880
e5f3880
6ff0a52
install -d -m755 \
0981a17
	${RPM_BUILD_ROOT}%_sysconfdir/{mail,clamd.d,cron.d,logrotate.d,sysconfig,event.d} \
6ff0a52
	${RPM_BUILD_ROOT}%_var/log \
b77bb64
	${RPM_BUILD_ROOT}%milterstatedir \
b77bb64
	${RPM_BUILD_ROOT}%pkgdatadir/template \
fead405
	${RPM_BUILD_ROOT}%_initrddir \
0981a17
	${RPM_BUILD_ROOT}%homedir \
0981a17
	${RPM_BUILD_ROOT}%scanstatedir
cvsextras 47272f4
6ff0a52
rm -f	${RPM_BUILD_ROOT}%_sysconfdir/clamd.conf \
6ff0a52
	${RPM_BUILD_ROOT}%_libdir/*.la
b77bb64
019ada6
72cb5cf
touch ${RPM_BUILD_ROOT}%homedir/daily.cld
72cb5cf
touch ${RPM_BUILD_ROOT}%homedir/main.cld
019ada6
cvsextras 47272f4
cvsextras 47272f4
## prepare the server-files
cvsextras 47272f4
mkdir _doc_server
6ff0a52
install -m644 -p %SOURCE2	_doc_server/clamd.sysconfig
6ff0a52
install -m644 -p %SOURCE3       _doc_server/clamd.logrotate
6ff0a52
install -m755 -p %SOURCE7	_doc_server/clamd.init
dc7a386
install -m644 -p %SOURCE5	_doc_server/README
6ff0a52
install -m644 -p etc/clamd.conf _doc_server/clamd.conf
b77bb64
dc7a386
install -m644 -p %SOURCE1	$RPM_BUILD_ROOT%pkgdatadir
6ff0a52
install -m755 -p %SOURCE100     $RPM_BUILD_ROOT%pkgdatadir
6ff0a52
cp -pa _doc_server/*            $RPM_BUILD_ROOT%pkgdatadir/template
6ff0a52
ln -s %pkgdatadir/clamd-wrapper $RPM_BUILD_ROOT%_initrddir/clamd-wrapper
b77bb64
e5f3880
smartsubst 's!/usr/share/clamav!%pkgdatadir!g' $RPM_BUILD_ROOT%pkgdatadir/clamd-wrapper
b77bb64
cvsextras 47272f4
cvsextras 47272f4
## prepare the update-files
6ff0a52
install -m644 -p %SOURCE6	${RPM_BUILD_ROOT}%_sysconfdir/logrotate.d/clamav-update
6ff0a52
install -m755 -p %SOURCE8	${RPM_BUILD_ROOT}%_sbindir/clamav-notify-servers
6ff0a52
touch ${RPM_BUILD_ROOT}%freshclamlog
cvsextras 47272f4
6ff0a52
install -p -m0755 %SOURCE200	$RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep
6ff0a52
install -p -m0644 %SOURCE201	$RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam
6ff0a52
install -p -m0600 %SOURCE202	$RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update
b77bb64
e5f3880
smartsubst 's!webmaster,clamav!webmaster,%username!g;
e5f3880
	    s!/usr/share/clamav!%pkgdatadir!g;
e5f3880
	    s!/usr/bin!%_bindir!g;
e5f3880
            s!/usr/sbin!%_sbindir!g;' \
e5f3880
   $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update \
e5f3880
   $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep
cvsextras 47272f4
cvsextras 47272f4
0981a17
### The scanner stuff
0981a17
sed -e 's!<SERVICE>!scan!g;s!<USER>!%scanuser!g' \
71c3355
    etc/clamd.conf > $RPM_BUILD_ROOT%_sysconfdir/clamd.d/scan.conf
0981a17
0981a17
sed -e 's!<SERVICE>!scan!g;' $RPM_BUILD_ROOT%pkgdatadir/template/clamd.init \
0981a17
    > $RPM_BUILD_ROOT%_initrddir/clamd.scan
0981a17
0981a17
install -p -m 644 %SOURCE410 $RPM_BUILD_ROOT%_sysconfdir/event.d/clamd.scan
0981a17
0981a17
touch $RPM_BUILD_ROOT%scanstatedir/clamd.sock
cvsextras 47272f4
e5f3880
0981a17
### The milter stuff
0981a17
sed -r \
0981a17
    -e 's!^#?(User).*!\1 %milteruser!g' \
0981a17
    -e 's!^#?(AllowSupplementaryGroups|LogSyslog) .*!\1 yes!g' \
0981a17
    -e 's! /tmp/clamav-milter.socket! %milterstatedir/clamav-milter.socket!g' \
0981a17
    -e 's! /var/run/clamav-milter.pid! %milterstatedir/clamav-milter.pid!g' \
0981a17
    -e 's! /tmp/clamav-milter.log! %milterlog!g' \
0981a17
    etc/clamav-milter.conf > $RPM_BUILD_ROOT%_sysconfdir/mail/clamav-milter.conf
cvsextras 47272f4
0981a17
install -p -m 644 %SOURCE310 $RPM_BUILD_ROOT%_sysconfdir/event.d/clamav-milter
0981a17
install -p -m 755 %SOURCE320 $RPM_BUILD_ROOT%_initrddir/clamav-milter
cvsextras 47272f4
cvsextras 47272f4
0981a17
rm -f $RPM_BUILD_ROOT%_sysconfdir/clamav-milter.conf
0981a17
touch $RPM_BUILD_ROOT{%milterstatedir/clamav-milter.socket,%milterlog}
b77bb64
cvsextras 47272f4
cvsextras 47272f4
## ------------------------------------------------------------
cvsextras 47272f4
cvsextras 47272f4
%clean
cvsextras 47272f4
rm -rf "$RPM_BUILD_ROOT"
cvsextras 47272f4
cvsextras 47272f4
## ------------------------------------------------------------
cvsextras 47272f4
fead405
%pre filesystem
6ff0a52
%__fe_groupadd 4 -r %username &>/dev/null || :
6ff0a52
%__fe_useradd  4 -r -s /sbin/nologin -d %homedir -M          \
6ff0a52
                 -c 'Clamav database update user' -g %username %username &>/dev/null || :
cvsextras 47272f4
fead405
%postun filesystem
fead405
%__fe_userdel  %username &>/dev/null || :
fead405
%__fe_groupdel %username &>/dev/null || :
fead405
fead405
0981a17
%pre scanner
0981a17
%__fe_groupadd 49 -r %scanuser &>/dev/null || :
0981a17
%__fe_useradd  49 -r -s /sbin/nologin -d / -M \
0981a17
                 -g %scanuser %scanuser &>/dev/null || :
0981a17
0981a17
%postun scanner
0981a17
%__fe_userdel  %scanuser &>/dev/null || :
0981a17
%__fe_groupdel %scanuser &>/dev/null || :
0981a17
0981a17
0981a17
%post scanner-sysvinit
0981a17
/sbin/chkconfig --add clamd.scan
0981a17
0981a17
%preun scanner-sysvinit
0981a17
test "$1" != 0 || %_initrddir/clamd.scan stop &>/dev/null || :
0981a17
test "$1" != 0 || /sbin/chkconfig --del clamd.scan
0981a17
0981a17
%postun scanner-sysvinit
0981a17
test "$1"  = 0 || %_initrddir/clamd.scan condrestart >/dev/null || :
0981a17
0981a17
0981a17
%post scanner-upstart
0981a17
/usr/bin/killall -u %scanuser clamd 2>/dev/null || :
0981a17
0981a17
%preun scanner-upstart
0981a17
test "$1" != "0" || /sbin/initctl -q stop clamd.scan || :
0981a17
0981a17
0981a17
cvsextras 47272f4
%post update
6ff0a52
test -e %freshclamlog || {
6ff0a52
	touch %freshclamlog
6ff0a52
	%__chmod 0664 %freshclamlog
6ff0a52
	%__chown root:%username %freshclamlog
cvsextras 47272f4
}
cvsextras 47272f4
dc7a386
dc7a386
%triggerin milter -- clamav-scanner
dc7a386
# Add the milteruser to the scanuser group; this is required when
dc7a386
# milter and clamd communicate through local sockets
dc7a386
/usr/sbin/usermod -a -G %scanuser %milteruser &>/dev/null || :
dc7a386
0981a17
%pre milter
6ff0a52
%__fe_groupadd 5 -r %milteruser &>/dev/null || :
6ff0a52
%__fe_useradd  5 -r -s /sbin/nologin -d %milterstatedir -M \
6ff0a52
                 -c 'Clamav Milter User' -g %milteruser %milteruser &>/dev/null || :
cvsextras 47272f4
0981a17
%post milter
5f98a14
test -e %milterlog || {
5f98a14
	touch %milterlog
5f98a14
	chmod 0620             %milterlog
5f98a14
	chown root:%milteruser %milterlog
5f98a14
}
cvsextras 47272f4
0981a17
%postun milter
6ff0a52
%__fe_userdel  %milteruser &>/dev/null || :
6ff0a52
%__fe_groupdel %milteruser &>/dev/null || :
f1f8b45
f1f8b45
0981a17
%post milter-sysvinit
f1f8b45
/sbin/chkconfig --add clamav-milter
f1f8b45
0981a17
%preun milter-sysvinit
f1f8b45
test "$1" != 0 || %_initrddir/clamav-milter stop &>/dev/null || :
f1f8b45
test "$1" != 0 || /sbin/chkconfig --del clamav-milter
f1f8b45
0981a17
%postun milter-sysvinit
6ff0a52
test "$1"  = 0 || %_initrddir/clamav-milter condrestart >/dev/null || :
cvsextras 47272f4
cvsextras 47272f4
0981a17
%post milter-upstart
0981a17
/usr/bin/killall -u %milteruser clamav-milter 2>/dev/null || :
0981a17
0981a17
%preun milter-upstart
0981a17
test "$1" != "0" || /sbin/initctl -q stop clamav-milter || :
0981a17
0981a17
cvsextras 47272f4
%post   lib -p /sbin/ldconfig
cvsextras 47272f4
%postun lib -p /sbin/ldconfig
cvsextras 47272f4
cvsextras 47272f4
cvsextras 47272f4
%files
cvsextras 47272f4
%defattr(-,root,root,-)
3077ab2
%doc AUTHORS BUGS COPYING ChangeLog FAQ NEWS README UPGRADE
cvsextras 47272f4
%doc docs/*.pdf
6ff0a52
%_bindir/*
87b2de4
%_mandir/man[15]/*
b77bb64
%exclude %_bindir/clamav-config
cvsextras 47272f4
%exclude %_bindir/freshclam
0a90d81
%exclude %_mandir/*/freshclam*
cvsextras 47272f4
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
cvsextras 47272f4
%files lib
cvsextras 47272f4
%defattr(-,root,root,-)
6ff0a52
%_libdir/*.so.*
cvsextras 47272f4
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
cvsextras 47272f4
%files devel
cvsextras 47272f4
%defattr(-,root,root,-)
6ff0a52
%_includedir/*
6ff0a52
%_libdir/*.so
b77bb64
%pkgdatadir/template
b77bb64
%pkgdatadir/clamd-gen
b77bb64
%_libdir/pkgconfig/*
b77bb64
%_bindir/clamav-config
cvsextras 47272f4
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
fead405
%files filesystem
fead405
%attr(-,%username,%username) %dir %homedir
fead405
%attr(-,root,root)           %dir %pkgdatadir
fead405
fead405
## -----------------------
fead405
cvsextras 47272f4
%files data
6ff0a52
%defattr(-,%username,%username,-)
b77bb64
# use %%config to keep files which were updated by 'freshclam'
b77bb64
# already. Without this tag, they would be overridden with older
b77bb64
# versions whenever a new -data package is installed.
6ff0a52
%config %verify(not size md5 mtime) %homedir/*.cvd
cvsextras 47272f4
fead405
fead405
%files data-empty
fead405
%defattr(-,%username,%username,-)
72cb5cf
%ghost %attr(0664,%username,%username) %homedir/*.cvd
72cb5cf
fead405
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
cvsextras 47272f4
%files update
cvsextras 47272f4
%defattr(-,root,root,-)
cvsextras 47272f4
%_bindir/freshclam
0a90d81
%_mandir/*/freshclam*
e5f3880
%pkgdatadir/freshclam-sleep
e5f3880
%config(noreplace) %verify(not mtime)    %_sysconfdir/freshclam.conf
e5f3880
%config(noreplace) %verify(not mtime)    %_sysconfdir/logrotate.d/*
e5f3880
%config(noreplace) %_sysconfdir/cron.d/*
e5f3880
%config(noreplace) %_sysconfdir/sysconfig/freshclam
cvsextras 47272f4
6ff0a52
%ghost %attr(0664,root,%username) %verify(not size md5 mtime) %freshclamlog
72cb5cf
%ghost %attr(0664,%username,%username) %homedir/*.cld
fead405
fead405
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
cvsextras 47272f4
%files server
cvsextras 47272f4
%defattr(-,root,root,-)
cvsextras 47272f4
%doc _doc_server/*
72cd79d
%_mandir/man[58]/clamd*
6ff0a52
%_sbindir/*
b77bb64
%pkgdatadir/clamd-wrapper
f1f8b45
%dir %_sysconfdir/clamd.d
cvsextras 47272f4
cvsextras 47272f4
%exclude %_sbindir/*milter*
cvsextras 47272f4
%exclude %_mandir/man8/clamav-milter*
cvsextras 47272f4
f1f8b45
0981a17
%files server-sysvinit
f1f8b45
%defattr(-,root,root,-)
f1f8b45
%_initrddir/clamd-wrapper
f1f8b45
f1f8b45
cvsextras 47272f4
## -----------------------
cvsextras 47272f4
0981a17
%files scanner
cvsextras 47272f4
%defattr(-,root,root,-)
0981a17
%dir %attr(0710,%scanuser,%scanuser) %scanstatedir
71c3355
%config(noreplace) %_sysconfdir/clamd.d/scan.conf
0981a17
%ghost %scanstatedir/clamd.sock
46c82f4
0981a17
%files scanner-sysvinit
0981a17
%attr(0755,root,root) %config %_initrddir/clamd.scan
0981a17
0981a17
%files scanner-upstart
46c82f4
%defattr(-,root,root,-)
0981a17
%config(noreplace) %_sysconfdir/event.d/clamd.scan
0981a17
0981a17
## -----------------------
cvsextras 47272f4
0981a17
%files milter
46c82f4
%defattr(-,root,root,-)
46c82f4
%doc clamav-milter/README.fedora
0981a17
%_sbindir/*milter*
0981a17
%_mandir/man8/clamav-milter*
0981a17
%config(noreplace) %_sysconfdir/mail/clamav-milter.conf
0981a17
%ghost %attr(0620,root,%milteruser) %verify(not size md5 mtime) %milterlog
0981a17
%attr(0710,%milteruser,%milteruser) %dir %milterstatedir
46c82f4
%ghost %milterstatedir/*
f1f8b45
0981a17
%files milter-sysvinit
f1f8b45
%defattr(-,root,root,-)
f1f8b45
%config %_initrddir/clamav-milter
0981a17
0981a17
%files milter-upstart
0981a17
%defattr(-,root,root,-)
0981a17
%config(noreplace) %_sysconfdir/event.d/clamav-milter
f1f8b45
f1f8b45
cvsextras 47272f4
%changelog
f2ee561
* Thu Oct 29 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95.3-1100
f2ee561
- updated to 0.95.3
f2ee561
dc7a386
* Sun Sep 13 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95.2-3
dc7a386
- add the '%milteruser' user to the '%scanuser' group when the -scanner
dc7a386
  subpackage is installed (#505739)
dc7a386
93f89a1
* Sun Aug  9 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95.2-2
93f89a1
- disabled LocalSocket option in sample configuration
93f89a1
- fixed clamav-milter sysv initscript to use bash interpreter and to
93f89a1
  be disabled by default
93f89a1
5b03230
* Thu Jun 11 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95.2-1
5b03230
- updated to 0.95.2
5b03230
53920d9
* Wed Apr 15 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95.1-2
53920d9
- fixed Provides/Obsoletes: typo in -milter-sysvinit subpackage which
53920d9
  broke update path
53920d9
aef9a63
* Fri Apr 10 2009 Robert Scheck <robert@fedoraproject.org> - 0.95.1-1
aef9a63
- Upgrade to 0.95.1 (#495039)
aef9a63
3054d56
* Wed Mar 25 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95-1
3054d56
- updated to final 0.95
3054d56
- added ncurses-devel (-> clamdtop) BR
3054d56
- enforced IPv6 support
3054d56
0981a17
* Sun Mar  8 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.95-0.1.rc1
0981a17
- updated to 0.95rc1
0981a17
- added -upstart subpackages
0981a17
- renamed -sysv to -sysvinit to make -upstart win the default dep resolving
0981a17
- reworked complete milter stuff
0981a17
- added -scanner subpackage which contains a preconfigured daemon
0981a17
  (e.g. for use by -milter)
0981a17
- moved %%changelog entries from 2006 and before into ChangeLog-rpm.old
0981a17
3717d73
* Wed Feb 25 2009 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.94.2-3
3717d73
- made some subpackages noarch
3717d73
- fixed typo in SysV initscript which removes 'touch' file (#473513)
3717d73
a843b18
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.94.2-2
a843b18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
a843b18
b4e507d
* Tue Dec 02 2008 Robert Scheck <robert@fedoraproject.org> - 0.94.2-1
b4e507d
- Upgrade to 0.94.2 (#474002)
b4e507d
c063e17
* Wed Nov 05 2008 Robert Scheck <robert@fedoraproject.org> - 0.94.1-1
c063e17
- Upgrade to 0.94.1
c063e17
3a1d2b5
* Sun Oct 26 2008 Robert Scheck <robert@fedoraproject.org> - 0.94-1
3a1d2b5
- Upgrade to 0.94 (SECURITY), fixes #461461:
3a1d2b5
- CVE-2008-1389 Invalid memory access in the CHM unpacker
3a1d2b5
- CVE-2008-3912 Out-of-memory NULL pointer dereference in mbox/msg
3a1d2b5
- CVE-2008-3913 Memory leak in code path in freshclam's manager.c
3a1d2b5
- CVE-2008-3914 Multiple file descriptor leaks on the code paths
3a1d2b5
cc612e6
* Sun Jul 13 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.93.3-1
cc612e6
- updated to 0.93.3; another fix for CVE-2008-2713 (out-of-bounds read
cc612e6
  on petite files)
cc612e6
- put pid instead of pgrp into pidfile of clamav-milter (bz #452359)
6a9c737
- rediffed patches
cc612e6
56aef06
* Tue Jun 17 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.93.1-1
56aef06
- updated to 0.93.1
56aef06
- rediffed -path patch
56aef06
- CVE-2008-2713 Invalid Memory Access Denial Of Service Vulnerability
56aef06
72cb5cf
* Mon Apr 14 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.93-1
72cb5cf
- updated to final 0.93
72cb5cf
- removed daily.inc + main.inc directories; they are now replaced by
72cb5cf
  *.cld containers
72cb5cf
- trimmed down MAILTO list of cronjob to 'root' again; every well
72cb5cf
  configured system has an alias for this recipient
72cb5cf
5fb728d
* Wed Mar 12 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.93-0.1.rc1
f5d1e31
- moved -milter scriptlets into -milter-core subpackage
f5d1e31
- added a requirement on the milteruser to the -milter-sendmail
f5d1e31
  subpackage (reported by Bruce Jerrick)
f5d1e31
1f82fa9
* Tue Mar  4 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.93-0.0.rc1
1f82fa9
- updated to 0.93rc1
1f82fa9
- fixed rpath issues
1f82fa9
693b061
* Mon Feb 11 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.92.1-1
693b061
- updated to 0.92.1
693b061
46c82f4
* Tue Jan  1 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.92-6
46c82f4
- redisabled unrar stuff completely by using clean sources
46c82f4
- splitted -milter subpackage into pieces to allow use without sendmail
46c82f4
  (#239037)
46c82f4
00b1bfe
* Tue Jan  1 2008 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.92-5
00b1bfe
- use a better way to disable RPATH-generation (needed for '--with
00b1bfe
  unrar' builds)
00b1bfe
019ada6
* Mon Dec 31 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.92-4
019ada6
- added a README.fedora to the milter package (#240610)
019ada6
- ship original sources again; unrar is now licensed correctly (no more
019ada6
  stolen code put under GPL). Nevertheless, this license is not GPL
019ada6
  compatible, and to allow libclamav to be used by GPL applications,
019ada6
  unrar is disabled by a ./configure switch.
019ada6
- use pkg-config in clamav-config to emulate --cflags and --libs
019ada6
  operations (fixes partly multilib issues)
019ada6
- registered some more auto-updated files and marked them as %%ghost
019ada6
cf29647
* Fri Dec 21 2007 Tom "spot" Callaway <tcallawa@redhat.com> - 0.92-3
34e19ca
- updated to 0.92 (SECURITY):
34e19ca
- CVE-2007-6335 MEW PE File Integer Overflow Vulnerability
34e19ca
73644b6
* Mon Oct 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> - 0.91.2-3
dc7a386
- remove RAR decompression code from source tarball because of
73644b6
  legal problems (resolves 334371)
73644b6
- correct license tag
73644b6
0b7f0c1
* Mon Sep 24 2007 Jesse Keating <jkeating@redhat.com> - 0.91.2-2
0b7f0c1
- Bump release for upgrade path.
0b7f0c1
1d4259a
* Sat Aug 25 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.91.2-1
1d4259a
- updated to 0.91.2 (SECURITY):
1d4259a
- CVE-2007-4510 DOS in RTF parser
1d4259a
- DOS in html normalizer
1d4259a
- arbitrary command execution by special crafted recipients in
1d4259a
  clamav-milter's black-hole mode
7aecf13
- fixed an open(2) issue
1d4259a
07ca3e8
* Tue Jul 17 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.91.1-0
07ca3e8
- updated to 0.91.1
07ca3e8
c1a7b37
* Thu Jul 12 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.91-1
c1a7b37
- updated to 0.91
c1a7b37
f9850d9
* Thu May 31 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90.3-1
f9850d9
- updated to 0.90.3
a640334
- BR tcpd.h instead of tcp_wrappers(-devel) to make it build both
f9850d9
  in FC6- and F7+
f9850d9
20d8116
* Fri Apr 13 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90.2-1
dc7a386
- [SECURITY] updated to 0.90.2; fixes CVE-2007-1745, CVE-2007-1997
20d8116
1645496
* Fri Mar  2 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90.1-2
1645496
- BR 'tcp_wrappers-devel' instead of plain 'tcp_wrappers'
1645496
3077ab2
* Fri Mar  2 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90.1-1
3077ab2
- updated to 0.90.1
3077ab2
- updated %%doc list
3077ab2
b842833
* Sun Feb 18 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90-1
b842833
- updated to final 0.90
b842833
- removed -visibility patch since fixed upstream
b842833
0e58ab3
* Sun Feb  4 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90-0.3.rc3
0e58ab3
- build with -Wl,-as-needed and cleaned up pkgconfig file
0e58ab3
- removed old hack which forced installation of freshclam.conf; related
0e58ab3
  check was removed upstream
0e58ab3
- removed static library
0e58ab3
- removed %%changelog entries from before 2004
0e58ab3
fead405
* Sat Feb  3 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.90-0.2.rc3
fead405
- updated to 0.90rc3
fead405
- splitted mandatory parts from the data-file into a separate -filesystem
fead405
  subpackage
fead405
- added a -data-empty subpackage to allow a setup where database is
fead405
  updated per cron-job and user does not want to download the large
fead405
  -data package with outdated virus definitations (#214949)
fead405
- %%ghost'ed the files downloaded by freshclam