Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2006 01:44:10 -0500 (EST)
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/92583: [PATCH] Additional FAM system fixes
Message-ID:  <200601310644.k0V6iAoB027077@shumai.marcuscom.com>
Resent-Message-ID: <200601310650.k0V6o2Th031096@freefall.freebsd.org>

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

>Number:         92583
>Category:       ports
>Synopsis:       [PATCH] Additional FAM system fixes
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 31 06:50:02 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Joe Marcus Clarke
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD shumai.marcuscom.com 6.0-STABLE FreeBSD 6.0-STABLE #23: Fri Dec 30 19:10:06 EST 2005 marcus@shumai.marcuscom.com:/usr/obj/usr/src/sys/SHUMAI i386


	
>Description:
After the latest round of bsd.port.mk patches, the default FAM system was
changed from fam to gamin.  Gamin is a drop-in replacement for many (but not
all) of fam's features.  There are a few ports that have a problem when using
gamin.  Additionally, gamin and fam conflict, and if a user had fam
installed already, portupgrade would complain loudly when upgrading
dependent ports.
>How-To-Repeat:
	
>Fix:

The attached patch switches all ports that use FAM from static FAM
dependencies to USE_FAM.  I have also set them all to want fam as their
FAM system provider.  This should prevent POLA violations as I have not
tested these ports with gamin.

The bsd.port.mk portion detects if gamin or fam is already installed,
and smartly sets the user-desired FAM system provider internally.

I leave it up to portmgr consensus if the default FAM system should be
changed back to fam in light of these patches.

--- fam.diff begins here ---
diff -ruN courier.orig/Makefile courier/Makefile
--- courier.orig/Makefile	Tue Jan 31 01:36:53 2006
+++ courier/Makefile	Tue Jan 31 01:35:33 2006
@@ -15,8 +15,7 @@
 COMMENT=	Courier SMTP IMAP POP3 HTTP mail server suite
 
 BUILD_DEPENDS=	courierauthconfig:${PORTSDIR}/security/courier-authlib-base
-LIB_DEPENDS=	fam:${PORTSDIR}/devel/fam \
-		pcre:${PORTSDIR}/devel/pcre
+LIB_DEPENDS=	pcre:${PORTSDIR}/devel/pcre
 RUN_DEPENDS=	courierauthconfig:${PORTSDIR}/security/courier-authlib-base \
 		${LOCALBASE}/share/sysconftool/sysconftool:${PORTSDIR}/devel/sysconftool \
 		${LOCALBASE}/etc/mime.types:${PORTSDIR}/misc/mime-support \
@@ -68,6 +67,8 @@
 USE_OPENSSL=	yes
 USE_REINPLACE=	yes
 USE_AUTOTOOLS=	libtool:15
+USE_FAM=	yes
+WANT_FAM_SYSTEM=fam
 
 .if defined(WITH_RCORDER)
 USE_RCORDER=	courier.sh
diff -ruN fampp.orig/Makefile fampp/Makefile
--- fampp.orig/Makefile	Tue Jan 31 01:36:59 2006
+++ fampp/Makefile	Tue Jan 31 01:34:29 2006
@@ -14,13 +14,13 @@
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	A C++ wrapper for fam from SGI
 
-LIB_DEPENDS=	fam.0:${PORTSDIR}/devel/fam
-
 # This isn't required to utilize full functionality
 #USE_GNOME=	yes
 
 WRKSRC=		${WRKDIR}/${PORTNAME}
 NO_BUILD=	yes
+USE_FAM=	yes
+WANT_FAM_SYSTEM=fam
 
 do-install:
 .for FILE in FamppEvents.hh FamppExceptions.hh fam.hh famStatic.hh handle.hh
diff -ruN fileschanged.orig/Makefile fileschanged/Makefile
--- fileschanged.orig/Makefile	Tue Jan 31 01:37:53 2006
+++ fileschanged/Makefile	Tue Jan 31 01:36:35 2006
@@ -15,12 +15,13 @@
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Utility that reports when files have been altered
 
