ports/144020: net-mgmt/nagios-check_bacula-3.0.2 conflicts with new sysutils/bacula-client-5.0.0

Paul tacid at tacid.kiev.ua
Tue Feb 16 21:20:01 UTC 2010


>Number:         144020
>Category:       ports
>Synopsis:       net-mgmt/nagios-check_bacula-3.0.2 conflicts with new sysutils/bacula-client-5.0.0
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 16 21:20:00 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Paul
>Release:        FreeBSD 8.0-RELEASE
>Organization:
>Environment:
FreeBSD hostname.local 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan  5 16:02:27 UTC 2010     root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
Port net-mgmt/nagios-check_bacula installs /usr/local/lib/libbac.so.1 from bacula-3.0.2:

>How-To-Repeat:
install first net-mgmt/nagios-check_bacula and then sysutils/bacula-client after that net-mgmt/nagios-check_bacula will not work 

>Fix:
I've made patch for ports net-mgmt/nagios-check_bacula and sysutils/bacula-server

I have made port net-mgmt/nagios-check_bacula slave to sysutils/bacula-server like other bacula ports (bacula-client, bacula-bat) so changes to sysutils/bacula-server/Makefile was done also

Patch attached with submission follows:

diff -u net-mgmt/nagios-check_bacula.bak/Makefile net-mgmt/nagios-check_bacula/Makefile
--- net-mgmt/nagios-check_bacula.bak/Makefile	2010-02-16 22:35:49.000000000 +0200
+++ net-mgmt/nagios-check_bacula/Makefile	2010-02-16 22:50:17.000000000 +0200
@@ -5,37 +5,22 @@
 # $FreeBSD: ports/net-mgmt/nagios-check_bacula/Makefile,v 1.7 2009/11/28 13:49:11 miwi Exp $
 #
 
-PORTNAME=	check_bacula
-PORTVERSION=	3.0.2
+PORTNAME=	bacula
+PKGNAMEPREFIX=  nagios-check_
 CATEGORIES=	net-mgmt
