commit:     20d288e5098552ca42a508f998eed6f2e5229e87
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 27 12:37:56 2017 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 12:37:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20d288e5

net-analyzer/nagios-plugins: new revision to fix build failure with MariaDB.

The latest -r2 adds a patch (which I've sent upstream) to fix a build
failure against newer versions of MariaDB.

Bug: https://bugs.gentoo.org/633548
Bug: https://bugs.gentoo.org/635106
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 .../files/define-own-mysql-port-constant.patch     | 100 +++++++++++++++++++++
 ....1-r1.ebuild => nagios-plugins-2.2.1-r2.ebuild} |   2 +
 2 files changed, 102 insertions(+)

diff --git 
a/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch 
b/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch
new file mode 100644
index 00000000000..67bc65cad88
--- /dev/null
+++ b/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch
@@ -0,0 +1,100 @@
+From 43ff2e8607c0b7095c2a4dcab6e466bc67e2e2ff Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <mich...@orlitzky.com>
+Date: Thu, 26 Oct 2017 15:01:17 -0400
+Subject: [PATCH 1/3] plugins/check_mysql*.c: define our own default MySQL
+ port.
+
+The MYSQL_PORT constant used to be defined in mysql.h, and was used as
+the default port in the two plugins check_mysql and check_mysql_query.
+Now that mysql.h no longer defines that constant, our plugins fail to
+build against newer versions of MySQL and MariaDB.
+
+Since MYSQL_PORT used the "default port" on the local system, it
+actually was not the best choice as the default for the check plugins:
+when monitoring remote MySQL servers, the usual default of 3306 is
+more likely to be correct than whatever the local server happens to be
+listening on.
+
+As a result, we fix the issue by defining our own constant, called
+CHECK_PORT_DEFAULT, as "3306" at the top of both check_mysql.c and
+check_mysql_query.c. The existing uses of MYSQL_PORT have been changed
+to use the new CHECK_PORT_DEFAULT.
+
+This change is backwards-incompatible: any users who compiled in a
+MYSQL_PORT other than 3306 and who were running their checks on the
+same server as the database will now need to specify that port
+explicitly.
+
+Closes: https://github.com/nagios-plugins/nagios-plugins/issues/288
+---
+ plugins/check_mysql.c       | 7 +++++--
+ plugins/check_mysql_query.c | 7 +++++--
+ 2 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c
+index 83f89c85..c0b61292 100644
+--- a/plugins/check_mysql.c
++++ b/plugins/check_mysql.c
+@@ -36,6 +36,9 @@ const char *email = "de...@nagios-plugins.org";
+ 
+ #define SLAVERESULTSIZE 70
+ 
++/* The default port that MySQL servers listen on. */
++#define CHECK_PORT_DEFAULT 3306
++
+ #include "common.h"
+ #include "utils.h"
+ #include "utils_base.h"
+@@ -58,7 +61,7 @@ char *ciphers = NULL;
+ bool ssl = false;
+ char *opt_file = NULL;
+ char *opt_group = NULL;
+-unsigned int db_port = MYSQL_PORT;
++unsigned int db_port = CHECK_PORT_DEFAULT;
+ int check_slave = 0, warn_sec = 0, crit_sec = 0;
+ int ignore_auth = 0;
+ int verbose = 0;
+@@ -505,7 +508,7 @@ void
+ print_help (void)
+ {
+       char *myport;
+-      xasprintf (&myport, "%d", MYSQL_PORT);
++      xasprintf (&myport, "%d", CHECK_PORT_DEFAULT);
+ 
+       print_revision (progname, NP_VERSION);
+ 
+diff --git a/plugins/check_mysql_query.c b/plugins/check_mysql_query.c
+index 436e0685..e9c3acfb 100644
+--- a/plugins/check_mysql_query.c
++++ b/plugins/check_mysql_query.c
+@@ -33,6 +33,9 @@ const char *progname = "check_mysql_query";
+ const char *copyright = "1999-2014";
+ const char *email = "de...@nagios-plugins.org";
+ 
++/* The default port that MySQL servers listen on. */
++#define CHECK_PORT_DEFAULT 3306
++
+ #include "common.h"
+ #include "utils.h"
+ #include "utils_base.h"
+@@ -48,7 +51,7 @@ char *db_pass = NULL;
+ char *db = NULL;
+ char *opt_file = NULL;
+ char *opt_group = NULL;
+-unsigned int db_port = MYSQL_PORT;
++unsigned int db_port = CHECK_PORT_DEFAULT;
+ 
+ int process_arguments (int, char **);
+ int validate_arguments (void);
+@@ -300,7 +303,7 @@ void
+ print_help (void)
+ {
+       char *myport;
+-      xasprintf (&myport, "%d", MYSQL_PORT);
++      xasprintf (&myport, "%d", CHECK_PORT_DEFAULT);
+ 
+       print_revision (progname, NP_VERSION);
+ 
+-- 
+2.13.6
+

diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r1.ebuild 
b/net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r2.ebuild
similarity index 97%
rename from net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r1.ebuild
rename to net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r2.ebuild
index c86bad6d681..7cdc0f87996 100644
--- a/net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r1.ebuild
+++ b/net-analyzer/nagios-plugins/nagios-plugins-2.2.1-r2.ebuild
@@ -63,6 +63,8 @@ DOCS=(
        THANKS
 )
 
+PATCHES=( "${FILESDIR}/define-own-mysql-port-constant.patch" )
+
 src_prepare() {
        default
 

Reply via email to