ports/92583: [PATCH] Additional FAM system fixes
Joe Marcus Clarke
marcus at FreeBSD.org
Tue Jan 31 06:50:03 UTC 2006
>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 at 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 at 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 at 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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list