FreeBSD Bugzilla – Attachment 203726 Details for
Bug 236873
net-mgmt/nagios-check_smartmon: Device-dependent temperature responses cause ValueError
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
check_smartmon python3.6 compatible
_nagios_check-smartmon-py-flavors.patch (text/plain), 6.73 KB, created by
Krzysztof
on 2019-04-16 21:36:09 UTC
(
hide
)
Description:
check_smartmon python3.6 compatible
Filename:
MIME Type:
Creator:
Krzysztof
Created:
2019-04-16 21:36:09 UTC
Size:
6.73 KB
patch
obsolete
>diff -ruN net-mgmt/nagios-check_smartmon/files/patch-check_smartmon net-mgmt/nagios-check_smartmon.new/files/patch-check_smartmon >--- net-mgmt/nagios-check_smartmon/files/patch-check_smartmon 2019-03-08 22:59:55.000000000 +0100 >+++ net-mgmt/nagios-check_smartmon.new/files/patch-check_smartmon 2019-04-16 23:28:07.418859000 +0200 >@@ -1,21 +1,62 @@ >---- check_smartmon.orig 2019-03-04 20:08:28 UTC >+--- check_smartmon.orig 2019-04-16 21:26:22 UTC > +++ check_smartmon >-@@ -161,9 +161,12 @@ def parseOutput(healthMessage, temperatureMessage, dev >- lines = healthMessage.split("\n") >+@@ -52,8 +52,8 @@ def parseCmdLine(args): >+ version = "%%prog %s" % (__version__) >+ >+ parser = OptionParser(usage=usage, version=version) >+- parser.add_option("-d", "--device", action="store", dest="device", default="", metavar="DEVICE", >+- help="device to check") >++ parser.add_option("-d", "--device", action="store", dest="device", default="", metavar="DEVICE", >++ help="device to check") >+ parser.add_option("-v", "--verbosity", action="store", >+ dest="verbosity", type="int", default=0, >+ metavar="LEVEL", help="set verbosity level to LEVEL; defaults to 0 (quiet), \ >+@@ -123,7 +123,7 @@ def callSmartMonTools(path, device): >+ "") >+ healthStatusOutput = "" >+ for line in child_stdout: >+- healthStatusOutput = healthStatusOutput + line >++ healthStatusOutput = healthStatusOutput + line.decode('utf-8') >+ # done >+ >+ # get temperature >+@@ -138,7 +138,7 @@ def callSmartMonTools(path, device): >+ >+ temperatureOutput = "" >+ for line in child_stdout: >+- temperatureOutput = temperatureOutput + line >++ temperatureOutput = temperatureOutput + line.decode('utf-8') >+ # done >+ >+ return (0 ,"", healthStatusOutput, temperatureOutput) >+@@ -153,6 +153,7 @@ def parseOutput(healthMessage, temperatu >+ >+ vprint(3, "parseOutput: Device type is %s" % devType) >+ >++ healthStatus = "" >+ if devType == "ata": >+ # parse health status >+ # >+@@ -162,13 +163,16 @@ def parseOutput(healthMessage, temperatu > getNext = 0 > for line in lines: >-+ vprint(3, "parseOutput: line is: '%s'" % line) > if getNext: > - statusLine = line > - break >-+ if line <> "SMART STATUS RETURN: incomplete response, ATA output registers missing" and \ >-+ line <> "SMART Status not supported: Incomplete response, ATA output registers missing" : >++ if line != "SMART STATUS RETURN: incomplete response, ATA output registers missing" and \ >++ line != "SMART Status not supported: Incomplete response, ATA output registers missing" : > + statusLine = line > + break > elif line == "=== START OF READ SMART DATA SECTION ===": > getNext = 1 > # fi >-@@ -181,7 +184,7 @@ def parseOutput(healthMessage, temperatureMessage, dev >+ # done >+ >++ vprint(3, "parseOutput: statusLine is: '%s'" % statusLine ) >+ if getNext: >+ parts = statusLine.split() >+ healthStatus = parts[-1] >+@@ -181,7 +185,7 @@ def parseOutput(healthMessage, temperatu > parts = line.split() > if len(parts): > # 194 is the temperature value id >@@ -24,7 +65,7 @@ > temperature = int(parts[9]) > break > # fi >-@@ -190,9 +193,11 @@ def parseOutput(healthMessage, temperatureMessage, dev >+@@ -190,9 +194,11 @@ def parseOutput(healthMessage, temperatu > # if devType == ata > > if devType == "scsi": >@@ -37,7 +78,7 @@ > if stat_re.search( line ): > parts = line.split() > healthStatus = parts[-1] >-@@ -201,14 +206,20 @@ def parseOutput(healthMessage, temperatureMessage, dev >+@@ -201,19 +207,25 @@ def parseOutput(healthMessage, temperatu > # done > > # get temperature from temperatureMessage >@@ -60,7 +101,13 @@ > # done > > # if devType == scsi >-@@ -225,6 +236,7 @@ def createReturnInfo(healthStatus, temperature, warnin >+ >+- vprint(3, "Health status: %s" % healthStatus) >++ vprint(3, "Health status: %s" % healthStatus) >+ vprint(3, "Temperature: %d" %temperature) >+ >+ return (healthStatus, temperature) >+@@ -225,6 +237,7 @@ def createReturnInfo(healthStatus, tempe > > # this is absolutely critical! > if healthStatus not in [ "PASSED", "OK" ]: >@@ -68,7 +115,25 @@ > return (2, "CRITICAL: device does not pass health status") > # fi > >-@@ -287,6 +299,7 @@ if __name__ == "__main__": >+@@ -241,7 +254,7 @@ def createReturnInfo(healthStatus, tempe >+ def exitWithMessage(value, message): >+ """Exit with given value and status message.""" >+ >+- print message >++ print( message ) >+ sys.exit(value) >+ # end >+ >+@@ -254,7 +267,7 @@ def vprint(level, message): >+ """ >+ >+ if level <= verbosity: >+- print message >++ print( message ) >+ # fi >+ # end >+ >+@@ -287,6 +300,7 @@ if __name__ == "__main__": > # check device type, ATA is default > vprint(2, "Get device type") > devtype = options.devtype >diff -ruN net-mgmt/nagios-check_smartmon/Makefile net-mgmt/nagios-check_smartmon.new/Makefile >--- net-mgmt/nagios-check_smartmon/Makefile 2019-03-08 22:59:55.000000000 +0100 >+++ net-mgmt/nagios-check_smartmon.new/Makefile 2019-04-16 22:07:05.226016000 +0200 >@@ -7,6 +7,7 @@ > CATEGORIES= net-mgmt > MASTER_SITES= http://ftp.bsdserwis.com/pub/FreeBSD/ports/distfiles/ > PKGNAMEPREFIX= nagios- >+PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX} > > MAINTAINER= ports@bsdserwis.com > COMMENT= Nagios plug-in to get status from smartmontools >@@ -16,6 +17,7 @@ > RUN_DEPENDS= ${LOCALBASE}/sbin/smartctl:sysutils/smartmontools > > USES= python shebangfix >+USE_PYTHON= flavors > NO_BUILD= yes > NO_ARCH= yes > >@@ -23,6 +25,8 @@ > > PLIST_FILES= libexec/nagios/check_smartmon > >+SUB_LIST= PYTHON_VER=${PYTHON_VER} >+ > do-install: > @${MKDIR} ${STAGEDIR}${PREFIX}/libexec/nagios > ${INSTALL_SCRIPT} ${WRKSRC}/check_smartmon \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ports
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 236873
:
203237
|
203518
| 203726