-LIB_DEPENDS=	fam.0:${PORTSDIR}/devel/fam
 BUILD_DEPENDS=	${LOCALBASE}/include/argp.h:${PORTSDIR}/devel/argp-standalone \
 		help2man:${PORTSDIR}/misc/help2man
 
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
+USE_FAM=	yes
+WANT_FAM_SYSTEM=fam
 CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" \
 		LIBS="-largp"
 CONFIGURE_ARGS+=--datadir=${PREFIX}/share/doc
diff -ruN gnubiff.orig/Makefile gnubiff/Makefile
--- gnubiff.orig/Makefile	Tue Jan 31 01:37:13 2006
+++ gnubiff/Makefile	Tue Jan 31 01:35:55 2006
@@ -14,12 +14,13 @@
 MAINTAINER=	tdb@FreeBSD.org
 COMMENT=	A mail notification program for Gnome
 
-LIB_DEPENDS=	popt.0:${PORTSDIR}/devel/popt \
-		fam.0:${PORTSDIR}/devel/fam
+LIB_DEPENDS=	popt.0:${PORTSDIR}/devel/popt
 
 USE_X_PREFIX=	yes
 USE_GNOME=	intlhack libglade2 esound
 USE_GMAKE=	yes
+USE_FAM=	yes
+WANT_FAM_SYSTEM=fam
 GNU_CONFIGURE=	yes
 CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
 		LDFLAGS="-L${LOCALBASE}/lib" \
diff -ruN ruby-fam.orig/Makefile ruby-fam/Makefile
--- ruby-fam.orig/Makefile	Tue Jan 31 01:37:05 2006
+++ ruby-fam/Makefile	Tue Jan 31 01:34:50 2006
@@ -16,10 +16,10 @@
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	FAM bindings for Ruby
 
-LIB_DEPENDS=	fam.0:${PORTSDIR}/devel/fam
-
 USE_RUBY=	yes
 USE_RUBY_EXTCONF=	yes
+USE_FAM=	yes
+WANT_FAM_SYSTEM=fam
 
 INSTALL_TARGET=	site-install
 
--- bsd.port.mk.orig	Tue Jan 31 01:30:46 2006
+++ bsd.port.mk	Tue Jan 31 01:30:20 2006
@@ -1535,6 +1535,12 @@ DEFAULT_FAM_SYSTEM=	gamin
 FAM_SYSTEM_FAM=		fam.0:${PORTSDIR}/devel/fam
 FAM_SYSTEM_GAMIN=	fam.0:${PORTSDIR}/devel/gamin
 
+.if exists(${LOCALBASE}/libexec/gam_server)
+_HAVE_FAM_SYSTEM=	gamin
+.elif exists(${LOCALBASE}/bin/fam)
+_HAVE_FAM_SYSTEM=	fam
+.endif
+
 .if defined(WANT_FAM_SYSTEM)
 .if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM}!=${WANT_FAM_SYSTEM}
 BROKEN=	The port wants to use ${WANT_FAM_SYSTEM} as its FAM system and you wish to use ${WITH_FAM_SYSTEM}
@@ -1543,8 +1549,18 @@ FAM_SYSTEM=	${WANT_FAM_SYSTEM}
 .elif defined(WITH_FAM_SYSTEM)
 FAM_SYSTEM=	${WITH_FAM_SYSTEM}
 .else
+.if defined(_HAVE_FAM_SYSTEM)
+FAM_SYSTEM=	${_HAVE_FAM_SYSTEM}
+.else
 FAM_SYSTEM=	${DEFAULT_FAM_SYSTEM}
+.endif
 .endif # WANT_FAM_SYSTEM
+
+.if defined(_HAVE_FAM_SYSTEM)
+.if ${_HAVE_FAM_SYSTEM}!= ${FAM_SYSTEM}
+BROKEN=	FAM system mismatch: ${_HAVE_FAM_SYSTEM} is installed and desired FAM system is ${FAM_SYSTEM}
+.endif
+.endif
 
 .if defined(FAM_SYSTEM_${FAM_SYSTEM:U})
 LIB_DEPENDS+=	${FAM_SYSTEM_${FAM_SYSTEM:U}}
--- fam.diff ends here ---


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



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