Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Dec 2013 19:34:26 -0500 (EST)
From:      Garrett Wollman <wollman@xyz.csail.mit.edu>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/184736: net-mgmt/nagios-plugins has hidden dependency on ssh
Message-ID:  <201312130034.rBD0YQjm007557@xyz.csail.mit.edu>
Resent-Message-ID: <201312130040.rBD0e0ue005423@freefall.freebsd.org>

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

>Number:         184736
>Category:       ports
>Synopsis:       net-mgmt/nagios-plugins has hidden dependency on ssh
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Dec 13 00:40:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Wollman
>Release:        FreeBSD 9.2-RELEASE-p2 amd64
>Organization:
MIT Computer Science & Artificial Intelligence Laboratory
>Environment:
System: FreeBSD xyz.csail.mit.edu 9.2-RELEASE-p2 FreeBSD 9.2-RELEASE-p2 #1 r259144:259145M: Wed Dec 11 14:50:53 EST 2013 wollman@xyz.csail.mit.edu:/usr/obj/usr/src/sys/CSAIL amd64

World is build with WITHOUT_OPENSSH=yes in /etc/src.conf.

>Description:

The check_by_ssh plugin is unconditionally included in the packing
list even when there is no ssh executable, but the configure script
disables the installation of check_by_ssh if it can't find an ssh
executable.  This causes packaging to fail on systems where there is
no /usr/bin/ssh.

>How-To-Repeat:

1) build a poudriere jail with no /usr/bin/ssh
2) poudriere testport -o net-mgmt/nagios-plugins
3) watch it fail

>Fix:

As a workaround, I just added an unconditional dependency on
security/openssh-portable (warning, cut and paste):

Index: Makefile
===================================================================
--- Makefile    (revision 336291)
+++ Makefile    (working copy)
@@ -147,6 +147,13 @@
 PLIST_SUB+=    SUB_DBI="@comment "
 .endif
 
+# If we don't have /usr/bin/ssh then we must be on a system that uses
+# packages for ssh, so depend on one.  This should be an OPTION.
+.if !exists(/usr/bin/ssh)
+BUILD_DEPENDS+=        ssh:${PORTSDIR}/security/openssh-portable
+RUN_DEPENDS+=  ssh:${PORTSDIR}/security/openssh-portable
+.endif
+
 post-patch:
 .for file in check_by_ssh.c check_disk.c check_http.c check_mrtgtraf.c \
        check_nagios.c check_ntp.c check_ntp_peer.c check_ntp_time.c \

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



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