From 5fb0a46e73890b4189cdeb73523e1dde0cea9429 Mon Sep 17 00:00:00 2001 From: Thomas D Date: Mon, 28 Mar 2016 19:28:15 +0200 Subject: [PATCH] app-admin/collectd: Revbump to fix multiple issues - Fix building with sys-fs/xfsprogs-4.5.0 (upstream issues #1637) - Workaround for bug #577846 applied We are now enforcing <=sys-kernel/linux-headers-4.4 when building collectd_plugins_iptables until the problem gets fixed in non-collectd upstram. - virtual/udev dependency is now optional for disk plugin Package-Manager: portage-2.2.28 Closes: https://github.com/gentoo/gentoo/pull/1156 Signed-off-by: Ian Delaney --- ...5.1-r1.ebuild => collectd-5.5.1-r2.ebuild} | 23 +++++-- .../files/collectd-5.5.1-issue-1637.patch | 68 +++++++++++++++++++ app-admin/collectd/metadata.xml | 3 + 3 files changed, 89 insertions(+), 5 deletions(-) rename app-admin/collectd/{collectd-5.5.1-r1.ebuild => collectd-5.5.1-r2.ebuild} (96%) create mode 100644 app-admin/collectd/files/collectd-5.5.1-issue-1637.patch diff --git a/app-admin/collectd/collectd-5.5.1-r1.ebuild b/app-admin/collectd/collectd-5.5.1-r2.ebuild similarity index 96% rename from app-admin/collectd/collectd-5.5.1-r1.ebuild rename to app-admin/collectd/collectd-5.5.1-r2.ebuild index 441d156f1b58..13b5778507b8 100644 --- a/app-admin/collectd/collectd-5.5.1-r1.ebuild +++ b/app-admin/collectd/collectd-5.5.1-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs" +IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs udev" # The plugin lists have to follow here since they extend IUSE @@ -65,6 +65,7 @@ COMMON_DEPEND=" dev-libs/libgcrypt:= sys-devel/libtool perl? ( dev-lang/perl:=[ithreads] ) + udev? ( virtual/udev ) collectd_plugins_amqp? ( net-libs/rabbitmq-c ) collectd_plugins_apache? ( net-misc/curl ) collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) @@ -74,7 +75,6 @@ COMMON_DEPEND=" collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2:= ) collectd_plugins_dbi? ( dev-db/libdbi ) - collectd_plugins_disk? ( virtual/udev ) collectd_plugins_dns? ( net-libs/libpcap ) collectd_plugins_genericjmx? ( virtual/jre:= dev-java/java-config-wrapper ) collectd_plugins_gmond? ( sys-cluster/ganglia ) @@ -104,7 +104,7 @@ COMMON_DEPEND=" collectd_plugins_rrdtool? ( net-analyzer/rrdtool ) collectd_plugins_sensors? ( sys-apps/lm_sensors ) collectd_plugins_sigrok? ( sci-libs/libsigrok ) - collectd_plugins_smart? ( virtual/udev dev-libs/libatasmart ) + collectd_plugins_smart? ( dev-libs/libatasmart ) collectd_plugins_snmp? ( net-analyzer/net-snmp ) collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) collectd_plugins_varnish? ( www-servers/varnish ) @@ -123,8 +123,12 @@ COMMON_DEPEND=" collectd_plugins_users? ( sys-libs/libstatgrab:= ) )" +# Enforcing <=sys-kernel/linux-headers-4.4 due to #577846 DEPEND="${COMMON_DEPEND} + collectd_plugins_cgroups? ( sys-fs/xfsprogs ) + collectd_plugins_df? ( sys-fs/xfsprogs ) collectd_plugins_genericjmx? ( >=virtual/jdk-1.6 ) + collectd_plugins_iptables? ( <=sys-kernel/linux-headers-4.4 ) collectd_plugins_java? ( >=virtual/jdk-1.6 ) virtual/pkgconfig" @@ -135,11 +139,12 @@ RDEPEND="${COMMON_DEPEND} REQUIRED_USE=" collectd_plugins_genericjmx? ( java ) collectd_plugins_java? ( java ) - collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )" + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} ) + collectd_plugins_smart ( udev )" PATCHES=( "${FILESDIR}"/${PN}-4.10.3-werror.patch - "${FILESDIR}"/${PN}-5.5.1-{libocci,lt,nohal}.patch + "${FILESDIR}"/${PN}-5.5.1-{libocci,lt,nohal,issue-1637}.patch ) # @FUNCTION: collectd_plugin_kernel_linux @@ -316,6 +321,14 @@ src_configure() { # Do we debug? local myconf="$(use_enable debug)" + # udev support? + # Required for smart plugin via REQUIRED_USE; Optional for disk plugin + if use udev; then + myconf+=" --with-libudev" + else + myconf+=" --without-libudev" + fi + local plugin # Disable what needs to be disabled. diff --git a/app-admin/collectd/files/collectd-5.5.1-issue-1637.patch b/app-admin/collectd/files/collectd-5.5.1-issue-1637.patch new file mode 100644 index 000000000000..89baa1249ffb --- /dev/null +++ b/app-admin/collectd/files/collectd-5.5.1-issue-1637.patch @@ -0,0 +1,68 @@ +From 7630585ca596af6334f89db26272d80f4ef02a8a Mon Sep 17 00:00:00 2001 +From: Ruben Kerkhof +Date: Sat, 26 Mar 2016 18:18:44 +0100 +Subject: [PATCH 4/4] Fix building with xfsprogs 4.5.0 + +commit 865a6c83250e3d4381596a0d937df31d563f97c6 upstream. + +xfsprogs 4.5.0 started to use off64_t in its headers, +which is hidden behind _GNU_SOURCE + +Fixes #1637 +--- + configure.ac | 7 ++++++- + src/utils_mount.c | 13 ++++++++----- + 2 files changed, 14 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 129b9d4..a2058d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -593,7 +593,12 @@ AC_CHECK_HEADERS(linux/un.h, [], [], + #endif + ]) + +-AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h sys/vmmeter.h kvm.h wordexp.h locale.h) ++AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h sys/vmmeter.h kvm.h wordexp.h locale.h) ++ ++AC_CHECK_HEADERS([xfs/xqm.h], [], [], ++[ ++#define _GNU_SOURCE ++]) + + # For the dns plugin + AC_CHECK_HEADERS(arpa/nameser.h) +diff --git a/src/utils_mount.c b/src/utils_mount.c +index f2b7943..cf5e97a 100644 +--- a/src/utils_mount.c ++++ b/src/utils_mount.c +@@ -21,18 +21,21 @@ + * Niki W. Waibel + **/ + +-#include "collectd.h" +-#include "utils_mount.h" +- +-#include "common.h" /* sstrncpy() et alii */ +-#include "plugin.h" /* ERROR() macro */ ++#if HAVE_CONFIG_H ++# include "config.h" ++#endif + + #if HAVE_XFS_XQM_H ++# define _GNU_SOURCE + # include + #define XFS_SUPER_MAGIC_STR "XFSB" + #define XFS_SUPER_MAGIC2_STR "BSFX" + #endif + ++#include "common.h" ++#include "plugin.h" ++#include "utils_mount.h" ++ + #if HAVE_GETVFSSTAT + # if HAVE_SYS_TYPES_H + # include +-- +2.7.4 + diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml index 7b80d9ceec0f..b3df3aa4ab16 100644 --- a/app-admin/collectd/metadata.xml +++ b/app-admin/collectd/metadata.xml @@ -33,6 +33,7 @@ Build the apache input plugin (collects statistics from Apache's mod_status module) Build the apcups input plugin (reads various statistics about a connected uninterruptible power supply (UPS)) Build the ascent input plugin (reads and parses the statistics page of Ascent) + Build the barometer input plugin (reads sensor data from various Freescale and Bosch digital barometers) Build the battery input plugin (collects the battery's charge, the drawn current and the battery's voltage) Build the bind input plugin (collects statistics from bind instances) Build the Ceph input plugin (collects statistics from the Ceph distributed storage system) @@ -145,6 +146,7 @@ Build the write_http output plugin (sends metrics to a web-server using HTTP POST requests) Build the Kafka output plugin (sends metrics to Apache Kafka) Build the write_log output plugin (writes metrics to a file) + Build the MongoDB output plugin (writes metrics to a MongoDB) Build the Redis output plugin (stores values in Redis) Build the Riemann output plugin (stores values in Riemann, a stream processing and monitoring system) Build the Sensu output plugin (sends metrics to Sensu Core, an open-source monitoring project) @@ -154,5 +156,6 @@ Install user-contributed files in the doc directory When set collectd daemon will have set required capabilities to run most plugins even if run as unprivileged user Must be set (workaround for java-pkg-opt-2 eclass limitation) when you want java or genericjmx plugin + Enable optional udev usage in disk plugin; Required for smart plugin -- 2.26.2