diff --git a/clamav-0.90rc3-private.patch b/clamav-0.90rc3-private.patch new file mode 100644 index 0000000..66b662e --- /dev/null +++ b/clamav-0.90rc3-private.patch @@ -0,0 +1,28 @@ +--- clamav-0.90rc3/libclamav.pc.in.private 2004-07-14 13:35:38.000000000 +0200 ++++ clamav-0.90rc3/libclamav.pc.in 2007-02-04 12:24:35.000000000 +0100 +@@ -6,6 +6,6 @@ + Name: libclamav + Description: A GPL virus scanner + Version: @LIBCLAMAV_VERSION@ +-Libs: -L${libdir} -lclamav @LIBCLAMAV_LIBS@ +-Cflags: -I${includedir} @CFLAGS@ +- ++Libs: -L${libdir} -lclamav ++Libs.private: -L${libdir} -lclamav @LIBCLAMAV_LIBS@ ++Cflags: -I${includedir} +--- clamav-0.90rc3/clamav-config.in.private 2004-06-06 03:50:08.000000000 +0200 ++++ clamav-0.90rc3/clamav-config.in 2007-02-04 12:25:27.000000000 +0100 +@@ -55,11 +55,11 @@ + ;; + + --cflags) +- echo -I@includedir@ @CFLAGS@ ++ echo -I@includedir@ + ;; + + --libs) +- echo -L@libdir@ @LIBCLAMAV_LIBS@ ++ echo -L@libdir@ -lclamav + ;; + + *) diff --git a/clamav-0.92-nounrar.patch b/clamav-0.92-nounrar.patch new file mode 100644 index 0000000..b63921e --- /dev/null +++ b/clamav-0.92-nounrar.patch @@ -0,0 +1,57 @@ +diff -up clamav-0.92/Makefile.in.BAD clamav-0.92/Makefile.in +--- clamav-0.92/Makefile.in.BAD 2007-12-21 12:39:00.000000000 -0500 ++++ clamav-0.92/Makefile.in 2007-12-21 12:39:11.000000000 -0500 +@@ -242,7 +242,7 @@ target_os = @target_os@ + target_vendor = @target_vendor@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = libclamunrar libclamunrar_iface libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter ++SUBDIRS = libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter + EXTRA_DIST = FAQ contrib test examples BUGS shared libclamav.pc.in UPGRADE COPYING.nsis COPYING.unrar COPYING.LGPL + bin_SCRIPTS = clamav-config + pkgconfigdir = $(libdir)/pkgconfig +diff -up clamav-0.92/configure.in.BAD clamav-0.92/configure.in +--- clamav-0.92/configure.in.BAD 2007-12-21 12:37:51.000000000 -0500 ++++ clamav-0.92/configure.in 2007-12-21 12:38:00.000000000 -0500 +@@ -1214,8 +1214,6 @@ AC_MSG_RESULT($have_signed_rightshift_ex + AC_C_FPU_BIGENDIAN + + AC_OUTPUT([ +-libclamunrar/Makefile +-libclamunrar_iface/Makefile + libclamav/Makefile + clamscan/Makefile + database/Makefile +diff -up clamav-0.92/Makefile.am.BAD clamav-0.92/Makefile.am +--- clamav-0.92/Makefile.am.BAD 2007-12-21 12:38:39.000000000 -0500 ++++ clamav-0.92/Makefile.am 2007-12-21 12:38:47.000000000 -0500 +@@ -16,7 +16,7 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + # MA 02110-1301, USA. + +-SUBDIRS = libclamunrar libclamunrar_iface libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter ++SUBDIRS = libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter + EXTRA_DIST = FAQ contrib test examples BUGS shared libclamav.pc.in UPGRADE COPYING.nsis COPYING.unrar COPYING.LGPL + + bin_SCRIPTS=clamav-config +diff -up clamav-0.92/configure.BAD clamav-0.92/configure +--- clamav-0.92/configure.BAD 2007-12-21 12:45:38.000000000 -0500 ++++ clamav-0.92/configure 2007-12-21 12:46:05.000000000 -0500 +@@ -26397,7 +26397,7 @@ echo "$as_me: WARNING: Unable to determi + esac + + +-ac_config_files="$ac_config_files libclamunrar/Makefile libclamunrar_iface/Makefile libclamav/Makefile clamscan/Makefile database/Makefile docs/Makefile clamd/Makefile clamdscan/Makefile clamav-milter/Makefile freshclam/Makefile sigtool/Makefile clamconf/Makefile etc/Makefile Makefile clamav-config libclamav.pc docs/man/clamav-milter.8 docs/man/clamconf.1 docs/man/clamd.8 docs/man/clamd.conf.5 docs/man/clamdscan.1 docs/man/clamscan.1 docs/man/freshclam.1 docs/man/freshclam.conf.5 docs/man/sigtool.1" ++ac_config_files="$ac_config_files libclamav/Makefile clamscan/Makefile database/Makefile docs/Makefile clamd/Makefile clamdscan/Makefile clamav-milter/Makefile freshclam/Makefile sigtool/Makefile clamconf/Makefile etc/Makefile Makefile clamav-config libclamav.pc docs/man/clamav-milter.8 docs/man/clamconf.1 docs/man/clamd.8 docs/man/clamd.conf.5 docs/man/clamdscan.1 docs/man/clamscan.1 docs/man/freshclam.1 docs/man/freshclam.conf.5 docs/man/sigtool.1" + + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure +@@ -27013,8 +27013,6 @@ do + case $ac_config_target in + "clamav-config.h") CONFIG_HEADERS="$CONFIG_HEADERS clamav-config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; +- "libclamunrar/Makefile") CONFIG_FILES="$CONFIG_FILES libclamunrar/Makefile" ;; +- "libclamunrar_iface/Makefile") CONFIG_FILES="$CONFIG_FILES libclamunrar_iface/Makefile" ;; + "libclamav/Makefile") CONFIG_FILES="$CONFIG_FILES libclamav/Makefile" ;; + "clamscan/Makefile") CONFIG_FILES="$CONFIG_FILES clamscan/Makefile" ;; + "database/Makefile") CONFIG_FILES="$CONFIG_FILES database/Makefile" ;; diff --git a/clamav-0.92-open.patch b/clamav-0.92-open.patch new file mode 100644 index 0000000..040fc20 --- /dev/null +++ b/clamav-0.92-open.patch @@ -0,0 +1,11 @@ +--- clamav-0.91.2/clamd/dazukoio_compat12.c.open 2007-03-06 14:38:06.000000000 +0100 ++++ clamav-0.91.2/clamd/dazukoio_compat12.c 2007-08-25 12:36:30.000000000 +0200 +@@ -89,7 +89,7 @@ int dazukoRegister_TS_compat12(struct da + if (dazuko->device < 0) + { + +- dazuko->device = open("/dev/dazuko", 0); ++ dazuko->device = open("/dev/dazuko", O_RDONLY); + if (dazuko->device < 0) + return -1; + diff --git a/clamav.spec b/clamav.spec index 45bd1b3..69321c3 100644 --- a/clamav.spec +++ b/clamav.spec @@ -1,13 +1,9 @@ -## $Id: clamav.spec,v 1.25 2006/10/21 09:28:51 ensc Exp $ - -## This package understands the following switches: -## --without milter ... deactivate the -milter subpackage - +## $Id: clamav.spec,v 1.60 2007/10/29 14:25:28 spot Exp $ ## Fedora Extras specific customization below... +%bcond_without fedora ## - %global username clamav %global homedir %_var/lib/clamav %global freshclamlog %_var/log/freshclam.log @@ -21,14 +17,20 @@ Summary: End-user tools for the Clam Antivirus scanner Name: clamav -Version: 0.88.6 -Release: %release_func 1 +Version: 0.92 +Release: %release_func 3 -License: GPL +License: GPLv2 Group: Applications/File URL: http://www.clamav.net -Source0: http://download.sourceforge.net/sourceforge/clamav/%{name}-%{version}.tar.gz -Source999: http://download.sourceforge.net/sourceforge/clamav/%{name}-%{version}.tar.gz.sig +# Unfortunately, clamav includes support for RAR v3, derived from GPL +# incompatible unrar from RARlabs. We have to pull this code out. +# All that is needed to make the clean tarball is: rm -rf libclamunrar* +# Note that you also need patch26. +Source0: clamav-%{version}.clean.tar.gz +# Source0: http://download.sourceforge.net/sourceforge/clamav/%name-%version.tar.gz +# No sense in using this file for the time being. +# Source999: http://download.sourceforge.net/sourceforge/clamav/%name-%version.tar.gz.sig Source1: clamd-wrapper Source2: clamd.sysconfig Source3: clamd.logrotate @@ -36,17 +38,29 @@ Source5: clamd-README Source6: clamav-update.logrotate Source7: clamd.SERVICE.init Source8: clamav-notify-servers -Patch0: clamav-0.88.2-guys,please-read-the-compiler-warnings-before-doing-a-release.patch -Patch1: clamav-0.88.1-strncpy.patch -Patch20: clamav-0.70-user.patch Patch21: clamav-0.70-path.patch Patch22: clamav-0.80-initoff.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -Requires: clamav-lib = %{version}-%{release} +Patch24: clamav-0.90rc3-private.patch +Patch25: clamav-0.92-open.patch +Patch26: clamav-0.92-nounrar.patch +BuildRoot: %_tmppath/%name-%version-%release-root +Requires: clamav-lib = %version-%release Requires: data(clamav) -BuildRequires: zlib-devel bzip2-devel gmp-devel tcp_wrappers curl-devel +BuildRequires: zlib-devel bzip2-devel gmp-devel curl-devel +BuildRequires: %_includedir/tcpd.h BuildRequires: bc +%package filesystem +Summary: Filesystem structure for clamav +Group: Applications/File +Provides: user(clamav) +Provides: group(clamav) +# Prevent version mix +Conflicts: %name < %version-%release +Conflicts: %name > %version-%release +BuildRequires: fedora-usermgmt-devel +%{?FE_USERADD_REQ} + %package lib Summary: Dynamic libraries for the Clam Antivirus scanner Group: System Environment/Libraries @@ -56,15 +70,25 @@ Requires: data(clamav) Summary: Header files and libraries for the Clam Antivirus scanner Group: Development/Libraries Source100: clamd-gen -Requires: clamav-lib = %{version}-%{release} +Requires: clamav-lib = %version-%release +Requires: clamav-filesystem = %version-%release Requires(pre): %_libdir/pkgconfig %package data Summary: Virus signature data for the Clam Antivirus scanner Group: Applications/File -Provides: data(clamav) -Requires(pre): fedora-usermgmt >= 0.7 -Requires(postun): fedora-usermgmt >= 0.7 +Requires(pre): clamav-filesystem = %version-%release +Requires(postun): clamav-filesystem = %version-%release +Provides: data(clamav) = full +Conflicts: data(clamav) < full +Conflicts: data(clamav) > full + +%package data-empty +Summary: Empty data package for the Clam Antivirus scanner +Group: Applications/File +Provides: data(clamav) = empty +Conflicts: data(clamav) < empty +Conflicts: data(clamav) > empty %package update Summary: Auto-updater for the Clam Antivirus scanner data-files @@ -72,41 +96,51 @@ Group: Applications/File Source200: freshclam-sleep Source201: freshclam.sysconfig Source202: clamav-update.cron -Requires: clamav-data = %{version}-%{release} +Requires: clamav-filesystem = %version-%release Requires(pre): /etc/cron.d Requires(postun): /etc/cron.d Requires(post): %__chown %__chmod +Requires(post): group(clamav) %package server Summary: Clam Antivirus scanner server Group: System Environment/Daemons -Provides: clamav-daemon = %{version}-%{release} -Obsoletes: clamav-daemon < %{version}-%{release} -Conflicts: clamav-daemon > %{version}-%{release} -## For now, use this as a placeholder. Later, generate separate -sysv -## and -minit subpackages Requires: init(clamav-server) -Provides: init(clamav-server) = sysv Requires: data(clamav) -Requires: clamav-lib = %{version}-%{release} +Requires: clamav-filesystem = %version-%release +Requires: clamav-lib = %version-%release + +%package server-sysv +Summary: SysV initscripts for clamav server +Group: System Environment/Daemons +Provides: init(clamav-server) = sysv +Requires: clamav-server = %version-%release Requires(pre): %_initrddir Requires(postun): %_initrddir %package milter Summary: Sendmail-milter for the Clam Antivirus scanner Group: System Environment/Daemons -## For now, use this as a placeholder. Later, generate separate -sysv -## and -minit subpackages Requires: init(clamav-milter) +BuildRequires: sendmail-devel +BuildRequires: fedora-usermgmt-devel +Provides: user(%milteruser) +Provides: group(%milteruser) +Requires: sendmail +Requires(post): coreutils +%{?FE_USERADD_REQ} + +%package milter-sysv +Summary: SysV initscripts for the clamav sendmail-milter +Group: System Environment/Daemons Provides: init(clamav-milter) = sysv -%{!?_without_milter:BuildRequires: sendmail-devel} -Requires: sendmail +Requires: clamav-milter = %version-%release +Requires(post): user(%milteruser) clamav-milter +Requires(preun): user(%milteruser) clamav-milter Requires(pre): %_initrddir Requires(postun): %_initrddir initscripts -Requires(post): chkconfig coreutils +Requires(post): chkconfig Requires(preun): chkconfig initscripts -Requires(pre): fedora-usermgmt >= 0.7 -Requires(postun): fedora-usermgmt >= 0.7 %description @@ -120,6 +154,9 @@ the virus database from OpenAntiVirus, but contains additional signatures (including signatures for popular polymorphic viruses, too) and is KEPT UP TO DATE. +%description filesystem +This package provides the filesystem structure and contains the +user-creation scripts required by clamav. %description lib This package contains dynamic libraries shared between applications @@ -132,7 +169,29 @@ build applications using clamav. %description data This package contains the virus-database needed by clamav. This database should be updated regularly; the 'clamav-update' package -ships a corresponding cron-job. +ships a corresponding cron-job. This package and the +'clamav-data-empty' package are mutually exclusive. + +Use -data when you want a working (but perhaps outdated) virus scanner +immediately after package installation. + +Use -data-empty when you are updating the virus database regulary and +do not want to download a >5MB sized rpm-package with outdated virus +definitions. + + +%description data-empty +This is an empty package to fulfill inter-package dependencies of the +clamav suite. This package and the 'clamav-data' package are mutually +exclusive. + +Use -data when you want a working (but perhaps outdated) virus scanner +immediately after package installation. + +Use -data-empty when you are updating the virus database regulary and +do not want to download a >5MB sized rpm-package with outdated virus +definitions. + %description update This package contains programs which can be used to update the clamav @@ -150,6 +209,11 @@ of this daemon should be started for each service requiring it. See the README file how this can be done with a minimum of effort. + +%description server-sysv +SysV initscripts template for the clamav server + + %description milter This package contains files which are needed to run the clamav-milter. It can be activated by adding @@ -158,18 +222,20 @@ can be activated by adding to your sendmail.mc. -THIS PACKAGE IS TO BE CONSIDERED AS EXPERIMENTAL! +%description milter-sysv +The SysV initscripts for clamav-milter. + ## ------------------------------------------------------------ %prep %setup -q -%patch0 -p1 -b '.guys,please-read-the-compiler-warnings-before-doing-a-release.patch' -%patch1 -p1 -b .strncpy -%patch20 -p1 -b .user %patch21 -p1 -b .path %patch22 -p1 -b .initoff +%patch24 -p1 -b .private +%patch25 -p1 -b .open +%patch26 -p1 -b .nounrar perl -pi -e 's!^(#?LogFile ).*!\1/var/log/clamd.!g; s!^#?(LocalSocket ).*!\1/var/run/clamd./clamd.sock!g; @@ -184,33 +250,26 @@ perl -pi -e 's!^#(UpdateLogFile )!\1!g;' etc/freshclam.conf ## ------------------------------------------------------------ %build -## '--disable-zlib-vcheck' is used because every FC<=3 ships zlib-1.2.1* -## but clamav checks for zlib >= 1.2.2. This option can be removed for -## FC4 builds. -## -## See https://bugzilla.redhat.com/beta/show_bug.cgi?id=131385 and -## http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0797 -## also -CFLAGS="$RPM_OPT_FLAGS -Wall -W -W -Wmissing-prototypes -Wmissing-declarations -std=gnu99" +CFLAGS="$RPM_OPT_FLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -std=gnu99" +export LDFLAGS='-Wl,--as-needed' +# HACK: remove me, when configure uses $LIBS instead of $LDFLAGS for milter check +export LIBS='-lmilter -lpthread' %configure --disable-clamav --with-dbdir=/var/lib/clamav \ - --disable-zlib-vcheck \ - %{!?_without_milter:--enable-milter} + --enable-milter --disable-static --disable-unrar +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +# No rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -## HACK: ./configure checks if freshclam.conf/clamd.conf are existing -## in current filesystem and skips its installation then. Was introduced -## by 0.66. -perl -pi -e 's!^(s,\@INSTALL_(CLAMAV|FRESHCLAM)_CONF_TRUE\@),[^,]*,!\1,,!g; - s!^(s,\@INSTALL_(CLAMAV|FRESHCLAM)_CONF_FALSE\@),[^,]*,!\1,\#,!g' config.status -./config.status -%{__make} %{?_smp_mflags} +make %{?_smp_mflags} ## ------------------------------------------------------------ %install rm -rf "$RPM_BUILD_ROOT" _doc* -%{__make} DESTDIR="$RPM_BUILD_ROOT" install +make DESTDIR="$RPM_BUILD_ROOT" install function smartsubst() { local tmp @@ -226,43 +285,46 @@ function smartsubst() { } -%{__install} -d -m755 \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/{clamd.d,cron.d,logrotate.d,sysconfig} \ - ${RPM_BUILD_ROOT}%{_var}/log \ +install -d -m755 \ + ${RPM_BUILD_ROOT}%_sysconfdir/{clamd.d,cron.d,logrotate.d,sysconfig} \ + ${RPM_BUILD_ROOT}%_var/log \ ${RPM_BUILD_ROOT}%milterstatedir \ ${RPM_BUILD_ROOT}%pkgdatadir/template \ - ${RPM_BUILD_ROOT}%{_initrddir} + ${RPM_BUILD_ROOT}%_initrddir \ + ${RPM_BUILD_ROOT}%homedir/daily.inc -rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/clamd.conf \ - ${RPM_BUILD_ROOT}%{_libdir}/*.la +rm -f ${RPM_BUILD_ROOT}%_sysconfdir/clamd.conf \ + ${RPM_BUILD_ROOT}%_libdir/*.la -%{?_without_milter:rm -f $RPM_BUILD_ROOT%_mandir/*/*milter*} +for i in COPYING daily.{db,fp,hdb,info,ndb,pdb,zmd}; do + touch ${RPM_BUILD_ROOT}%homedir/daily.inc/$i +done ## prepare the server-files mkdir _doc_server -%{__install} -m644 -p %{SOURCE2} _doc_server/clamd.sysconfig -%{__install} -m644 -p %{SOURCE3} _doc_server/clamd.logrotate -%{__install} -m755 -p %{SOURCE7} _doc_server/clamd.init -%{__install} -m644 -p %{SOURCE5} _doc_server/README -%__install -m644 -p etc/clamd.conf _doc_server/clamd.conf +install -m644 -p %SOURCE2 _doc_server/clamd.sysconfig +install -m644 -p %SOURCE3 _doc_server/clamd.logrotate +install -m755 -p %SOURCE7 _doc_server/clamd.init +install -m644 -p %SOURCE5 _doc_server/README +install -m644 -p etc/clamd.conf _doc_server/clamd.conf -%__install -m644 -p %SOURCE1 $RPM_BUILD_ROOT%pkgdatadir -%__install -m755 -p %SOURCE100 $RPM_BUILD_ROOT%pkgdatadir -cp -pa _doc_server/* $RPM_BUILD_ROOT%pkgdatadir/template -ln -s %pkgdatadir/clamd-wrapper $RPM_BUILD_ROOT%_initrddir/clamd-wrapper +install -m644 -p %SOURCE1 $RPM_BUILD_ROOT%pkgdatadir +install -m755 -p %SOURCE100 $RPM_BUILD_ROOT%pkgdatadir +cp -pa _doc_server/* $RPM_BUILD_ROOT%pkgdatadir/template +ln -s %pkgdatadir/clamd-wrapper $RPM_BUILD_ROOT%_initrddir/clamd-wrapper smartsubst 's!/usr/share/clamav!%pkgdatadir!g' $RPM_BUILD_ROOT%pkgdatadir/clamd-wrapper ## prepare the update-files -%{__install} -m644 -p %{SOURCE6} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/clamav-update -%{__install} -m755 -p %{SOURCE8} ${RPM_BUILD_ROOT}%{_sbindir}/clamav-notify-servers -touch ${RPM_BUILD_ROOT}%{freshclamlog} +install -m644 -p %SOURCE6 ${RPM_BUILD_ROOT}%_sysconfdir/logrotate.d/clamav-update +install -m755 -p %SOURCE8 ${RPM_BUILD_ROOT}%_sbindir/clamav-notify-servers +touch ${RPM_BUILD_ROOT}%freshclamlog -%__install -p -m0755 %SOURCE200 $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep -%__install -p -m0644 %SOURCE201 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam -%__install -p -m0600 %SOURCE202 $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update +install -p -m0755 %SOURCE200 $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep +install -p -m0644 %SOURCE201 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/freshclam +install -p -m0600 %SOURCE202 $RPM_BUILD_ROOT%_sysconfdir/cron.d/clamav-update smartsubst 's!webmaster,clamav!webmaster,%username!g; s!/usr/share/clamav!%pkgdatadir!g; @@ -272,9 +334,7 @@ smartsubst 's!webmaster,clamav!webmaster,%username!g; $RPM_BUILD_ROOT%pkgdatadir/freshclam-sleep -%if 0%{!?_without_milter:1} #### The milter stuff - function subst() { sed -e 's!!milter!g;s!!%milteruser!g;'"$3" "$1" >"$RPM_BUILD_ROOT$2" } @@ -285,15 +345,11 @@ subst etc/clamd.conf /etc/clamd.d/milter.conf \ cat <$RPM_BUILD_ROOT%_sysconfdir/sysconfig/clamav-milter -## The '-blo' options might be usefully here -- especially for testing; see -## "man 8 clamav-milter" for further options -CLAMAV_FLAGS='--max-children=2 -c /etc/clamd.d/milter.conf local:%milterstatedir/clamav.sock' -CLAMAV_USER='%milteruser' +CLAMAV_FLAGS='-lo -c /etc/clamd.d/milter.conf local:%milterstatedir/clamav.sock' EOF -%__install -p -m755 contrib/init/RedHat/clamav-milter $RPM_BUILD_ROOT%_initrddir/clamav-milter +install -p -m755 contrib/init/RedHat/clamav-milter $RPM_BUILD_ROOT%_initrddir/clamav-milter touch $RPM_BUILD_ROOT%milterstatedir/clamav.sock $RPM_BUILD_ROOT%milterlog -%endif # _without_milter ## ------------------------------------------------------------ @@ -303,43 +359,49 @@ rm -rf "$RPM_BUILD_ROOT" ## ------------------------------------------------------------ -%pre data -/usr/sbin/fedora-groupadd 4 -r %{username} &>/dev/null || : -/usr/sbin/fedora-useradd 4 -r -s /sbin/nologin -d %{homedir} -M \ - -c 'Clamav database update user' -g %{username} %{username} &>/dev/null || : +%pre filesystem +%__fe_groupadd 4 -r %username &>/dev/null || : +%__fe_useradd 4 -r -s /sbin/nologin -d %homedir -M \ + -c 'Clamav database update user' -g %username %username &>/dev/null || : + +%postun filesystem +%__fe_userdel %username &>/dev/null || : +%__fe_groupdel %username &>/dev/null || : + %post update -test -e %{freshclamlog} || { - touch %{freshclamlog} - %{__chmod} 0664 %{freshclamlog} - %{__chown} root:%{username} %{freshclamlog} +test -e %freshclamlog || { + touch %freshclamlog + %__chmod 0664 %freshclamlog + %__chown root:%username %freshclamlog } -%postun data -test "$1" != 0 || /usr/sbin/fedora-userdel %{username} &>/dev/null || : -test "$1" != 0 || /usr/sbin/fedora-groupdel %{username} &>/dev/null || : - %pre milter -/usr/sbin/fedora-groupadd 5 -r %milteruser &>/dev/null || : -/usr/sbin/fedora-useradd 5 -r -s /sbin/nologin -d %milterstatedir -M \ - -c 'Clamav Milter User' -g %milteruser %milteruser &>/dev/null || : +%__fe_groupadd 5 -r %milteruser &>/dev/null || : +%__fe_useradd 5 -r -s /sbin/nologin -d %milterstatedir -M \ + -c 'Clamav Milter User' -g %milteruser %milteruser &>/dev/null || : %post milter -/sbin/chkconfig --add clamav-milter test -e %milterlog || { touch %milterlog chmod 0620 %milterlog chown root:%milteruser %milterlog } -%preun milter -test "$1" != 0 || %{_initrddir}/clamav-milter stop &>/dev/null || : +%postun milter +%__fe_userdel %milteruser &>/dev/null || : +%__fe_groupdel %milteruser &>/dev/null || : + + +%post milter-sysv +/sbin/chkconfig --add clamav-milter + +%preun milter-sysv +test "$1" != 0 || %_initrddir/clamav-milter stop &>/dev/null || : test "$1" != 0 || /sbin/chkconfig --del clamav-milter -%postun milter -test "$1" != 0 || /usr/sbin/fedora-userdel %{milteruser} &>/dev/null || : -test "$1" != 0 || /usr/sbin/fedora-groupdel %{milteruser} &>/dev/null || : -test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : +%postun milter-sysv +test "$1" = 0 || %_initrddir/clamav-milter condrestart >/dev/null || : %post lib -p /sbin/ldconfig @@ -348,28 +410,26 @@ test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : %files %defattr(-,root,root,-) -%doc AUTHORS BUGS COPYING ChangeLog FAQ NEWS TODO +%doc AUTHORS BUGS COPYING ChangeLog FAQ NEWS README UPGRADE %doc docs/*.pdf -%{_mandir}/man[15]/* -%{_bindir}/* +%_bindir/* +%_mandir/man[15]/* %exclude %_bindir/clamav-config %exclude %_bindir/freshclam -%exclude %_mandir/man1/freshclam* +%exclude %_mandir/*/freshclam* ## ----------------------- %files lib %defattr(-,root,root,-) -%{_libdir}/*.so.* +%_libdir/*.so.* ## ----------------------- %files devel %defattr(-,root,root,-) -%{_includedir}/* -%{_libdir}/*.*a -%{_libdir}/*.so -%dir %pkgdatadir +%_includedir/* +%_libdir/*.so %pkgdatadir/template %pkgdatadir/clamd-gen %_libdir/pkgconfig/* @@ -377,27 +437,48 @@ test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : ## ----------------------- +%files filesystem +%attr(-,%username,%username) %dir %homedir +%attr(-,%username,%username) %dir %homedir/daily.inc +%attr(-,root,root) %dir %pkgdatadir + +## ----------------------- + %files data -%defattr(-,%{username},%{username},-) -%dir %{homedir} +%defattr(-,%username,%username,-) # use %%config to keep files which were updated by 'freshclam' # already. Without this tag, they would be overridden with older # versions whenever a new -data package is installed. -%config %verify(not size md5 mtime) %{homedir}/*.cvd +%config %verify(not size md5 mtime) %homedir/*.cvd + + +%files data-empty +%defattr(-,%username,%username,-) +%ghost %attr(0664,%username,%username) %homedir/main.cvd ## ----------------------- %files update %defattr(-,root,root,-) %_bindir/freshclam -%_mandir/man1/freshclam* +%_mandir/*/freshclam* %pkgdatadir/freshclam-sleep %config(noreplace) %verify(not mtime) %_sysconfdir/freshclam.conf %config(noreplace) %verify(not mtime) %_sysconfdir/logrotate.d/* %config(noreplace) %_sysconfdir/cron.d/* %config(noreplace) %_sysconfdir/sysconfig/freshclam -%ghost %attr(0664,root,%{username}) %verify(not size md5 mtime) %{freshclamlog} +%ghost %attr(0664,root,%username) %verify(not size md5 mtime) %freshclamlog + +%ghost %attr(0664,%username,%username) %homedir/daily.inc/COPYING +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.db +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.fp +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.hdb +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.info +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.ndb +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.pdb +%ghost %attr(0664,%username,%username) %homedir/daily.inc/daily.zmd + ## ----------------------- @@ -405,17 +486,19 @@ test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : %defattr(-,root,root,-) %doc _doc_server/* %_mandir/man[58]/clamd* -%{_sbindir}/* -%_initrddir/clamd-wrapper -%dir %pkgdatadir -%dir %{_sysconfdir}/clamd.d +%_sbindir/* %pkgdatadir/clamd-wrapper +%dir %_sysconfdir/clamd.d - -%if 0%{!?_without_milter:1} %exclude %_sbindir/*milter* %exclude %_mandir/man8/clamav-milter* + +%files server-sysv +%defattr(-,root,root,-) +%_initrddir/clamd-wrapper + + ## ----------------------- %files milter @@ -423,50 +506,163 @@ test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : %doc clamav-milter/INSTALL %_sbindir/*milter* %_mandir/man8/clamav-milter* -%config %{_initrddir}/clamav-milter -%config(noreplace) %verify(not mtime) %{_sysconfdir}/clamd.d/milter.conf -%config(noreplace) %verify(not mtime) %{_sysconfdir}/sysconfig/clamav-milter +%config(noreplace) %verify(not mtime) %_sysconfdir/clamd.d/milter.conf %attr(0700,%milteruser,%milteruser) %dir %milterstatedir %ghost %milterstatedir/* %ghost %attr(0620,root,%milteruser) %verify(not size md5 mtime) %milterlog -%endif # _without_milter + + +%files milter-sysv +%defattr(-,root,root,-) +%config %_initrddir/clamav-milter +%config(noreplace) %verify(not mtime) %_sysconfdir/sysconfig/clamav-milter + %changelog +* Fri Dec 21 2007 Tom "spot" Callaway - 0.92-1 +- updated to 0.92 (SECURITY): +- CVE-2007-6335 MEW PE File Integer Overflow Vulnerability + +* Mon Oct 29 2007 Tom "spot" Callaway - 0.91.2-3 +- remove RAR decompression code from source tarball because of + legal problems (resolves 334371) +- correct license tag + +* Mon Sep 24 2007 Jesse Keating - 0.91.2-2 +- Bump release for upgrade path. + +* Sat Aug 25 2007 Enrico Scholz - 0.91.2-1 +- updated to 0.91.2 (SECURITY): +- CVE-2007-4510 DOS in RTF parser +- DOS in html normalizer +- arbitrary command execution by special crafted recipients in + clamav-milter's black-hole mode +- fixed an open(2) issue + +* Tue Jul 17 2007 Enrico Scholz - 0.91.1-0 +- updated to 0.91.1 + +* Thu Jul 12 2007 Enrico Scholz - 0.91-1 +- updated to 0.91 + +* Thu May 31 2007 Enrico Scholz - 0.90.3-1 +- updated to 0.90.3 +- BR tcpd.h instead of tcp_wrappers(-devel) to make it build both + in FC6- and F7+ + +* Fri Apr 13 2007 Enrico Scholz - 0.90.2-1 +- [SECURITY] updated to 0.90.2; fixes CVE-2007-1745, CVE-2007-1997 + +* Fri Mar 2 2007 Enrico Scholz - 0.90.1-2 +- BR 'tcp_wrappers-devel' instead of plain 'tcp_wrappers' + +* Fri Mar 2 2007 Enrico Scholz - 0.90.1-1 +- updated to 0.90.1 +- updated %%doc list + +* Sun Feb 18 2007 Enrico Scholz - 0.90-1 +- updated to final 0.90 +- removed -visibility patch since fixed upstream + +* Sun Feb 4 2007 Enrico Scholz - 0.90-0.3.rc3 +- build with -Wl,-as-needed and cleaned up pkgconfig file +- removed old hack which forced installation of freshclam.conf; related + check was removed upstream +- removed static library +- removed %%changelog entries from before 2004 + +* Sat Feb 3 2007 Enrico Scholz - 0.90-0.2.rc3 +- updated to 0.90rc3 +- splitted mandatory parts from the data-file into a separate -filesystem + subpackage +- added a -data-empty subpackage to allow a setup where database is + updated per cron-job and user does not want to download the large + -data package with outdated virus definitations (#214949) +- %%ghost'ed the files downloaded by freshclam + +* Tue Dec 12 2006 Enrico Scholz - 0.88.7-1 +- updated to 0.88.7 + * Sun Nov 5 2006 Enrico Scholz - 0.88.6-1 - updated to 0.88.6 -* Sat Oct 21 2006 Enrico Scholz - 0.88.5-1 +* Wed Oct 18 2006 Enrico Scholz - 0.88.5-1 - updated to 0.88.5 (SECURITY); fixes CVE-2006-4182, CVE-2006-5295 +- added patch to set '__attribute__ ((visibility("hidden")))' for + exported MD5_*() functions (fixes #202043) + +* Thu Oct 05 2006 Christian Iseli 0.88.4-4 + - rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Thu Sep 21 2006 Enrico Scholz - 0.88.4-3 +- splitted SysV initscripts of -milter and -server into own subpackages + +* Fri Sep 15 2006 Enrico Scholz - 0.88.4-2 +- rebuilt * Tue Aug 8 2006 Enrico Scholz - 0.88.4-1 - updated to 0.88.4 (SECURITY) -- removed some superfluous %%doc * Wed Jul 12 2006 Enrico Scholz - removed the clamdscan(1) manpage from the -server subpackage +* Sat Jul 8 2006 Enrico Scholz +- removed a superfluous '}' +- removed some code which was relevant for FC-3 only + * Sat Jul 8 2006 Enrico Scholz - 0.88.3-1 - updated to 0.88.3 +- updated to new fedora-usermgmt macros + +* Tue May 16 2006 Enrico Scholz - 0.88.2-2 +- cleanups: removed unneeded curlies, use plain command instead of + %%__XXX macro, whitespace cleanup, removed unneeded versioned + dependencies +- added a 'Requires(post): group(clamav)' dependencies for -update and + added the corresponding Provides: to -data +- removed the %%_without_milter conditional; you won't gain anything + when milter would be disabled at buildtime * Sun Apr 30 2006 Enrico Scholz - 0.88.2-1 - updated to 0.88.2 (SECURITY) +- rediffed patches; most issues handled by 0.88.1-2 are fixed in + 0.88.2 + +* Mon Apr 24 2006 Enrico Scholz - 0.88.1-2 +- added patch which fixes some classes of compiler warnings; at least + the using of implicitly declared functions was reported to cause + segfaults on AMD64 (brought to my attention by Marc Perkel) - added patch which fixes wrong usage of strncpy(3) in unrarlib.c -- added patch which fixes some classes of compiler warnings -* Mon Apr 10 2006 Enrico Scholz - 0.88.1-1 +* Thu Apr 06 2006 Enrico Scholz - 0.88.1-1 - updated to 0.88.1 (SECURITY) +* Sat Feb 18 2006 Enrico Scholz - 0.88-2 +- rebuilt for FC5 + * Tue Jan 10 2006 Enrico Scholz - 0.88-1 - updated to 0.88 - added pseudo-versions for the 'init(...)' provides as a first step for the support of alternative initmethods +* Tue Nov 15 2005 Enrico Scholz - 0.87.1-2 +- moved 'freshclam.conf.5' man page into the -update subpackage (#173221) +- ship 'clamd.conf.5' man page in the -server subpackage *too*. The + same file is contained in multiple packages now, but this man-page + can not be removed from the base package because it also applies to + 'clamdscan' there (#173221). + * Fri Nov 4 2005 Enrico Scholz - 0.87.1-1 - updated to 0.87.1 * Sat Sep 17 2005 Enrico Scholz - 0.87-1 - updated to 0.87 (SECURITY) - removed -timeout patch; it is solved upstream +- reverted the -exim changes; they add yet more complexity, their + functionality can go into an own package and they contained flaws + +* Fri Sep 9 2005 David Woodhouse - 0.86.2-5 +- Add clamav-exim configuration package * Fri Jul 29 2005 Enrico Scholz - 0.86.2-4 - [milter] create the milter-logfile in the %%post scriptlet @@ -663,83 +859,3 @@ test "$1" = 0 || %{_initrddir}/clamav-milter condrestart >/dev/null || : * Mon Feb 9 2004 Enrico Scholz - 0:0.65-0.fdr.5 - added security fix for http://www.securityfocus.com/archive/1/353194/2004-02-06/2004-02-12/1 - -* Fri Nov 28 2003 Enrico Scholz - 0:0.65-0.fdr.4 -- fixed typo in README (sysconf.d vs. sysconf) -- make build on rhl8 succeed by adding '|| :' to %%check - -* Tue Nov 18 2003 Enrico Scholz - 0:0.65-0.fdr.3 -- substitute 'User' in sample cfg-file also -- uncommented some cfg-options which are needed for a proper operation -- fixed typos in README (thanks to Michael Schwendt) - -* Mon Nov 17 2003 Enrico Scholz - 0:0.65-0.fdr.2 -- fixed path of 'LocalSocket' and documented steps how to create it -- added a missing backslash at the configure-call -- do not package clamav-milter.8 manpage -- documented 'User' in the README - -* Sat Nov 15 2003 Enrico Scholz - 0:0.65-0.fdr.1 -- updated to 0.65 -- added gmp-devel buildrequires: -- changed installed databases from 'viruses.db*' to '*.cvb' -- made milter-build conditional; 0.65 is missing some files which would break the build else -- fixed typo (clamav-notify-server -> clamav-notify-servers) - -* Fri Oct 31 2003 Enrico Scholz - 0:0.60-0.fdr.5 -- created -update subpackage and filled it with files from main and -data package -- set more reasonable default-values in the sample config-file -- made the README in -server more clear -- moved clamav-milter man-page into -milter subpackage -- use fedora-usermgmt -- renamed -daemon subpackage and related files to -server -- use abstract 'data(clamav)' notation for clamav-data dependencies -- use 'init(...)' requirements as placeholder for future -sysv/-minit subpackages - -* Sat Aug 16 2003 Enrico Scholz 0:0.60-0.fdr.4 -- backported clamav-sockwrite.c to C89 - -* Fri Aug 15 2003 Enrico Scholz 0:0.60-0.fdr.3 -- updated Source0 URL -- fixed portuguese i18n-abbreviation - -* Fri Jul 18 2003 Enrico Scholz 0:0.60-0.fdr.3 -- use LSB compliant exit-codes in the init-script -- other init-script cleanups - -* Tue Jul 15 2003 Enrico Scholz 0:0.60-0.fdr.2 -- updated %%description -- removed README from %%doc-list - -* Thu Jun 26 2003 Enrico Scholz 0:0.60-0.fdr.1 -- disabled -milter subpackage; I do not get it to run :( - -* Thu Jun 26 2003 Enrico Scholz 0:0.60-0.fdr.0.1 -- updated to 0.60 -- modernized usercreation -- added -milter subpackage - -* Thu May 8 2003 Enrico Scholz 0:0.54-0.fdr.2 -- added BUGS file -- moved clamd.8 man-page into daemon-subpackage -- some cosmetical cleanups -- removed config-patch; it was unused -- made some paths more fedora-compliant -- honor $RPM_OPT_FLAGS -- added clamav-notify-daemons script -- removed obsoleted %%socketdir - -* Wed May 7 2003 Enrico Scholz 0:0.54-0.fdr.0.1 -- splitted into additional -data/-daemon packages -- added clamav-sockwrite program -- updated to recent fedora policies - -* Thu Nov 21 2002 Enrico Scholz 0.54-1 -- updated to 0.54 -- updated config-patch - -* Tue Oct 29 2002 Enrico Scholz 0.52-1 -- updated to 0.52 - -* Tue Sep 17 2002 Enrico Scholz -- Initial build. diff --git a/sources b/sources index e74691d..10dd892 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -db7f8b947bc21023f36e04bfdd555dd0 clamav-0.88.6.tar.gz -38070a003e0eb5438ba7ad901556fd25 clamav-0.88.6.tar.gz.sig +554d44a5b2265808750553d2e4d0d6fb clamav-0.92.clean.tar.gz