Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 2003 21:42:00 +0200 (CEST)
From:      Rob Evers <rob@debank.tv>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/57371: Update security/clamav-devel
Message-ID:  <200309291942.h8TJg0qJ028411@haha.debank.tv>
Resent-Message-ID: <200309291950.h8TJoRfd041001@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         57371
>Category:       ports
>Synopsis:       Update security/clamav-devel
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 29 12:50:24 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Rob Evers
>Release:        FreeBSD 4.9-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD haha.debank.tv 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #0: Thu Sep 18 16:37:14 CEST 2003 rob@haha.debank.tv:/usr/obj/usr/src/sys/HAHA i386


	
>Description:
Update security/clamav-devel
- use included libtool (seems heavily patched)
- make packageable and include a working configure file
- don't install useless .la files
- use DATADIR
- 510001 is FreeBSD 5.10, 5.1-CURRENT is 501100
- Change log and pid file location to more universal one
- RC-ng scripts for clamd and clamav-milter are planned

- Thanks to Oliver Eikemeier from whom I stole most (clamav-port)

>How-To-Repeat:
>Fix:

Create a file files/patch-ltmain.sh
and then apply this diff

--- clamav-devel.patch begins here ---
diff -ruN clamav-devel.orig/Makefile clamav-devel/Makefile
--- clamav-devel.orig/Makefile	Fri Sep 26 19:34:19 2003
+++ clamav-devel/Makefile	Mon Sep 29 18:35:09 2003
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	clamav
-PORTVERSION=	20030926
+PORTVERSION=	20030928
 CATEGORIES=	security
 MASTER_SITES=	http://clamav.sourceforge.net/snapshot/
 PKGNAMESUFFIX=	-devel
@@ -32,20 +32,32 @@
 CONFIGURE_ARGS=	--prefix=${PREFIX} \
 		--disable-clamav --enable-bigstack
 CFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	${PTHREAD_LIBS}
 CONFIGURE_ENV+=	LDFLAGS="${LDFLAGS}"
 
 MAN1=		clamscan.1 freshclam.1 sigtool.1 clamdscan.1 clamav-milter.1
 MAN5=		clamav.conf.5
 MAN8=		clamd.8
 
-CLAMAVUSER?=	clamav
-SPOOLDIR?=	/var/clamd
-PLIST_SUB+=	SPOOLDIR="${SPOOLDIR}"
-PLIST_SUB+=	CLAMAVUSER="${CLAMAVUSER}"
+CLAMAVUSER?=    clamav
+CLAMAVGROUP?=   clamav
+
+PLIST_SUB+=     CLAMAVUSER="${CLAMAVUSER}"
+PLIST_SUB+=     CLAMAVGROUP="${CLAMAVGROUP}"
+
+SED_SCRIPT=	-e 's|%%PREFIX%%|${PREFIX}|g' \
+		-e 's|%%DATADIR%%|${DATADIR}|g'
+
+SED_CONF=	-E -e 's|^\#?(Example)$$|\#\1|' \
+		-e 's|^\#?(LogFile) .*$$|\1 /var/log/clamav/clamd.log|' \
+		-e 's|^\#?(PidFile) .*$$|\1 /var/run/clamav/clamd.pid|' \
+		-e 's|^\#?(LocalSocket) .*$$|\1 /var/run/clamav/clamd|' \
+		-e 's|^\#?(User) .*$$|\1 ${CLAMAVUSER}|' \
+		-e 's|^\#?(ScanMail)$$|\1|'
 
 .include <bsd.port.pre.mk>
 
-.if ${OSVERSION} < 510001
+.if ${OSVERSION} < 501001
 # compiles only with optimizer
 CFLAGS+=	-O
 LDFLAGS+=	-lcipher
@@ -69,9 +81,27 @@
 	@${REINPLACE_CMD} -e 's|/usr/lib/sendmail|/usr/sbin/sendmail|g' \
 		${WRKSRC}/clamav-milter/clamav-milter.c
 
+pre-configure:
+	@${REINPLACE_CMD} -e 's|clamav.conf|&.default|' \
+		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} \
+		${CONFIGURE_WRKSRC}/etc/Makefile.in
+.ifdef USE_LIBTOOL_VER
+	@${REINPLACE_CMD} -e '/^LIBTOOL=/s|\$$(top_builddir)/libtool|${LIBTOOL}|' \
+		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+.endif
+
+post-build:
+	@${SED} ${SED_CONF} ${BUILD_WRKSRC}/etc/clamav.conf \
+		>${BUILD_WRKSRC}/etc/clamav.conf.default
+
+pre-install:
+	 ${SETENV} PKG_PREFIX=${PREFIX} \
+                ${SH} ${PKGINSTALL} ${PREFIX}
+
 post-install:
-	${SETENV} PKG_PREFIX=${PREFIX} \
-		${SH} ${PKGINSTALL} ${PREFIX}
+	@[ -f ${PREFIX}/etc/clamav.conf ] || \
+		${CP} ${PREFIX}/etc/clamav.conf.default ${PREFIX}/etc/clamav.conf
+	@${CHOWN} -R ${CLAMAVUSER}:${CLAMAVGROUP} ${DATADIR}
 	${INSTALL_SCRIPT} ${WRKSRC}/clamav-clamd.sh \
 		${LOCALBASE}/etc/rc.d/clamav-clamd.sh.sample
 .if defined(WITH_MILTER)
