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