-MASTER_SITES=	SF/bacula/bacula/${PORTVERSION}
-PKGNAMEPREFIX=	nagios-
-DISTNAME=	bacula-${PORTVERSION}
+PKGNAMESUFFIX=  ""
+UNIQUENAME=	${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+PLIST=		${.CURDIR}/pkg-plist
 
 MAINTAINER=	freebsd at troback.com
 COMMENT=	Nagios plugin for Bacula
 
-WRKSRC=		${WRKDIR}/bacula-${PORTVERSION}
+MASTERDIR=	${.CURDIR}/../../sysutils/bacula-server
+WITH_NAGIOS_CHECK_ONLY=	yes
+
 CONFIGURE_ARGS=	--enable-client-only \
 		--disable-build-dird \
 		--disable-build-stored \
 		--disable-nls
-GNU_CONFIGURE=	yes
-USE_LDCONFIG=	yes
-
-.include <bsd.port.pre.mk>
-
-post-extract:
-	${TAR} xzCf ${WRKSRC}/src ${WRKSRC}/examples/nagios/nagios_plugin_check_bacula.tgz
-
-post-build:
-	${MAKE} -C ${WRKSRC}/src/check_bacula
-
-do-install:
-	@${MKDIR} ${PREFIX}/libexec/nagios
-	${INSTALL_PROGRAM} ${WRKSRC}/src/check_bacula/.libs/check_bacula \
-		${PREFIX}/libexec/nagios/
-	${INSTALL_PROGRAM} ${WRKSRC}/src/lib/.libs/libbac.so.1 \
-		${PREFIX}/lib
 
-.include <bsd.port.post.mk>
+.include "${MASTERDIR}/Makefile"
Only in net-mgmt/nagios-check_bacula.bak: distinfo
Only in net-mgmt/nagios-check_bacula.bak: files
Only in net-mgmt/nagios-check_bacula.bak: pkg-descr
diff -u net-mgmt/nagios-check_bacula.bak/pkg-plist net-mgmt/nagios-check_bacula/pkg-plist
--- net-mgmt/nagios-check_bacula.bak/pkg-plist	2010-02-16 22:35:49.000000000 +0200
+++ net-mgmt/nagios-check_bacula/pkg-plist	2010-02-16 19:31:04.000000000 +0200
@@ -1,3 +1,3 @@
 libexec/nagios/check_bacula
-lib/libbac.so.1
+%%INDEP%%lib/libbac.so.1
 @dirrmtry libexec/nagios
diff -u sysutils/bacula-server.bak/Makefile sysutils/bacula-server/Makefile
--- sysutils/bacula-server.bak/Makefile	2010-02-16 20:16:40.000000000 +0200
+++ sysutils/bacula-server/Makefile	2010-02-16 22:57:27.000000000 +0200
@@ -21,7 +21,7 @@
 
 DISTFILES=	${PORTNAME}-${PORTVERSION}.tar.gz
 
-.if !defined(WITH_BAT)
+.if !defined(WITH_BAT) && !defined(WITH_NAGIOS_CHECK_ONLY)
 PORTDOCS=	VERIFYING \
 		technotes \
 		ChangeLog \
@@ -31,7 +31,7 @@
 		INSTALL
 .endif
 
-.if !defined(WITH_BAT)
+.if !defined(WITH_BAT) && !defined(WITH_NAGIOS_CHECK_ONLY)
 .if !defined(WITH_CLIENT_ONLY)
 USE_RC_SUBR?=	bacula-dir bacula-sd
 .endif
@@ -81,6 +81,7 @@
 		PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
 		PTHREAD_LIBS="${PTHREAD_LIBS}"
 
+.if !defined(WITH_NAGIOS_CHECK_ONLY)
 .for opt in ${ALL_OPTIONS}
 .if defined(WITH_${opt})
 BATCH=	yes
@@ -109,6 +110,7 @@
 .if !defined(WITH_BAT)
 PLIST_SUB+=	BACULA_DIR=${BACULA_DIR}
 .endif
+.endif
 
 .include <bsd.port.pre.mk>
 
@@ -146,6 +148,19 @@
 .else
 PLIST_SUB+=	 	WXCONS="@comment "
 .endif
+.elif defined(WITH_NAGIOS_CHECK_ONLY)
+CONFILES=		""
+CONFIGURE_ARGS+=        --disable-xattr
+PKGDEINSTALL=   ""
+PKGINSTALL=     ""
+.if exists(${LOCALBASE}/lib/libbac.so.1)
+LIB_DEPENDS+=   bac.1:${PORTSDIR}/sysutils/bacula-client
+WITHOUT_LIBBAC=	YES
+PLIST_SUB+=	INDEP="@comment "
+.else
+PLIST_SUB+=     INDEP=""
+.endif
+
 .else
 # Server only Options
 PLIST_SUB+=	 	WXCONS="@comment "
@@ -177,7 +192,7 @@
 CONFIGURE_ARGS+=	--with-openssl
 .endif
 
-.if !defined(WITH_BAT)
+.if !defined(WITH_BAT) && !defined(WITH_NAGIOS_CHECK_ONLY)
 .if defined(WITH_CLIENT_ONLY)
 MAN8=bacula-fd.8 bconsole.8
 .else
@@ -190,7 +205,7 @@
 MAKE_ENV+=	MAN8="${MAN8}" MAN1="${MAN1}"
 
 pre-everything::
-.if !defined(WITH_CLIENT_ONLY)
+.if !defined(WITH_CLIENT_ONLY) && !defined(WITH_NAGIOS_CHECK_ONLY)
 	@${ECHO_MSG} "You may use the following build options (or make config):"
 	@${ECHO_MSG} ""
 	@${ECHO_MSG} "  WITH_CLIENT_ONLY=yes	if you only want the file daemon."
@@ -208,6 +223,8 @@
 	@${ECHO_MSG} ""
 	@${ECHO_MSG} "===> Using ${DBTYPE} as the bacula database."
 	@${ECHO_MSG} ""
+.elif defined(WITH_NAGIOS_CHECK_ONLY)
+	@${ECHO_MSG} "===> Building nagios check only."
 .else
 	@${ECHO_MSG} "===> Building file daemon only."
 .endif
@@ -229,6 +246,22 @@
 	@${REINPLACE_CMD} -e '/^fd_subdirs = /s|src/filed||' -e 's|src/console||' ${WRKSRC}/Makefile.in
 .endif
 
+.if defined(WITH_NAGIOS_CHECK_ONLY)
+
+post-build:
+		${MAKE} -C ${WRKSRC}/examples/nagios/check_bacula
+
+do-install:
+	        @${MKDIR} ${PREFIX}/libexec/nagios
+	        ${INSTALL_PROGRAM} ${WRKSRC}/examples/nagios/check_bacula/check_bacula \
+	                ${PREFIX}/libexec/nagios/
+.if !defined(WITHOUT_LIBBAC)
+		@${ECHO_MSG} "===> Installing libbac.so.1 "
+	        ${INSTALL_PROGRAM} ${WRKSRC}/src/lib/.libs/libbac.so.1 \
+	                ${PREFIX}/lib
+.endif
+
+.else
 .if !target(pre-install)
 pre-install:
 	if [ ! -d "${BACULA_DIR}" ]; then \
@@ -305,5 +338,6 @@
 
 	@${CAT} ${PKGMESSAGE}
 .endif
+.endif
 
 .include <bsd.port.post.mk>
Common subdirectories: sysutils/bacula-server.bak/files and sysutils/bacula-server/files


>Release-Note:
>Audit-Trail:
>Unformatted:
 >pkg_info -L net-mgmt/nagios-check_bacula-3.0.2
 Information for nagios-check_bacula-3.0.2:
 
 Files:
 /usr/local/libexec/nagios/check_bacula
 /usr/local/lib/libbac.so.1
 
 
 But bacula-client-5.0.0 also installs this library, so:
 
 > pkg_info -W /usr/local/lib/libbac.so.1
 pkg_info: both bacula-client-5.0.0 and nagios-check_bacula-3.0.2 claim to have installed /usr/local/lib/libbac.so.1
 
 /usr/local/lib/libbac.so.1 was installed by package bacula-client-5.0.0
 
 And while bacula-client is updated to new version 5.0.0 nagios-check_bacula do not work
 



More information about the freebsd-ports-bugs mailing list