diff -ruN clamav-devel.orig/distinfo clamav-devel/distinfo
--- clamav-devel.orig/distinfo	Fri Sep 26 19:34:19 2003
+++ clamav-devel/distinfo	Mon Sep 29 18:35:29 2003
@@ -1 +1 @@
-MD5 (clamav-devel-20030926.tar.gz) = 7b8f32e8dc373c51e1cb1a2bda07bdad
+MD5 (clamav-devel-20030928.tar.gz) = 72bb345563a2e31ac70e9f90b2954cac
diff -ruN clamav-devel.orig/files/patch-ltmain.sh clamav-devel/files/patch-ltmain.sh
--- clamav-devel.orig/files/patch-ltmain.sh	Thu Jan  1 01:00:00 1970
+++ clamav-devel/files/patch-ltmain.sh	Mon Sep 29 18:27:22 2003
@@ -0,0 +1,23 @@
+--- ltmain.sh.orig	Sat Sep 27 05:20:20 2003
++++ ltmain.sh	Sat Sep 27 05:24:02 2003
+@@ -4259,10 +4259,16 @@
+ 	fi
+ 
+ 	# Install the pseudo-library for information purposes.
+-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+-	instname="$dir/$name"i
+-	$show "$install_prog $instname $destdir/$name"
+-	$run eval "$install_prog $instname $destdir/$name" || exit $?
++	case $host in
++	*-*-freebsd*)
++	  # Do not install the useless pseudo-library
++	;;
++	*)
++	  name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++	  instname="$dir/$name"i
++	  $show "$install_prog $instname $destdir/$name"
++	  $run eval "$install_prog $instname $destdir/$name" || exit $?
++	esac
+ 
+ 	# Maybe install the static library, too.
+ 	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
diff -ruN clamav-devel.orig/pkg-install clamav-devel/pkg-install
--- clamav-devel.orig/pkg-install	Fri Sep 26 19:34:19 2003
+++ clamav-devel/pkg-install	Mon Sep 29 18:27:22 2003
@@ -4,11 +4,12 @@
 	CLAMAVUSER=clamav
 fi
 
-if [ -z "${SPOOLDIR}" ]; then
-	SPOOLDIR=/var/clamd
+if [ -z "${CLAMAVGROUP}" ]; then
+	CLAMAVGROUP=clamav
 fi
 
-CLAMAVGROUP=${CLAMAVUSER}
+CLAMRUN=/var/run/clamav
+CLAMLOG=/var/log/clamav
 
 echo "===> Adding user \"${CLAMAVUSER}\" if necessary."
 if ! pw groupshow "${CLAMAVGROUP}" 2>/dev/null 1>&2; then
@@ -22,7 +23,7 @@
 
 if ! pw usershow "${CLAMAVUSER}" 2>/dev/null 1>&2; then
 	if pw useradd ${CLAMAVUSER} -g ${CLAMAVGROUP} -h - \
-		-s "/usr/sbin/nologin" -d "${SPOOLDIR}" \
+		-s "/usr/sbin/nologin" -d "/nonexistent" \
 		-c "Clam Antivirus"; \
         then
                 echo "===> Added user \"${CLAMAVUSER}\"."
@@ -33,7 +34,10 @@
 fi
 
 echo "===> Setting permissions..."
-mkdir ${SPOOLDIR}
-chown -R ${CLAMAVUSER}:${CLAMAVGROUP} ${PKG_PREFIX}/share/clamav ${SPOOLDIR}
+mkdir -p "${CLAMRUN}"
+chown "${CLAMAVUSER}:${CLAMAVGROUP}" "${CLAMRUN}"
+
+mkdir -p "${CLAMLOG}"
+chown "${CLAMAVUSER}:${CLAMAVGROUP}" "${CLAMLOG}"
 
 exit 0
diff -ruN clamav-devel.orig/pkg-plist clamav-devel/pkg-plist
--- clamav-devel.orig/pkg-plist	Fri Sep 26 19:34:19 2003
+++ clamav-devel/pkg-plist	Mon Sep 29 18:27:22 2003
@@ -10,10 +10,17 @@
 include/clamav.h
 lib/libclamav.so.1
 lib/libclamav.so
-lib/libclamav.la
 lib/libclamav.a
-share/clamav/mirrors.txt
-@dirrm share/clamav
+@unexec if cmp -s %D/etc/clamav.conf %D/etc/clamav.conf.default; then rm -f %D/etc/clamav.conf; fi
+etc/clamav.conf.default
+@exec [ -f %B/clamav.conf ] || cp %B/%f %B/clamav.conf
+@owner %%CLAMAVUSER%%
+@group %%CLAMAVGROUP%%
+%%DATADIR%%/mirrors.txt
+@exec chown %%CLAMAVUSER%%:%%CLAMAVGROUP%% %B
+@dirrm %%DATADIR%%
+@unexec rmdir /var/run/clamav 2>/dev/null || true
+@unexec rmdir /var/log/clamav 2>/dev/null || true
 @unexec echo ""
 @unexec echo "========================================================="
 @unexec echo " If you want to deinstall this package permanently then"
--- clamav-devel.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309291942.h8TJg0qJ028411>