looks like my attachment got clipped. here is the SPEC file I use (with changelog snipped for brevity):
# $Id: clamav.spec 6047 2007-12-19 11:20:08Z dag $ # Authority: dag # Upstream: <clamav-devel$lists,sf,net> ### FIXME: Sysv script does not have condrestart option (redo sysv script) ### FIXME: amavisd-new requires clamd to run as user vscan, solution needed ### REMINDER: Look and sync with Petr Kristof's work ### sendmail has been updated on EL2, no longer true. #%{?el2:#define _without_milter 1} Summary: Anti-virus software Name: clamav Version: 0.93 Release: 3 License: GPL Group: Applications/System URL: http://www.clamav.net/ #Source: http://www.clamav.net/clamav-%{version}.tar.gz #Source: http://dl.sf.net/clamav/clamav-%{version}.tar.gz Source: /usr/src/redhat/SOURCESS/clamav-%{version}.%{release}.tar.gz Source1: clamav.init Source2: clamav-milter.init BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: bzip2-devel, zlib-devel, gmp-devel, curl-devel %{!?_without_milter:BuildRequires: sendmail-devel >= 8.12} Requires: clamav-db = %{version}-%{release} ### Fedora Extras introduced them differently :( Obsoletes: libclamav <= %{version}-%{release} Obsoletes: clamav-lib <= %{version}-%{release} Provides: libclamav %description Clam AntiVirus is a GPL anti-virus toolkit for UNIX. The main purpose of this software is the integration with mail servers (attachment scanning). The package provides a flexible and scalable multi-threaded daemon, a command line scanner, and a tool for automatic updating via Internet. The programs are based on a shared library distributed with the Clam AntiVirus package, which you can use with your own software. Most importantly, the virus database is kept up to date %package -n clamd Summary: The Clam AntiVirus Daemon Group: System Environment/Daemons Requires: clamav = %{version}-%{release} Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd ### Fedora Extras introduced them differently :( Obsoletes: clamav-server <= %{version}-%{release} %description -n clamd The Clam AntiVirus Daemon %package milter Summary: The Clam AntiVirus sendmail-milter Daemon Group: Applications/System Requires: clamd = %{version}-%{release} Requires: sendmail %description milter The Clam AntiVirus sendmail-milter Daemon %package db Summary: Virus database for %{name} Group: Applications/Databases ### Remove circular dependency #Requires: clamav = %{version}-%{release} Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd ### Fedora Extras introduced them differently :( Obsoletes: clamav-update <= %{version}-%{release} Obsoletes: clamav-data <= %{version}-%{release} %description db The actual virus database for %{name} %package devel Summary: Header files, libraries and development documentation for %{name} Group: Development/Libraries Requires: clamav = %{version}-%{release} ### Fedora Extras introduced them differently :( Obsoletes: libclamav-static-devel <= %{version}-%{release} Obsoletes: libclamav-devel <= %{version}-%{release} Provides: libclamav-static-devel, libclamav-devel %description devel This package contains the header files, static libraries and development documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. %prep %setup %{__perl} -pi.orig -e 's|/lib\b|/%{_lib}|g;' libtool configure %{__perl} -pi.orig -e ' s|[EMAIL PROTECTED]@|\$(localstatedir)/clamav|g; s|[EMAIL PROTECTED]@|\$(localstatedir)/clamav|g; s|[EMAIL PROTECTED]@|\$(sysconfdir)|g; s|[EMAIL PROTECTED]@|\$(sysconfdir)|g; s|[EMAIL PROTECTED]@|\t|g; s|[EMAIL PROTECTED]@|\t|g; ' database/Makefile.in etc/Makefile.in %{__perl} -pi.orig -e ' s|^(Example)|#$1|; s|^#(LogFile) .+$|$1 %{_localstatedir}/log/clamav/clamd.log|; s|^#(LogFileMaxSize) .*|$1 0|; s|^#(LogTime)|$1|; s|^#(LogSyslog)|$1|; s|^#(PidFile) .+$|$1 %{_localstatedir}/run/clamav/clamd.pid|; s|^#(TemporaryDirectory) .+$|$1 %{_localstatedir}/tmp|; s|^#(DatabaseDirectory) .+$|$1 %{_localstatedir}/clamav|; s|^#(LocalSocket) .+$|$1 %{_localstatedir}/run/clamav/clamd.sock|; s|^#(FixStaleSocket)|$1|; s|^#(TCPSocket) .+$|$1 3310|; s|^#(TCPAddr) .+$|$1 127.0.0.1|; s|^#(MaxConnectionQueueLength) .+$|$1 30|; s|^#(StreamSaveToDisk)|$1|; s|^#(MaxThreads) .+$|$1 50|; s|^#(ReadTimeout) .+$|$1 300|; s|^#(User) .+$|$1 clamav|; s|^#(AllowSupplementaryGroups).*$|$1 yes|; s|^#(ScanPE) .+$|$1 yes|; s|^#(ScanELF) .+$|$1 yes|; s|^#(DetectBrokenExecutables)|$1|; s|^#(ScanOLE2) .+$|$1 yes|; s|^#(ScanMail)|$1|; s|^#(ScanArchive) .+$|$1 yes|; s|^#(ArchiveMaxCompressionRatio) .+|$1 300|; s|^#(ArchiveBlockEncrypted)|$1|; s|^#(ArchiveBlockMax)|$1|; ' etc/clamd.conf %{__perl} -pi.orig -e ' s|^(Example)|#$1|; s|^#(DatabaseDirectory) .+$|$1 %{_localstatedir}/clamav|; s|^#(UpdateLogFile) .+$|$1 %{_localstatedir}/log/clamav/freshclam.log|; s|^#(LogSyslog)|$1|; s|^#(DatabaseOwner) .+$|$1 clamav|; s|^(Checks) .+$|$1 24|; s|^#(NotifyClamd) .+$|$1 %{_sysconfdir}/clamd.conf|; ' etc/freshclam.conf %{__cat} <<EOF >clamd.logrotate %{_localstatedir}/log/clamav/clamd.log { missingok notifempty create 644 clamav clamav postrotate killall -HUP clamd 2>/dev/null || : endscript } EOF %{__cat} <<EOF >freshclam.logrotate %{_localstatedir}/log/clamav/freshclam.log { missingok notifempty create 644 clamav clamav } EOF %{__cat} <<'EOF' >freshclam.cron #!/bin/sh ### A simple update script for the clamav virus database. ### This could as well be replaced by a SysV script. ### fix log file if needed LOG_FILE="%{_localstatedir}/log/clamav/freshclam.log" if [ ! -f "$LOG_FILE" ]; then touch "$LOG_FILE" chmod 644 "$LOG_FILE" chown clamav.clamav "$LOG_FILE" fi %{_bindir}/freshclam \ --quiet \ --datadir="%{_localstatedir}/clamav" \ --log="$LOG_FILE" \ --log-verbose \ --daemon-notify="%{_sysconfdir}/clamd.conf" EOF %{__cat} <<EOF >clamav-milter.sysconfig ### Simple config file for clamav-milter, you should ### read the documentation and tweak it as you wish. CLAMAV_FLAGS=" --config-file=%{_sysconfdir}/clamd.conf --force-scan --local --max-children=10 --noreject --outgoing --quiet " SOCKET_ADDRESS="local:%{_localstatedir}/clamav/clmilter.socket" EOF %build %configure \ --program-prefix="%{?_program_prefix}" \ --disable-clamav \ --disable-static \ --disable-zlib-vcheck \ --enable-dns \ --enable-id-check \ %{!?_without_milter:--enable-milter} \ --with-dbdir="%{_localstatedir}/clamav" \ --with-group="clamav" \ --with-libcurl \ --with-user="clamav" %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install DESTDIR="%{buildroot}" %{__install} -Dp -m0755 %{SOURCE1} %{buildroot}%{_initrddir}/clamd %{__install} -Dp -m0755 freshclam.cron %{buildroot}%{_sysconfdir}/cron.daily/freshclam %{__install} -Dp -m0644 freshclam.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/freshclam %{__install} -Dp -m0644 clamd.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/clamav %if %{!?_without_milter:1}0 %{__install} -Dp -m0755 %{SOURCE2} %{buildroot}%{_initrddir}/clamav-milter %{__install} -Dp -m0644 clamav-milter.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/clamav-milter %else %{__rm} %{buildroot}%{_mandir}/man8/clamav-milter.8* %endif %{__install} -d -m0755 %{buildroot}%{_localstatedir}/log/clamav/ touch %{buildroot}%{_localstatedir}/log/clamav/freshclam.log touch %{buildroot}%{_localstatedir}/log/clamav/clamd.log %{__install} -d -m0755 %{buildroot}%{_localstatedir}/run/clamav/ %post /sbin/ldconfig ZONES="/usr/share/zoneinfo/zone.tab" CONFIG="/etc/sysconfig/clock" if [ -r "$CONFIG" -a -r "$ZONES" ]; then source "$CONFIG" export CODE="$(grep -E "\b$ZONE\b" "$ZONES" | head -1 | cut -f1 | tr [A-Z] [a-z])" fi if [ -z "$CODE" ]; then export CODE="local" fi %{__perl} -pi -e ' s|^(DatabaseMirror) database\.clamav\.net$|$1 db.$ENV{"CODE"}.clamav.net\n$1 db.local.clamav.net|; s|^(DatabaseMirror) db\.\.clamav\.net$|$1 db.$ENV{"CODE"}.clamav.net\n$1 db.local.clamav.net|; ' %{_sysconfdir}/freshclam.conf{,.rpmnew} &>/dev/null || : %postun -p /sbin/ldconfig %pre -n clamd /usr/sbin/groupadd -r clamav 2>/dev/null || : /usr/sbin/useradd -r -d /var/clamav -s /sbin/nologin -c "Clam Anti Virus Checker" -g clamav clamav 2>/dev/null || : %post -n clamd /sbin/chkconfig --add clamd %preun -n clamd if [ $1 -eq 0 ]; then /sbin/service clamd stop &>/dev/null || : /sbin/chkconfig --del clamd fi %postun -n clamd /sbin/service clamd condrestart &>/dev/null || : %post milter /sbin/chkconfig --add clamav-milter %preun milter if [ $1 -eq 0 ]; then /sbin/service clamav-milter stop &>/dev/null || : /sbin/chkconfig --del clamav-milter fi %postun milter /sbin/service clamav-milter condrestart &>/dev/null || : %pre db /usr/sbin/groupadd -r clamav 2>/dev/null || : /usr/sbin/useradd -r -d /var/clamav -s /sbin/nologin -c "Clam Anti Virus Checker" -g clamav clamav 2>/dev/null || : %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) %doc AUTHORS BUGS ChangeLog COPYING FAQ INSTALL NEWS README test/ %doc docs/*.pdf etc/freshclam.conf %doc %{_mandir}/man1/sigtool.1* %doc %{_mandir}/man1/clamscan.1* %doc %{_mandir}/man1/freshclam.1* %doc %{_mandir}/man5/freshclam.conf.5* %config(noreplace) %{_sysconfdir}/freshclam.conf %{_bindir}/clamscan %{_bindir}/freshclam %{_bindir}/sigtool %{_libdir}/libclamav.so.* %{_libdir}/libclamunrar.so.* %{_libdir}/libclamunrar_iface.so.* %files -n clamd %defattr(-, root, root, 0755) %doc contrib/clamdwatch/ etc/clamd.conf %doc %{_mandir}/man1/clamdscan.1* %doc %{_mandir}/man1/clamconf.1* %doc %{_mandir}/man5/clamd.conf.5* %doc %{_mandir}/man8/clamd.8* %config(noreplace) %{_sysconfdir}/clamd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/clamav %config %{_initrddir}/clamd %{_sbindir}/clamd %{_bindir}/clamconf %{_bindir}/clamdscan %defattr(0644, clamav, clamav, 0755) %{_localstatedir}/run/clamav/ %dir %{_localstatedir}/clamav/ %dir %{_localstatedir}/log/clamav/ %ghost %{_localstatedir}/log/clamav/clamd.log %exclude %{_localstatedir}/clamav/* %if %{!?_without_milter:1}0 %files milter %defattr(-, root, root, 0755) %doc clamav-milter/INSTALL %doc %{_mandir}/man8/clamav-milter.8* %config(noreplace) %{_sysconfdir}/sysconfig/clamav-milter %config %{_initrddir}/clamav-milter %{_sbindir}/clamav-milter %endif %files db %defattr(-, root, root, 0755) %config(noreplace) %{_sysconfdir}/cron.daily/freshclam %config(noreplace) %{_sysconfdir}/logrotate.d/freshclam %defattr(0644, clamav, clamav, 0755) %config(noreplace) %verify(user group mode) %{_localstatedir}/clamav/ %dir %{_localstatedir}/log/clamav/ %ghost %{_localstatedir}/log/clamav/freshclam.log %files devel %defattr(-, root, root, 0755) %{_bindir}/clamav-config %{_includedir}/clamav.h %{_libdir}/libclamav.so %{_libdir}/libclamunrar.so %{_libdir}/libclamunrar_iface.so %{_libdir}/pkgconfig/libclamav.pc %exclude %{_libdir}/libclamav.la %exclude %{_libdir}/libclamunrar.la %exclude %{_libdir}/libclamunrar_iface.la %changelog * Mon Feb 11 2008 Dag Wieers <[EMAIL PROTECTED]> - 0.92.1-1 - Updated to release 0.92.1. _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://www.clamav.net/support/ml