Code

Merged branch 'jessie' into master.
authorSebastian Harl <sh@tokkee.org>
Thu, 28 Jul 2016 21:16:15 +0000 (23:16 +0200)
committerSebastian Harl <sh@tokkee.org>
Thu, 28 Jul 2016 21:16:15 +0000 (23:16 +0200)
36 files changed:
debian/changelog
debian/collectd-core.collectd.service [new file with mode: 0644]
debian/collectd-core.overrides
debian/collectd-dev.install
debian/collectd.conf
debian/control
debian/copyright
debian/gbp.conf [new file with mode: 0644]
debian/libcollectdclient1.symbols
debian/patches/00list [deleted file]
debian/patches/CVE-2016-6254.dpatch [deleted file]
debian/patches/bts559801_plugin_find_fix.dpatch [deleted file]
debian/patches/bts747093_lvm_segfault.dpatch [deleted file]
debian/patches/bts750440_config_segfault.dpatch [deleted file]
debian/patches/bts770681_riemann_ack.dpatch [deleted file]
debian/patches/bts770683_curl_init.dpatch [deleted file]
debian/patches/bts770688_snmp_memleak.dpatch [deleted file]
debian/patches/bts770690_java_jni_thread_detach.dpatch [deleted file]
debian/patches/bts770693_timestamps.dpatch [deleted file]
debian/patches/bts770694_loglevel.dpatch [deleted file]
debian/patches/bts823012_librrd8.patch [new file with mode: 0644]
debian/patches/bts832577-gcry-control.dpatch [deleted file]
debian/patches/bts832577-gcry-control.patch [new file with mode: 0644]
debian/patches/collection.cgi.dpatch [deleted file]
debian/patches/collection_conf_path.dpatch [deleted file]
debian/patches/collection_conf_path.patch [new file with mode: 0644]
debian/patches/gcc6.patch [new file with mode: 0644]
debian/patches/myplugin_api.dpatch [deleted file]
debian/patches/myplugin_includes.dpatch [deleted file]
debian/patches/myplugin_includes.patch [new file with mode: 0644]
debian/patches/rrd_filter_path.dpatch [deleted file]
debian/patches/rrd_filter_path.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/po/nl.po
debian/rules
debian/source/format

index 34d83ac4bbf5b4f409be3cee30b5668902adec7d..01e1dd07e9394bf996fee0f5a2d38b5b386bded5 100644 (file)
@@ -1,3 +1,198 @@
+collectd (5.5.2-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+    - Fix heap overflow in the network plugin. Emilien Gaspar has identified a
+      heap overflow in parse_packet(), the function used by the network plugin
+      to parse incoming network packets. Thanks to Florian Forster for
+      reporting the bug in Debian. (Closes: #832507, CVE-2016-6254)
+    - Fix improper usage of gcry_control. A team of security researchers at
+      Columbia University and the University of Virginia discovered that
+      GCrypt's gcry_control is sometimes called without checking its return
+      value for an error. This may cause the program to be initialized without
+      the desired, secure settings. (Closes: #832577)
+  * debian/patches:
+    - bts832577-gcry-control.patch: Update for 5.5.2. Mostly part of the new
+      upstream release, except for: Don't abort() if gcrypt initialization
+      failed.
+
+ -- Sebastian Harl <tokkee@debian.org>  Thu, 28 Jul 2016 22:56:36 +0200
+
+collectd (5.5.1-5) unstable; urgency=low
+
+  * debian/control, debian/rules:
+    - Disable the sigrok plugin on non-Linux; restrict build dependency to
+      linux-any; thanks to Andreas Beckmann for reporting this
+      (Closes: #825606).
+  * debian/rules:
+    - Fix failure to build twice in a row introduced by dh_autoreconf_clean;
+      drop the separate config.status target and, hence, a dependency on the
+      configure script.
+  * debian/patches/:
+    - Added gcc6.patch: Fix FTBFS with GCC 6; thanks to Lucas Nussbaum for
+      reporting this (Closes: #831194).
+
+ -- Sebastian Harl <tokkee@debian.org>  Sun, 17 Jul 2016 23:30:33 +0200
+
+collectd (5.5.1-4) unstable; urgency=medium
+
+  * debian/control:
+    - Add dh-autoreconf to Build-Depends.
+    - Update standards-version to 3.9.8 (no changes).
+
+ -- Marc Fournier <marc@bl.uem.li>  Tue, 31 May 2016 18:16:43 +0200
+
+collectd (5.5.1-3) unstable; urgency=medium
+
+  * Re-enable gmond plugin. Thanks to Michael Tautschnig and Jean-Michel
+    Vourgère for fixing #812462.
+  * debian/patches:
+    - Add bts823012_librrd8.patch. Properly detect thread safety with librrd8.
+      Thanks to Jean-Michel Vourgère for the patch (Closes: #823012).
+  * debian/collectd.conf:
+    - Add missing example blocks in main configuration file (Closes: #806196).
+
+ -- Marc Fournier <marc@bl.uem.li>  Wed, 25 May 2016 23:14:14 +0200
+
+collectd (5.5.1-2) unstable; urgency=medium
+
+  * Disable the gmond plugin for now. Ganglia is not available in testing
+    (cf. #812462). Thanks to Santiago Vila for reporting this
+    (Closes: #819241).
+  * Update standards-version to 3.9.7 (no changes).
+
+ -- Sebastian Harl <tokkee@debian.org>  Sat, 02 Apr 2016 11:02:49 +0200
+
+collectd (5.5.1-1) unstable; urgency=medium
+
+  * New upstream release:
+    - The "LC_NUMERIC" locale is now forced to "C", preventing problems on
+      environments where the locale uses a comma as decimal separator. Thanks
+      to Hubert Jarosz for reporting this (Closes: #799289).
+    - Fixed FTBFS with GCC 6.0; thanks to Martin Michlmayr for reporting this
+      (Closes: #811580).
+  * debian/patches:
+    - Removed bts802249_varnish_41.patch; implemented upstream.
+  * debian/collectd.conf:
+    - Sync with upstream changes since 5.5.0.
+
+ -- Marc Fournier <marc@bl.uem.li>  Fri, 22 Jan 2016 16:53:49 +0100
+
+collectd (5.5.0-4) unstable; urgency=medium
+
+  * debian/collectd-core.overrides:
+    - Update 'binary-or-shlib-defines-rpath' lintian override.
+  * debian/rules:
+    - Strip out non-deterministic bits out of generated jar files.
+    - Remove RTLD_GLOBAL workaround, which was fixed upstream.
+  * debian/patches:
+    - Add bts802249_varnish_41.patch (Closes: #802249)
+
+ -- Marc Fournier <marc@bl.uem.li>  Mon, 16 Nov 2015 21:03:31 +0100
+
+collectd (5.5.0-3) unstable; urgency=medium
+
+  * debian/rules, debian/control:
+    - Avoid hiding compiler options at build time, allowing the buildd log
+      scanner to do it's job.
+    - Disable smart plugin on non-linux platforms, due to missing
+      libatasmart-dev build-dependency.
+  * debian/collectd-core.overrides:
+    - Update 'capitalization-error-in-description' lintian override.
+  * debian/rules, debian/collectd-core.collectd.service:
+    - Rename systemd service file to collectd-core.collectd.service, to honour
+      debhelper's naming convention.
+  * debian/collectd-core.collectd.service:
+    - Check for configuration file presence before starting the daemon.
+    - Check for configuration file validity before starting the daemon.
+  * debian/control, debian/changelog:
+    - Update my email address to match identity of current GPG key.
+
+ -- Marc Fournier <marc@bl.uem.li>  Sun, 13 Sep 2015 21:42:53 +0200
+
+collectd (5.5.0-2) unstable; urgency=low
+
+  * debian/rules:
+    - Disable the turbostat plugin on !amd64,!i386; it's Intel-hardware
+      specific.
+
+ -- Sebastian Harl <tokkee@debian.org>  Sun, 23 Aug 2015 15:35:26 +0200
+
+collectd (5.5.0-1) unstable; urgency=medium
+
+  [ Marc Fournier ]
+  * New upstream release:
+    - Battery plugin now prefers sysfs over (the deprecated) procfs for
+      reading values; thanks to Witold Baryluk for reporting this
+      (Closes: #630337).
+    - The configuration supports unquoted IPv6 addresses now; thanks to Geoff
+      Crompton for reporting this (Closes: #632713).
+    - Fixed a FTBFS using clang; thanks to Arthur Marble for reporting this
+      and providing a patch (Closes: #758481).
+    - collection.cgi now supports the df_complex types; thanks to Joel Franco
+      Guzmán for reporting this (Closes: #739625).
+    - Fixed an off-by-one error in the AVL tree implementation that broke
+      setups using only one threshold definition; thanks to Alexander Golovko
+      for reporting this (Closes: #754230).
+    - The disk plugin now (optionally) supports instance names based on a udev
+      attribute; thanks to Trent W. Buck for reporting this (Closes: #632936).
+  * debian/patches:
+    - Removed bts559801_plugin_find_fix.dpatch; merged upstream.
+    - Removed bts747093_lvm_segfault.dpatch; merged upstream.
+    - Removed bts750440_config_segfault.dpatch; merged upstream.
+    - Removed bts770681_riemann_ack.dpatch; merged upstream.
+    - Removed bts770683_curl_init.dpatch; merged upstream.
+    - Removed bts770688_snmp_memleak.dpatch; merged upstream.
+    - Removed bts770690_java_jni_thread_detach.dpatch; merged upstream.
+    - Removed bts770693_timestamps.dpatch; merged upstream.
+    - Removed bts770694_loglevel.dpatch; merged upstream.
+    - Removed collection.cgi.dpatch; merged upstream.
+    - Removed myplugin_api.dpatch; merged upstream.
+  * debian/rules, debian/collectd-dev.install, myplugin_includes.dpatch:
+    - Update path to header files moved to daemon/ subdirectory upstream.
+  * debian/rules, debian/control:
+    - Enable redis, write_redis plugins and add Build-depend on
+      libhiredis-dev (previous versions depended on credis which wasn't
+      packaged in Debian).
+    - Enable sigrok and uncomment Build-depend on libsigrok-dev.
+    - Re-enable varnish and uncomment Build-depend on libvarnishapi-dev
+      (support for varnish 4.x was added upstream).
+    - Enable zfs_arc (support for ZFS on linux was added upstream).
+    - Add Build-depend on libatasmart-dev (required to build new smart
+      plugin).
+    - Add Build-depend on libcap-dev (used to avoid running new turbostat
+      plugin as root on Linux).
+    - Add Build-depend on libi2c-dev (required to build new barometer plugin).
+    - Add Build-depend on libldap2-dev (required to build new openldap
+      plugin).
+    - Add Build-depend on librdkafka-dev (required to build new write_kafka
+      plugin).
+    - Add Build-depend on libudev-dev (used by disk plugin to enable
+      udev-based device renaming on Linux) (Closes: #588153, #632936).
+  * debian/control, debian/rules, debian/collectd.service:
+    - Add systemd service file (Closes: #762586)
+  * debian/libcollectdclient1.symbols
+    - Updated for 5.5.
+
+  [ Sebastian Harl ]
+  * debian/control:
+    - Add virtual-mysql-server as an alternative to the mysql-server suggests;
+      thanks to Otto Kekäläinen for reporting this (Closes: 781980).
+    - Add Marc to uploaders.
+    - Update standards-version to 3.9.6 (no changes).
+  * debian/po:
+    - Update Dutch debconf template translation; thanks to Frans Spiesschaert
+      (Closes: #763783).
+  * Convert the package to "3.0 (quilt)" format; thanks to YunQiang Su for an
+    initial patch (Closes: #688719):
+    - Build-depend on debhelper (>= 7.0.50~) and drop dpatch.
+    - Renamed patch files from *.dpatch to *.patch and drop the dpatch header.
+    - Changed debian/patches/00list to debian/patches/series.
+    - Drop all patch operations from debian/rules.
+  * debian/collectd-core.overrides:
+    - Update the JRE path for the rpath override.
+
+ -- Marc Fournier <marc.fournier@camptocamp.com>  Fri, 21 Aug 2015 13:29:17 +0200
+
 collectd (5.4.1-6+deb8u1) jessie-security; urgency=high
 
   * debian/patches/CVE-2016-6254.dpatch: Fix heap overflow in the network
@@ -1462,7 +1657,7 @@ collectd (3.9.4+debian-1) unstable; urgency=low
   * Initial release (Closes: #373008).
   * Removed upstream's debian/ directory from .orig.tar.gz.
   * getifaddrs.dpatch: Patching src/traffic.c to read data from /proc instead
-    of using getifaddrs(). getifaddrs() does not seem to work correctly on 
+    of using getifaddrs(). getifaddrs() does not seem to work correctly on
     AMD64.
 
  -- Sebastian Harl <sh@tokkee.org>  Fri,  7 Jul 2006 15:49:42 +0200
diff --git a/debian/collectd-core.collectd.service b/debian/collectd-core.collectd.service
new file mode 100644 (file)
index 0000000..e179f76
--- /dev/null
@@ -0,0 +1,20 @@
+[Unit]
+Description=Statistics collection and monitoring daemon
+After=local-fs.target network.target
+Requires=local-fs.target network.target
+ConditionPathExists=/etc/collectd/collectd.conf
+Documentation=man:collectd(1)
+Documentation=man:collectd.conf(5)
+Documentation=https://collectd.org
+
+[Service]
+Type=notify
+NotifyAccess=main
+EnvironmentFile=-/etc/default/collectd
+ExecStartPre=/usr/sbin/collectd -t
+ExecStart=/usr/sbin/collectd
+Restart=always
+RestartSec=10
+
+[Install]
+WantedBy=multi-user.target
index b67a020b31de6d002b9ef662d47ff8a29120068a..ac35a353623fe494fc54389d0e3adce42155a546 100644 (file)
@@ -4,11 +4,12 @@ collectd-core [!alpha !amd64 !hppa !ia64 !ppc64 !mips !mipsel]: shlib-with-non-p
 # All plugin names are spelled in lower-case.
 collectd-core: capitalization-error-in-description apache Apache
 collectd-core: capitalization-error-in-description mysql MySQL
+collectd-core: capitalization-error-in-description openldap OpenLDAP
 collectd-core: capitalization-error-in-description postgresql PostgreSQL
 collectd-core: capitalization-error-in-description python Python
 
 # The "java" plugin uses libjvm.so which can only be found in a non-standard
 # directory. According to the Java guys the path name and the ABI is stable
 # though ...
-collectd-core: binary-or-shlib-defines-rpath usr/lib/collectd/java.so /usr/lib/jvm/default-java/jre/lib/*/server
+collectd-core: binary-or-shlib-defines-rpath usr/lib/collectd/java.so /usr/lib/jvm/*/jre/lib/*/*
 
index 5696e472171b4488e65f6b9ca4f636af6ab2c758..a3dd6785c5d840ef2d782a6d1019eedc091c6c44 100644 (file)
@@ -1,3 +1,4 @@
 src/liboconfig/oconfig.h usr/include/collectd/liboconfig
 src/*.h usr/include/collectd/core
+src/daemon/*.h usr/include/collectd/core/daemon
 
index fe3125cd8151cc2898331b8b45dcd5333852da57..2c91a5bab94370a2afcdde79f60a20cb7c00c16c 100644 (file)
@@ -25,6 +25,13 @@ FQDNLookup true
 #----------------------------------------------------------------------------#
 #AutoLoadPlugin false
 
+#----------------------------------------------------------------------------#
+# When enabled, internal statistics are collected, using "collectd" as the   #
+# plugin name.                                                               #
+# Disabled by default.                                                       #
+#----------------------------------------------------------------------------#
+#CollectInternalStats false
+
 #----------------------------------------------------------------------------#
 # Interval at which to query values. This may be overwritten on a per-plugin #
 # base by using the 'Interval' option of the LoadPlugin block:               #
@@ -34,9 +41,10 @@ FQDNLookup true
 #----------------------------------------------------------------------------#
 #Interval 10
 
-#Timeout 2
-#ReadThreads 5
-#WriteThreads 5
+#MaxReadInterval 86400
+#Timeout         2
+#ReadThreads     5
+#WriteThreads    5
 
 # Limit the size of the write queue. Default is no limit. Setting up a limit
 # is recommended for servers handling a high volume of traffic.
@@ -53,6 +61,7 @@ FQDNLookup true
 
 #LoadPlugin logfile
 LoadPlugin syslog
+#LoadPlugin log_logstash
 
 #<Plugin logfile>
 #      LogLevel "info"
@@ -65,6 +74,11 @@ LoadPlugin syslog
        LogLevel info
 </Plugin>
 
+#<Plugin log_logstash>
+#      LogLevel info
+#      File "/var/log/collectd.json.log"
+#</Plugin>
+
 ##############################################################################
 # LoadPlugin section                                                         #
 #----------------------------------------------------------------------------#
@@ -76,8 +90,10 @@ LoadPlugin syslog
 #LoadPlugin apache
 #LoadPlugin apcups
 #LoadPlugin ascent
+#LoadPlugin barometer
 LoadPlugin battery
 #LoadPlugin bind
+#LoadPlugin ceph
 #LoadPlugin cgroups
 #LoadPlugin conntrack
 #LoadPlugin contextswitch
@@ -91,21 +107,23 @@ LoadPlugin cpu
 LoadPlugin df
 LoadPlugin disk
 #LoadPlugin dns
+#LoadPlugin drbd
 #LoadPlugin email
 LoadPlugin entropy
 #LoadPlugin ethstat
 #LoadPlugin exec
+#LoadPlugin fhcount
 #LoadPlugin filecount
 #LoadPlugin fscache
 #LoadPlugin gmond
 #LoadPlugin hddtemp
 LoadPlugin interface
+#LoadPlugin ipc
 #LoadPlugin ipmi
 #LoadPlugin iptables
 #LoadPlugin ipvs
 LoadPlugin irq
 #LoadPlugin java
-#LoadPlugin libvirt
 LoadPlugin load
 #LoadPlugin lvm
 #LoadPlugin madwifi
@@ -127,23 +145,24 @@ LoadPlugin memory
 #LoadPlugin numa
 #LoadPlugin nut
 #LoadPlugin olsrd
+#LoadPlugin onewire
+#LoadPlugin openldap
 #LoadPlugin openvpn
-#<LoadPlugin perl>
-#      Globals true
-#</LoadPlugin>
+#LoadPlugin perl
 #LoadPlugin pinba
 #LoadPlugin ping
 #LoadPlugin postgresql
 #LoadPlugin powerdns
 LoadPlugin processes
 #LoadPlugin protocols
-#<LoadPlugin python>
-#      Globals true
-#</LoadPlugin>
+#LoadPlugin python
+#LoadPlugin redis
 #LoadPlugin rrdcached
 LoadPlugin rrdtool
 #LoadPlugin sensors
 #LoadPlugin serial
+#LoadPlugin sigrok
+#LoadPlugin smart
 #LoadPlugin snmp
 #LoadPlugin statsd
 LoadPlugin swap
@@ -155,17 +174,26 @@ LoadPlugin swap
 #LoadPlugin ted
 #LoadPlugin thermal
 #LoadPlugin tokyotyrant
+#LoadPlugin turbostat
 #LoadPlugin unixsock
 #LoadPlugin uptime
 LoadPlugin users
 #LoadPlugin uuid
 #LoadPlugin varnish
+#LoadPlugin virt
 #LoadPlugin vmem
 #LoadPlugin vserver
 #LoadPlugin wireless
 #LoadPlugin write_graphite
 #LoadPlugin write_http
+#LoadPlugin write_kafka
+#LoadPlugin write_log
+#LoadPlugin write_redis
 #LoadPlugin write_riemann
+#LoadPlugin write_sensu
+#LoadPlugin write_tsdb
+#LoadPlugin zfs_arc
+#LoadPlugin zookeeper
 
 ##############################################################################
 # Plugin configuration                                                       #
@@ -174,7 +202,7 @@ LoadPlugin users
 # ription of those options is available in the collectd.conf(5) manual page. #
 ##############################################################################
 
-#<Plugin "aggregation">
+#<Plugin aggregation>
 #      <Aggregation>
 #              #Host "unspecified"
 #              Plugin "cpu"
@@ -208,6 +236,7 @@ LoadPlugin users
 #              RoutingKey "collectd"
 #              Persistent false
 #              StoreRates false
+#              ConnectionRetryDelay 0
 #      </Publish>
 #</Plugin>
 
@@ -244,7 +273,22 @@ LoadPlugin users
 #      CACert "/etc/ssl/ca.crt"
 #</Plugin>
 
-#<Plugin "bind">
+#<Plugin barometer>
+#      Device            "/dev/i2c-0";
+#      Oversampling      512
+#      PressureOffset    0.0
+#      TemperatureOffset 0.0
+#      Normalization     2
+#      Altitude          238.0
+#      TemperatureSensor "myserver/onewire-F10FCA000800/temperature"
+#</Plugin>
+
+#<Plugin battery>
+#      ValuesPercentage false
+#      ReportDegraded false
+#</Plugin>
+
+#<Plugin bind>
 #      URL "http://localhost:8053/"
 #
 #      ParseTime false
@@ -265,11 +309,34 @@ LoadPlugin users
 #      </View>
 #</Plugin>
 
-#<Plugin "cgroups">
+#<Plugin ceph>
+#      LongRunAvgLatency false
+#      ConvertSpecialMetricTypes true
+#      <Daemon "osd.0">
+#              SocketPath "/var/run/ceph/ceph-osd.0.asok"
+#      </Daemon>
+#      <Daemon "osd.1">
+#              SocketPath "/var/run/ceph/ceph-osd.1.asok"
+#      </Daemon>
+#      <Daemon "mon.a">
+#              SocketPath "/var/run/ceph/ceph-mon.ceph1.asok"
+#      </Daemon>
+#      <Daemon "mds.a">
+#              SocketPath "/var/run/ceph/ceph-mds.ceph1.asok"
+#      </Daemon>
+#</Plugin>
+
+#<Plugin cgroups>
 #      CGroup "libvirt"
 #      IgnoreSelected false
 #</Plugin>
 
+#<Plugin cpu>
+#      ReportByCpu true
+#      ReportByState true
+#      ValuesPercentage false
+#</Plugin>
+
 #<Plugin csv>
 #      DataDir "/var/lib/collectd/csv"
 #      StoreRates false
@@ -280,10 +347,15 @@ LoadPlugin users
 #              URL "http://finance.google.com/finance?q=NYSE%3AAMD"
 #              User "foo"
 #              Password "bar"
-#              VerifyPeer false
-#              VerifyHost false
-#              CACert "/etc/ssl/ca.crt"
+#              Digest false
+#              VerifyPeer true
+#              VerifyHost true
+#              CACert "/path/to/ca.crt"
+#              Header "X-Custom-Header: foobar"
+#              Post "foo=bar"
+#
 #              MeasureResponseTime false
+#              MeasureResponseCode false
 #              <Match>
 #                      Regex "<span +class=\"pr\"[^>]*> *([0-9]*\\.[0-9]+) *</span>"
 #                      DSType "GaugeAverage"
@@ -324,15 +396,18 @@ LoadPlugin users
 #  </URL>
 #</Plugin>
 
-#<Plugin "curl_xml">
+#<Plugin curl_xml>
 #      <URL "http://localhost/stats.xml">
 #              Host "my_host"
 #              Instance "some_instance"
 #              User "collectd"
 #              Password "thaiNg0I"
+#              Digest false
 #              VerifyPeer true
 #              VerifyHost true
 #              CACert "/path/to/ca.crt"
+#              Header "X-Custom-Header: foobar"
+#              Post "foo=bar"
 #
 #              <XPath "table[@id=\"magic_level\"]/tr">
 #                      Type "magic_level"
@@ -390,7 +465,6 @@ LoadPlugin users
        IgnoreSelected true
 
 #      ReportByDevice false
-#      ReportReserved false
 #      ReportInodes false
 
 #      ValuesAbsolute true
@@ -401,6 +475,8 @@ LoadPlugin users
 #      Disk "hda"
 #      Disk "/sda[23]/"
 #      IgnoreSelected false
+#      UseBSDName false
+#      UdevNameAttr "DEVNAME"
 #</Plugin>
 
 #<Plugin dns>
@@ -429,6 +505,11 @@ LoadPlugin users
 #      NotificationExec user "/path/to/exec"
 #</Plugin>
 
+#<Plugin fhcount>
+#      ValuesAbsolute true
+#      ValuesPercentage false
+#</Plugin>
+
 #<Plugin filecount>
 #      <Directory "/path/to/dir">
 #              Instance "foodir"
@@ -477,6 +558,7 @@ LoadPlugin users
 
 #<Plugin iptables>
 #      Chain "table" "chain"
+#      Chain6 "table" "chain"
 #</Plugin>
 
 #<Plugin irq>
@@ -497,15 +579,8 @@ LoadPlugin users
 #      </Plugin>
 #</Plugin>
 
-#<Plugin libvirt>
-#      Connection "xen:///"
-#      RefreshInterval 60
-#      Domain "name"
-#      BlockDevice "name:device"
-#      InterfaceDevice "name:device"
-#      IgnoreSelected false
-#      HostnameFormat name
-#      InterfaceFormat name
+#<Plugin load>
+#      ReportRelative true
 #</Plugin>
 
 #<Plugin madwifi>
@@ -552,9 +627,15 @@ LoadPlugin users
 #      </Instance>
 #</Plugin>
 
+#<Plugin memory>
+#      ValuesAbsolute true
+#      ValuesPercentage false
+#</Plugin>
+
 #<Plugin modbus>
 #      <Data "data_name">
 #              RegisterBase 1234
+#              RegisterCmd ReadHolding
 #              RegisterType float
 #              Type gauge
 #              Instance "..."
@@ -580,9 +661,12 @@ LoadPlugin users
 #              Password "secret"
 #              Database "db_name"
 #              MasterStats true
+#              ConnectTimeout 10
+#              InnodbStats true
 #      </Database>
 #
 #      <Database db_name2>
+#              Alias "squeeze"
 #              Host "localhost"
 #              Socket "/var/run/mysql/mysqld.sock"
 #              SlaveStats true
@@ -607,8 +691,9 @@ LoadPlugin users
 #              Username "user"
 #              Password "secret"
 #              Interface "eth0"
+#              ResolveInterval 14400
 #      </Server>
-#      TimeToLive "128"
+#      TimeToLive 128
 #
 #      # server setup:
 #      Listen "ff18::efc0:4a42" "25826"
@@ -617,7 +702,7 @@ LoadPlugin users
 #              AuthFile "/etc/collectd/passwd"
 #              Interface "eth0"
 #      </Listen>
-#      MaxPacketSize 1024
+#      MaxPacketSize 1452
 #
 #      # proxy setup (client and server as above):
 #      Forward true
@@ -676,6 +761,23 @@ LoadPlugin users
 #      CollectTopology "Summary"
 #</Plugin>
 
+#<Plugin onewire>
+#      Device "-s localhost:4304"
+#      Sensor "F10FCA000800"
+#      IgnoreSelected false
+#</Plugin>
+
+#<Plugin openldap>
+#      <Instance "localhost">
+#              URL "ldap://localhost:389"
+#              StartTLS false
+#              VerifyHost true
+#              CACert "/path/to/ca.crt"
+#              Timeout -1
+#              Version 3
+#      </Instance>
+#</Plugin>
+
 #<Plugin openvpn>
 #      StatusFile "/etc/openvpn/openvpn-status.log"
 #      ImprovedNamingSchema false
@@ -815,6 +917,14 @@ LoadPlugin users
 #      </Module>
 #</Plugin>
 
+#<Plugin redis>
+#      <Node example>
+#              Host "redis.example.com"
+#              Port "6379"
+#              Timeout 2000
+#      </Node>
+#</Plugin>
+
 #<Plugin rrdcached>
 #      DaemonAddress "unix:/var/run/rrdcached.sock"
 #      DataDir "/var/lib/rrdcached/db/collectd"
@@ -856,6 +966,24 @@ LoadPlugin users
 #      IgnoreSelected false
 #</Plugin>
 
+#<Plugin sigrok>
+#      LogLevel 3
+#      <Device "AC Voltage">
+#              Driver "fluke-dmm"
+#              MinimumInterval 10
+#              Conn "/dev/ttyUSB2"
+#      </Device>
+#      <Device "Sound Level">
+#              Driver "cem-dt-885x"
+#              Conn "/dev/ttyUSB1"
+#      </Device>
+#</Plugin>
+
+#<Plugin smart>
+#      Disk "/^[hs]d[a-f][0-9]?$/"
+#      IgnoreSelected false
+#</Plugin>
+
 # See /usr/share/doc/collectd/examples/snmp-data.conf.gz for a
 # comprehensive sample configuration.
 #<Plugin snmp>
@@ -911,6 +1039,12 @@ LoadPlugin users
 #      DeleteGauges   false
 #      DeleteSets     false
 #      TimerPercentile 90.0
+#      TimerPercentile 95.0
+#      TimerPercentile 99.0
+#      TimerLower     false
+#      TimerUpper     false
+#      TimerSum       false
+#      TimerCount     false
 #</Plugin>
 
 #<Plugin swap>
@@ -937,9 +1071,10 @@ LoadPlugin users
 #      </Table>
 #</Plugin>
 
-#<Plugin "tail">
+#<Plugin tail>
 #      <File "/var/log/exim4/mainlog">
 #              Instance "exim"
+#              Interval 60
 #              <Match>
 #                      Regex "S=([1-9][0-9]*)"
 #                      DSType "CounterAdd"
@@ -956,7 +1091,7 @@ LoadPlugin users
 #      </File>
 #</Plugin>
 
-#<Plugin "tail_csv">
+#<Plugin tail_csv>
 #      <Metric "dropped">
 #              Type "percent"
 #              Instance "dropped"
@@ -985,6 +1120,7 @@ LoadPlugin users
 
 #<Plugin tcpconns>
 #      ListeningPorts false
+#      AllPortsSummary false
 #      LocalPort "25"
 #      RemotePort "25"
 #</Plugin>
@@ -1011,6 +1147,25 @@ LoadPlugin users
 #      Port "1978"
 #</Plugin>
 
+#<Plugin turbostat>
+##     None of the following option should be set manually
+##     This plugin automatically detect most optimal options
+##     Only set values here if:
+##     - The module ask you to
+##     - You want to disable the collection of some data
+##     - Your (intel) CPU is not supported (yet) by the module
+##     - The module generate a lot of errors 'MSR offset 0x... read failed'
+##     In the last two cases, please open a bug request
+#
+#      TCCActivationTemp "100"
+#      CoreCstates "392"
+#      PackageCstates "396"
+#      SystemManagementInterrupt true
+#      DigitalTemperatureSensor true
+#      PackageThermalManagement true
+#      RunningAveragePowerLimit "7"
+#</Plugin>
+
 #<Plugin unixsock>
 #      SocketFile "/var/run/collectd-unixsock"
 #      SocketGroup "collectd"
@@ -1024,25 +1179,26 @@ LoadPlugin users
 
 #<Plugin varnish>
 #      <Instance>
-#              CollectCache true
 #              CollectBackend true
-#              CollectBan false           # Varnish 3 only
+#              CollectBan false           # Varnish 3 and above
+#              CollectCache true
 #              CollectConnections true
 #              CollectDirectorDNS false   # Varnish 3 only
-#              CollectSHM true
 #              CollectESI false
 #              CollectFetch false
 #              CollectHCB false
 #              CollectObjects false
 #              CollectPurge false         # Varnish 2 only
 #              CollectSession false
+#              CollectSHM true
 #              CollectSMA false           # Varnish 2 only
 #              CollectSMS false
 #              CollectSM false            # Varnish 2 only
 #              CollectStruct false
 #              CollectTotals false
-#              CollectUptime false
+#              CollectUptime false        # Varnish 3 and above
 #              CollectdVCL false
+#              CollectVSM false           # Varnish 4 only
 #              CollectWorkers false
 #      </Instance>
 #
@@ -1051,6 +1207,18 @@ LoadPlugin users
 #      </Instance>
 #</Plugin>
 
+#<Plugin virt>
+#      Connection "xen:///"
+#      RefreshInterval 60
+#      Domain "name"
+#      BlockDevice "name:device"
+#      InterfaceDevice "name:device"
+#      IgnoreSelected false
+#      HostnameFormat name
+#      InterfaceFormat name
+#      PluginInstanceFormat name
+#</Plugin>
+
 #<Plugin vmem>
 #      Verbose false
 #</Plugin>
@@ -1070,27 +1238,90 @@ LoadPlugin users
 #</Plugin>
 
 #<Plugin write_http>
-#      <URL "http://example.com/collectd-post">
+#      <Node "example">
+#              URL "http://example.com/collectd-post"
 #              User "collectd"
 #              Password "secret"
 #              VerifyPeer true
 #              VerifyHost true
 #              CACert "/etc/ssl/ca.crt"
+#              CAPath "/etc/ssl/certs/"
+#              ClientKey "/etc/ssl/client.pem"
+#              ClientCert "/etc/ssl/client.crt"
+#              ClientKeyPass "secret"
+#              SSLVersion "TLSv1"
 #              Format "Command"
 #              StoreRates false
-#      </URL>
+#              BufferSize 4096
+#              LowSpeedLimit 0
+#              Timeout 0
+#      </Node>
+#</Plugin>
+
+#<Plugin write_kafka>
+#      Property "metadata.broker.list" "localhost:9092"
+#      <Topic "collectd">
+#              Format JSON
+#      </Topic>
+#</Plugin>
+
+#<Plugin write_redis>
+#      <Node "example">
+#              Host "localhost"
+#              Port "6379"
+#              Timeout 1000
+#      <Node>
 #</Plugin>
 
 #<Plugin write_riemann>
 #      <Node "example">
 #              Host "localhost"
 #              Port 5555
-#              Protocol UDP
+#              Protocol TCP
+#              Batch true
+#              BatchMaxSize 8192
 #              StoreRates true
 #              AlwaysAppendDS false
 #              TTLFactor 2.0
+#              Notifications true
+#              CheckThresholds false
+#              EventServicePrefix ""
+#      </Node>
+#      Tag "foobar"
+#      Attribute "foo" "bar"
+#</Plugin>
+
+#<Plugin write_sensu>
+#      <Node "example">
+#              Host "localhost"
+#              Port 3030
+#              StoreRates true
+#              AlwaysAppendDS false
+#              Notifications true
+#              Metrics true
+#              EventServicePrefix ""
+#              MetricHandler "influx"
+#              MetricHandler "default"
+#              NotificationHandler "flapjack"
+#              NotificationHandler "howling_monkey"
 #      </Node>
 #      Tag "foobar"
+#      Attribute "foo" "bar"
+#</Plugin>
+
+#<Plugin write_tsdb>
+#      <Node>
+#              Host "localhost"
+#              Port "4242"
+#              HostTags "status=production"
+#              StoreRates false
+#              AlwaysAppendDS false
+#      </Node>
+#</Plugin>
+
+#<Plugin zookeeper>
+#      Host "localhost"
+#      Port "2181"
 #</Plugin>
 
 <Include "/etc/collectd/collectd.conf.d">
index 5aec6a6d0658d0983a2b8fbc73b1a165013184a1..90e0bbd927deea35de78f6a72e63c2d6f9d8f94e 100644 (file)
@@ -2,18 +2,24 @@ Source: collectd
 Section: utils
 Priority: optional
 Maintainer: Sebastian Harl <tokkee@debian.org>
-Build-Depends: debhelper (>= 5), dpkg-dev (>= 1.14.10), po-debconf, dpatch,
+Uploaders: Marc Fournier <marc@bl.uem.li>
+Build-Depends: debhelper (>= 7.0.50~), dpkg-dev (>= 1.14.10), po-debconf, dh-systemd (>= 1.5), dh-strip-nondeterminism, dh-autoreconf,
  bison, flex, autotools-dev, libltdl-dev, pkg-config,
  iptables-dev (>= 1.4.3.2-2) [linux-any],
  javahelper,
  kfreebsd-kernel-headers [kfreebsd-any],
+ libatasmart-dev [linux-any],
+ libcap-dev [linux-any],
  libcurl4-gnutls-dev (>= 7.18.2-5) | libcurl4-gnutls-dev (<= 7.18.2-1) | libcurl3-gnutls-dev,
  libdbi0-dev,
  libesmtp-dev,
  libganglia1-dev (>= 3) [linux-any],
  libgcrypt11-dev,
  libglib2.0-dev,
+ libhiredis-dev,
+ libi2c-dev,
  libkvm-dev [kfreebsd-any],
+ libldap2-dev,
  liblvm2-dev [linux-any],
  libmemcached-dev,
  libmodbus-dev,
@@ -27,17 +33,19 @@ Build-Depends: debhelper (>= 5), dpkg-dev (>= 1.14.10), po-debconf, dpatch,
  libperl-dev,
  libpq-dev,
  libprotobuf-c-dev,
+ librdkafka-dev,
  librabbitmq-dev,
  librrd-dev (>= 1.4~),
  libsensors4-dev [linux-any],
-# libsigrok-dev (>= 0.2~),
+ libsigrok-dev (>= 0.2~) [linux-any],
 # libsnmp-dev (>= 5.4.2.1~dfsg-4~) | (libsnmp-dev & perl (<< 5.10.1~rc2-1~))
  libsnmp-dev (>= 5.4.2.1~dfsg-4~) | libsnmp-dev | libsnmp9-dev,
  libsnmp-dev (>= 5.4.2.1~dfsg-4~) | perl (<< 5.10.1~rc2-1~),
  libtokyocabinet-dev [linux-any],
  libtokyotyrant-dev [linux-any],
+ libudev-dev [linux-any],
  libupsclient-dev | libupsclient1-dev,
-# libvarnishapi-dev,
+ libvarnishapi-dev,
  libvirt-dev (>= 0.4.0-6) [linux-any],
  libxml2-dev,
  libyajl-dev,
@@ -46,7 +54,7 @@ Build-Depends: debhelper (>= 5), dpkg-dev (>= 1.14.10), po-debconf, dpatch,
  protobuf-c-compiler,
  python-dev
 Build-Conflicts: libpthread-dev, libhal-dev
-Standards-Version: 3.9.5
+Standards-Version: 3.9.8
 Homepage: http://collectd.org/
 Vcs-Git: git://git.tokkee.org/pkg-collectd.git
 Vcs-Browser: http://git.tokkee.org/?p=pkg-collectd.git
@@ -60,9 +68,9 @@ Suggests: collectd-dev,
  librrds-perl, liburi-perl, libhtml-parser-perl, libregexp-common-perl,
  libconfig-general-perl, httpd-cgi,
 # services providing data that may be collected by collectd
- apache2, apcupsd, bind9, hddtemp, iptables, ipvsadm, lm-sensors, mbmon,
- memcached, mysql-server, nginx, notification-daemon, nut, openvpn, olsrd,
- pdns-server, postgresql, time-daemon,
+ apache2, apcupsd, bind9, ceph, hddtemp, iptables, ipvsadm, lm-sensors, mbmon,
+ memcached, mysql-server | virtual-mysql-server, nginx, notification-daemon, nut, openvpn, olsrd,
+ pdns-server, postgresql, redis-server, slapd, time-daemon, varnish, zookeeper,
  ${shlibs:Suggests}, default-jre-headless
 Replaces: collectd (<< 4.8.2-1~)
 Description: statistics collection and monitoring daemon (core system)
@@ -87,8 +95,10 @@ Description: statistics collection and monitoring daemon (core system)
    * Apache and lighttpd statistics provided by mod_status: apache
    * APC UPS's charge, load, input/output/battery voltage, etc.: apcups
    * Ascent server statistics: ascent
+   * Bosch and Freescale barometers: barometer
    * battery status: battery
    * bind9 name-server and zone statistics: bind
+   * Ceph distributed storage system statitics: ceph
    * CGroups resource usage: cgroups
    * connection tracking table size: conntrack
    * number of context switches done by the operating system: contextswitch
@@ -102,27 +112,30 @@ Description: statistics collection and monitoring daemon (core system)
    * disk space usage: df
    * disk and partition throughput: disk
    * DNS traffic information: dns
+   * Distributed Replicated Block Device status: drbd
    * E-Mail statistics (count, traffic, spam scores and checks): email
    * amount of available entropy: entropy
    * execution of external programs: exec
+   * count the number of open file handles: fhcount
    * count the number of files in directories: filecount
    * Linux file-system based caching framework statistics: fscache
    * query data from Java processes using JMX: GenericJMX (Java based plugin)
-   * Receive and interpret Ganglia multicast traffic: gmond
+   * receive and interpret Ganglia multicast traffic: gmond
    * harddisk temperature: hddtemp
    * network traffic: interface
+   * IPC statistics: ipc
    * IPMI sensors information: ipmi
    * iptables statistics: iptables
    * IPVS connection statistics: ipvs
    * IRQ counters: irq
    * embedded Java Virtual Machine: java
-   * CPU, disk, network statistics of guest systems: libvirt
    * system load averages: load
    * logging to files, STDOUT and STDERR: logfile
+   * logging in logstash's JSON event format: log_logstash
    * Logical Volume Manager usage: lvm
    * Atheros wireless LAN chipset statistics: madwifi
    * motherboard monitor: mbmon
-   * Query and parse data from a memcache daemon: memcachec
+   * query and parse data from a memcache daemon: memcachec
    * statistics of the memcached distributed caching system: memcached
    * memory usage: memory
    * read values from Modbus/TCP enabled devices: modbus
@@ -138,6 +151,7 @@ Description: statistics collection and monitoring daemon (core system)
    * NTP daemon's local clock drift, offset to peers, etc.: ntpd
    * UPS information: nut
    * Optimized Link State Routing daemon statistics: olsrd
+   * OpenLDAP's cn=Monitor statistics: openldap
    * OpenVPN traffic and compression statistics: openvpn
    * OpenVZ statistics: OpenVZ (Perl based plugin)
    * embedded Perl interpreter: perl
@@ -148,12 +162,15 @@ Description: statistics collection and monitoring daemon (core system)
    * number of processes: processes
    * information about network protocols: protocols
    * embedded Python interpreter: python
+   * Redis server statistics: redis
    * write data via the RRD accelerator daemon: rrdcached
    * output to RRD files: rrdtool
    * lm_sensors information (e.g. CPU temperature, fan speeds): sensors
    * serial port traffic: serial
    * values from SNMP enabled network devices: snmp
    * aggregate values received with the StatsD protocol: statsd
+   * sigrok-supported device measurements: sigrok
+   * SMART statistics: smart
    * swap usage: swap
    * logging to syslog: syslog
    * parse table-like structured files: table
@@ -163,19 +180,28 @@ Description: statistics collection and monitoring daemon (core system)
    * TeamSpeak2 server statistics: teamspeak2
    * power consumption measurements from "The Energy Detective" (TED): ted
    * Linux ACPI thermal zone information: thermal
-   * Check thresholds and for missing values: threshold
+   * check thresholds and for missing values: threshold
+   * statistics from Intel turbo-capable processors: turbostat
    * Tokyo Tyrant server statistics: tokyotyrant
    * external runtime interface: unixsock
    * system uptime: uptime
    * number of users logged into the system: users
    * set the hostname to an unique identifier: uuid
    * Varnish HTTP accelerator daemon statistics: varnish
+   * CPU, disk, network statistics of guest systems: virt
    * detailed virtual memory statistics: vmem
    * system resources used by Linux-VServers: vserver
    * wireless network stats: wireless
    * send collected values to a graphite server: write_graphite
    * send collected values to a web-server: write_http
-   * send collected values to a riemann server: write_riemann
+   * send collected values to an Apache Kafka message broker: write_kafka
+   * send collected values to the logging subsystem: write_log
+   * send collected values to a Redis server: write_redis
+   * send collected values to a Riemann server: write_riemann
+   * send collected values to a Sensu client: write_sensu
+   * send collected values to an OpenTSDB server: write_tsdb
+   * ZFS's Adaptive Replacement Cache statistics: zfs_arc
+   * data from Zookeeper's MNTR command: zookeeper
 
 Package: collectd
 Architecture: any
@@ -232,7 +258,7 @@ Description: statistics collection and monitoring daemon (debugging symbols)
 
 Package: collectd-dev
 Architecture: all
-Depends: collectd-core (>= ${source:Version}), collectd-core (<< 5.5~),
+Depends: collectd-core (>= ${source:Version}), collectd-core (<< 5.6~),
  ${misc:Depends}
 Description: statistics collection and monitoring daemon (development files)
  collectd is a small daemon which collects system information periodically and
index 9d49570b43d681c756c25e0b7e574939763c438a..d587cedaf4ed664ca5ffd391c3b673790d5c77d6 100644 (file)
@@ -18,13 +18,15 @@ Copyright Holders (in alphabetical order):
        Amit Gupta <amit.gupta221@gmail.com>
        Andre M. Hedrick <andre@suse.com>
        Andreas Henriksson <andreas@fatal.se>
-       Andrés J. Díaz <ajdiaz at connectical.com>
+       Andrés J. Díaz <ajdiaz@connectical.com>
+       Andy Parkins <andyp@fussylogic.co.uk>
        Anthony Dewhurst <dewhurst@gmail>
        Anthony Gialluca <tonyabg@charter.net>
        Antony Dovgal <tony@daylessday.org>
        Battelle Memorial Institute
        Bert Vermeulen <bert@biot.com>
        Bruno Prémont <bonbons@linux-vserver.org>
+       Carnegie Mellon University
        Chad Malfait <malfaitc@yahoo.com>
        Clay Loveless <clay@killersoft.com>
        Clément Stenac <clement.stenac@diwi.org>
@@ -37,27 +39,35 @@ Copyright Holders (in alphabetical order):
        Eric Reed <ericr@reedhome.net>
        Eric Spreen <erispre@gmail.com>
        Fabian Schuh <mail@xeroc.org>
+       Fabrice A. Marie <fabrice@kibinlabs.com>
        Flavio Stanchina <flavio@stanchina.net>
        Florent Monbillard <eppo@darox.net>
        Florent Usseil <swiip81@free.fr>
        Florian Forster <octo@verplant.org>
        Franck Lombardi
        Free Software Foundation, Inc.
+       Google, Inc.
        Hideki Yamane <henrich@debian.or.jp>
+       Intel Corporation.
        Ivan Masár <helix84@centrum.sk
        Jacobo Tarrio <jtarrio@debian.org>
        Jason Pepas <cell@ices.utexas.edu>
        Jeff Green <jeff@kikisoso.org>
        Jérôme Renard <jerome.renard@gmail.com>
+       Jiri Tyr <jiri.tyr@gmail.com>
        Joe Dalton <joedalton2@yahoo.dk>
        Jonathan Kolb <jon@b0g.us>
        Jorge Barreiro <yortx.barry@gmail.com>
+       joseph werle <joseph.werle@gmail.com>
        Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
        Julian Anastasov <ja@ssi.bg>
        Justo Alonso Achaques <justo.alonso@gmail.com>
        Kai Wasserbäch <debian@carbon-project.org>
        Kern Sibbald
+       Kimo Rosenbaum <kimor79@yahoo.com>
        Kris Nielander <nielander@fox-it.com>
+       Laird Shaw
+       Limelight Networks, Inc.
        Lubos Stanek <lubek@users.sourceforge.net>
        Lyonel Vincent <lyonel@ezix.org>
        Manuel Sanmartin
@@ -66,11 +76,13 @@ Copyright Holders (in alphabetical order):
        Mariusz Gronczewski <xani666@gmail.com>
        Martin Bagge <brother@bsnet.se>
        Martin Sin <martin.sin@zshk.cz>
+       Max Henkel <henkel@gmx.at>
        Michael Hanselmann
        Michael Stapelberg <michael+git@stapelberg.de>
        Michał Mirosław <mirq-linux@rere.qmqm.pl>
        Mirko Buffoni <briareos@eswat.org>
        Netfilter Core Team
+       New Dream Network
        Nicolas Szalay
        Niki W. Waibel <niki.waibel@newlogic.com>
        noris network AG
@@ -87,6 +99,7 @@ Copyright Holders (in alphabetical order):
        Red Hat Inc.
        Rodolphe Quiédeville <rquiedeville@bearstech.com>
        Scott Garrett <sgarrett@technomancer.com>
+       Scott Sanders <scott@jssjr.com>
        Sebastian Harl <sh@tokkee.org>
        Sebastien Pahl <sebastien.pahl@dotcloud.com>
        Simon Kuhnle <simon@blarzwurst.de>
@@ -97,9 +110,13 @@ Copyright Holders (in alphabetical order):
        Steven Clarke <steven@monmouth.demon.co.uk>
        Sven Trenkel <collectd@semidefinite.de>
        The Regents of the University of California
+       Tim Laszlo <tim.laszlo@gmail.com>
        Tomasz Pala <gotar@pld-linux.org>
+       Vedran Bartonicek <vbartoni@gmail.com>
+       Vincent Bernat <vincent@bernat.im>
        Vincent Stehlé <vincent.stehle@free.fr>
        Wensong Zhang <wensong@linuxvirtualserver.org>
+       Wilfried Goesgens <dothebart@citadel.org>
        Wouter Gadeyne
        Xin Li <delphij@FreeBSD.org>
        Yuri Kozlov <yuray@komyakino.ru>
@@ -114,23 +131,6 @@ Licenses:
        Copyright © 2009 Jonathan Kolb <jon@b0g.us>
        License: GNU General Public License
 
-       Files bindings/perl/lib/Collectd.pm
-             contrib/examples/MyPlugin.pm
-             contrib/examples/myplugin.c
-             contrib/cussh.pl
-             src/collectdmon.c
-             src/collectdmon.pod
-             src/email.c
-             src/notify_desktop.c
-             src/perl.c
-             src/table.c
-             src/types.db.pod
-             src/utils_cmd_flush.h
-             src/utils_subst.c
-             src/utils_subst.h
-       Copyright © 2006-2009 Sebastian Harl <sh@tokkee.org>
-       License: GNU General Public License
-
        File contrib/collectd_network.py
        Copyright © 2009 Adrian Perez <aperez@igalia.com>
        License: GNU General Public License
@@ -155,6 +155,8 @@ Licenses:
        Copyright © 2009 Anthony Dewhurst <dewhurst@gmail>
        Copyright © 2012 Aurelien Rougemont
        Copyright © 2013 Xin Li <delphij@FreeBSD.org>
+       Copyright © 2014 Marc Fournier
+       Copyright © 2014 Wilfried Goesgens
        License: GNU General Public License
 
        File contrib/network-proxy.py
@@ -196,8 +198,9 @@ Licenses:
        License: GNU General Public License
 
        File src/battery.c
-       Copyright © 2006-2007 Florian Forster <octo@verplant.org>
+       Copyright © 2006-2014 Florian Forster <octo@verplant.org>
        Copyright © 2008 Michał Mirosław <mirq-linux@rere.qmqm.pl>
+       Copyright © 2014 Andy Parkins
        License: GNU General Public License
 
        File src/bind.c
@@ -205,24 +208,18 @@ Licenses:
        Copyright © 2009,2010 Florian Forster <octo@verplant.org>
        License: GNU General Public License
 
+       File src/ceph.c
+       Copyright © 2011 New Dream Network
+       Copyright © 2011 Colin McCabe <cmccabe@alumni.cmu.edu>
+       Copyright © 2014 Dennis Zou <yunzou@cisco.com>
+       Copyright © 2014 Dan Ryder <daryder@cisco.com>
+       License: GNU General Public License
+
        File src/cgroups.c
        Copyright © 2011 Michael Stapelberg <michael@stapelberg.de>
        Copyright © 2013 Florian Forster <octo@collectd.org>
        License: GNU General Public License
 
-       Files src/collectd-perl.pod
-             src/logfile.c
-             src/match_regex.c
-             src/nginx.c
-             src/scanner.l
-             src/utils_cmd_flush.c
-             src/utils_complain.c
-             src/utils_complain.h
-             src/vserver.c
-       Copyright © 2006-2013 Florian Forster
-       Copyright © 2006-2009 Sebastian Harl
-       License: GNU General Public License
-
        File src/collectd-python.pod
        Copyright © 2009 Sven Trenkel <collectd@semidefinite.de>
        License: GNU General Public License
@@ -238,13 +235,15 @@ Licenses:
 
        File src/contextswitch.c
        Copyright © 2009 Patrik Weiskircher <weiskircher@inqnet.at>
+       Copyright © 2010 Kimo Rosenbaum
        License: GNU General Public License
 
        File src/cpu.c
-       Copyright © 2005-2009 Florian Forster <octo@verplant.org>
+       Copyright © 2005-2014 Florian Forster <octo@verplant.org>
        Copyright © 2008 Oleg King <king2@kaluga.ru>
        Copyright © 2009 Simon Kuhnle <simon@blarzwurst.de>
        Copyright © 2009 Manuel Sanmartin
+       Copyright © 2013-2014 Pierre-Yves Ritschard <pyr@spootnik.org>
        License: GNU General Public License
 
        Files src/cpufreq.c
@@ -277,6 +276,7 @@ Licenses:
              src/load.c
        Copyright © 2005-2012 Florian Forster <octo@verplant.org>
        Copyright © 2009 Manuel Sanmartin
+       Copyright © 2013 Vedran Bartonicek
        License: GNU General Public License
 
        File src/dns.c
@@ -310,6 +310,11 @@ Licenses:
        Copyright © 2008 Sebastian Harl <sh@tokkee.org>
        License: GNU General Public License
 
+       File src/ipc.c
+       Copyright © 2010 Andres J. Diaz <ajdiaz@connectical.com>
+       Copyright © 2010 Manuel L. Sanmartin <manuel.luis@gmail.com>
+       License: GNU General Public License
+
        File src/ipmi.c
        Copyright © 2008-2009 Florian Forster <octo@verplant.org>
        Copyright © 2008 Peter Holik <peter@holik.at>
@@ -339,13 +344,14 @@ Licenses:
        Copyright © 2009 Florian Forster <octo@verplant.org>
        License: GNU General Public License
 
-       Files src/libvirt.c
+       Files src/virt.c
              src/uuid.c
        Copyright © 2006-2008 Red Hat Inc.
        License: GNU General Public License
 
        File src/lvm.c
        Copyright © 2013 Chad Malfait <malfaitc@yahoo.com>
+       Copyright © 2014 Carnegie Mellon University
        License: GNU General Public License
 
        File src/madwifi.c
@@ -416,6 +422,10 @@ Licenses:
        Copyright © 2010 Florian Forster
        License: GNU General Public License
 
+       File src/onewire.c
+       Copyright © 2008 noris network AG
+       License: GNU General Public License
+
        File src/openvpn.c
        Copyright © 2008-2009 Doug MacEachern <dougm@hyperic.com>
        Copyright © 2006-2009 Florian Forster <octo@verplant.org>
@@ -434,10 +444,7 @@ Licenses:
        Copyright © 2010 Florian Forster <octo@verplant.org>
        License: GNU General Public License
 
-       Files src/powerdns.c
-             src/utils_tail.c
-             src/utils_tail_match.c
-             src/utils_tail_match.h
+       File src/powerdns.c
        Copyright © 2007-2008 C-Ware, Inc.
        Copyright © 2008 Florian Forster
        License: GNU General Public License
@@ -473,9 +480,10 @@ Licenses:
        License: GNU General Public License
 
        File src/swap.c
-       Copyright © 2005-2012 Florian Forster <octo@verplant.org>
+       Copyright © 2005-2014 Florian Forster <octo@verplant.org>
        Copyright © 2009 Stefan Völkel <bd@bc-bd.org>
        Copyright © 2009 Manuel Sanmartin
+       Copyright © 2010 Aurélien Reynaud
        License: GNU General Public License
 
        File src/tail_csv.c
@@ -509,6 +517,10 @@ Licenses:
        Copyright © 2009 Paul Sadauskas <psadauskas@gmail.com>
        License: GNU General Public License
 
+       File src/turbostat.c
+       Copyright © 2013 Intel Corporation.
+       License: GNU General Public License
+
        File src/uptime.c
        Copyright © 2009 Marco Chiappero <marco@absence.it>
        License: GNU General Public License
@@ -543,16 +555,6 @@ Licenses:
        Copyright © 2005, 2006 Niki W. Waibel <niki.waibel@gmx.net>
        License: GNU General Public License
 
-       File src/utils_tail.h
-       Copyright © 2007-2008 C-Ware, Inc.
-       License: GNU General Public License
-
-       File src/utils_threshold.c
-       Copyright © 2007-2009 Florian Forster <octo@verplant.org>
-       Copyright © 2008-2009 Sebastian Harl <sh@tokkee.org>
-       Copyright © 2009 Andrés J. Díaz <ajdiaz@connectical.com>
-       License: GNU General Public License
-
        File src/varnish.c
        Copyright © 2010 Jérôme Renard
        Copyright © 2010 Marc Fournier
@@ -568,7 +570,7 @@ Licenses:
        License: GNU General Public License
 
        File src/write_http.c
-       Copyright © 2007-2009 Florian Forster <octo@verplant.org>
+       Copyright © 2007-2014 Florian Forster <octo@verplant.org>
        Copyright © 2009 Paul Sadauskas <psadauskas@gmail.com>
        Copyright © 2009 Doug MacEachern <dougm@hyperic.com>
        License: GNU General Public License
@@ -577,9 +579,22 @@ Licenses:
        Copyright © 2010-2013 Florian Forster
        Copyright © 2010 Akkarit Sangpetch
        Copyright © 2012 Chris Lundquist
+       License: GNU General Public License
 
-       All other files (except otherwise listed):
-       Copyright © 2005-2013 Florian Forster <octo@verplant.org>
+       File src/write_riemann_threshold.c
+       Copyright © 2007-2010 Florian Forster
+       Copyright © 2008-2009 Sebastian Harl
+       Copyright © 2009 Andrés J. Díaz
+       Copyright © 2014 Pierre-Yves Ritschard
+       License: GNU General Public License
+
+       File src/write_tsdb.c
+       Copyright © 2009 Paul Sadauskas
+       Copyright © 2009 Doug MacEachern
+       Copyright © 2011 Scott Sanders
+       Copyright © 2012 Pierre-Yves Ritschard
+       Copyright © 2007-2013 Florian octo Forster
+       Copyright © 2013-2014 Limelight Networks, Inc.
        License: GNU General Public License
 
        This package is free software; you can redistribute it and/or modify
@@ -607,7 +622,7 @@ text of the latest version can be found in `/usr/share/common-licenses/GPL'.
        Copyrigh © 2009 Novell Inc.
        Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
        Based on Python version:
-       Copyright (C) 2008 Clay Loveless <clay@killersoft.com>
+       Copyright © 2008 Clay Loveless <clay@killersoft.com>
 
        This software is provided 'as-is', without any express or implied
        warranty. In no event will the author be held liable for any damages
@@ -629,6 +644,10 @@ text of the latest version can be found in `/usr/share/common-licenses/GPL'.
        Copyright © 1998-2011 Free Software Foundation, Inc.
        License: GNU Lesser General Public License
 
+       File src/barometer.c
+       Copyright © 2014 Tomas Menzl
+       License: GNU Lesser General Public License
+
        File src/network.c
        Copyright © 2005-2013 Florian Forster <octo@verplant.org>
        Copyright © 2009 Aman Gupta <aman@tmm1.net>
@@ -689,7 +708,8 @@ can be found in `/usr/share/common-licenses/LGPL'.
        Copyright © 2002-2005 Sam Leffler, Errno Consulting
        License: BSD License
 
-       File src/utils_dns.c
+       Files src/utils_dns.c
+             src/utils_dns.h
        Copyright © 2002 The Measurement Factory, Inc.
        Copyright © 2006 Florian Forster <octo@verplant.org>
        License: BSD License
@@ -726,11 +746,6 @@ can be found in `/usr/share/common-licenses/LGPL'.
        Copyright © 2012 Sebastian 'tokkee' Harl <sh@tokkee.org>
        License: 2-clause BSD License
 
-       File src/postgresql.c
-       Copyright © 2008-2012 Sebastian Harl <sh@tokkee.org>
-       Copyright © 2009 Florian Forster <octo@verplant.org>
-       License: 2-clause BSD License
-
        All rights reserved.
 
        Redistribution and use in source and binary forms, with or without
@@ -756,11 +771,41 @@ can be found in `/usr/share/common-licenses/LGPL'.
        ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        POSSIBILITY OF SUCH DAMAGE.
 
+       Files bindings/perl/lib/Collectd.pm
+             contrib/examples/MyPlugin.pm
+             contrib/examples/myplugin.c
+             contrib/cussh.pl
+             src/types.db.pod
+             src/utils_cmd_flush.h
+             src/daemon/utils_subst.c
+             src/daemon/utils_subst.h
+       Copyright © 2006-2009 Sebastian Harl <sh@tokkee.org>
+       License: MIT License
+
+       File contrib/collection.cgi
+       Copyright © 2006-2010 Florian Forster <octo@collectd.org>
+       2006-2008 Sebastian Harl <sh@tokkee.org>
+       2008 Mirko Buffoni <briareos@eswat.org>
+       License: MIT License
+
        File src/amqp.c
        Copyright © 2009 Sebastien Pahl <sebastien.pahl@dotcloud.com>
        Copyright © 2010-2012 Florian Forster <octo@verplant.org>
        License: MIT License
 
+       Files src/collectd-perl.pod
+             src/logfile.c
+             src/match_regex.c
+             src/nginx.c
+             src/scanner.l
+             src/utils_cmd_flush.c
+             src/daemon/utils_complain.c
+             src/daemon/utils_complain.h
+             src/vserver.c
+       Copyright © 2006-2013 Florian Forster
+       Copyright © 2006-2009 Sebastian Harl
+       License: MIT License
+
        Files src/collectd-python.pod
              src/cpython.h
              src/pyconfig.c
@@ -769,18 +814,105 @@ can be found in `/usr/share/common-licenses/LGPL'.
        Copyright © 2009-2010 Sven Trenkel <collectd@semidefinite.de>
        License: MIT License
 
+       File src/drbd.c
+       Copyright © 2014 Tim Laszlo <tim.laszlo@gmail.com>
+       License: MIT License
+
+       Files src/collectdmon.c
+             src/collectdmon.pod
+             src/email.c
+             src/notify_desktop.c
+             src/perl.c
+             src/table.c
+       Copyright © 2006-2009 Sebastian Harl <sh@tokkee.org>
+       License: MIT License
+
+       File src/fhcount.c
+       Copyright © 2015 Jiri Tyr <jiri.tyr@gmail.com>
+       License: MIT License
+
+       File src/log_logstash.c
+       Copyright © 2013 Pierre-Yves Ritschard
+       License: MIT License
+
        Files src/libcollectdclient/collectd/lcc_features.h
              src/libcollectdclient/collectd/lcc_features.h.in
        Copyright © 2009 Sebastian Harl <sh@tokkee.org>
        License: MIT License
 
+       File src/libcollectdclient/network.c
+       Copyright © 2005-2015  Florian Forster
+       Copyright © 2010 Max Henkel
+       License: MIT License
+
+       Other files in src/libcollectdclient/ and src/daemon/utils_random.*
+       Copyright © 2005-2013 Florian octo Forster <octo@verplant.org>
+       License: MIT License
+
+       Files src/daemon/utils_tail.c
+             src/daemon/utils_tail_match.c
+             src/daemon/utils_tail_match.h
+       Copyright © 2007-2008 C-Ware, Inc.
+       Copyright © 2008 Florian Forster
+       License: MIT License
+
+       File src/daemon/utils_tail.h
+       Copyright © 2007-2008 C-Ware, Inc.
+       License: MIT License
+
+       Files src/daemon/utils_threshold.c
+             src/daemon/utils_threshold.h
+       Copyright © 2014 Pierre-Yves Ritschard <pyr@spootnik.org>
+       License: MIT License
+
        File src/netapp.c
        Copyright © 2009-2010 Sven Trenkel <collectd@semidefinite.de>
        Copyright © 2012-2013 teamix GmbH
        License: MIT License
 
-       Other files in src/libcollectdclient/ and src/utils_random.*
-       Copyright © 2005-2013 Florian octo Forster <octo@verplant.org>
+       File src/openldap.c
+       Copyright © 2011 Kimo Rosenbaum <kimor79@yahoo.com>
+       Copyright © 2014 Marc Fournier <marc.fournier@camptocamp.com>
+       License: MIT License
+
+       File src/postgresql.c
+       Copyright © 2008-2012 Sebastian Harl <sh@tokkee.org>
+       Copyright © 2009 Florian Forster <octo@verplant.org>
+       License: MIT Licence
+
+       File src/smart.c
+       Copyright © 2014 Vincent Bernat <vbe@exoscale.ch>
+       License: MIT License
+
+       Files src/statsd.c
+             src/utils_latency.c
+             src/utils_latency.h
+       Copyright © 2013 Florian 'octo' Forster <octo@collectd.org>
+       License: MIT License
+
+       File src/write_kafka.c
+       Copyright © 2014 Pierre-Yves Ritschard <pyr@spootnik.org>
+       License: MIT License
+
+       File src/write_log.c
+       Copyright © 2015 Pierre-Yves Ritschard <pyr@spootnik.org>
+       License: MIT License
+
+       File src/write_riemann.c
+       Copyright © 2012, 2013 Pierre-Yves Ritschard <pyr@spootnik.org>
+       Copyright © 2013 Florian octo Forster <octo@collectd.org>
+       License: MIT License
+
+       File src/write_sensu.c
+       Copyright © 2015 Fabrice A. Marie <fabrice@kibinlabs.com>
+       License: MIT License
+
+       File src/zookeeper.c
+       Copyright © 2014 Google, Inc.
+       License: MIT License
+
+       All other files (except otherwise listed):
+       Copyright © 2005-2015 Florian Forster <octo@verplant.org>
        License: MIT License
 
        Permission is hereby granted, free of charge, to any person obtaining a
@@ -805,15 +937,6 @@ can be found in `/usr/share/common-licenses/LGPL'.
        Copyright © 2010 Pierre-Yves Ritschard <pyr@openbsd.org>
        Copyright © 2011 Stefan Rinkes <stefan.rinkes@gmail.org>
 
-       Files src/statsd.c
-             src/utils_latency.c
-             src/utils_latency.h
-       Copyright © 2013 Florian 'octo' Forster <octo@collectd.org>
-
-       File src/write_riemann.c
-       Copyright © 2012, 2013 Pierre-Yves Ritschard <pyr@spootnik.org>
-       Copyright © 2013 Florian octo Forster <octo@collectd.org>
-
        Permission to use, copy, modify, and distribute this software for any
        purpose with or without fee is hereby granted, provided that the above
        copyright notice and this permission notice appear in all copies.
@@ -840,6 +963,11 @@ can be found in `/usr/share/common-licenses/LGPL'.
 
        Use whatever you like more.
 
+       File src/utils_crc32.c
+       Copyright © 1986 Gary S. Brown
+       You may use this program, or code or tables extracted from it, as desired
+       without restriction.
+
 The Debian packaging is © 2006-2012, Sebastian Harl <tokkee@debian.org> and
 is licensed under the GPL, see above. The debconf template translations are
 distributed under the same license as the package itself.
@@ -876,7 +1004,8 @@ distributed under the same license as the package itself.
 
        nl.po:
        Copyright © 2008 Eric Spreen <erispre@gmail.com>
-       Copyright © 2012 Jeroen Schot <schot@a-eskwadraat.nl>
+       Copyright © 2012-2014 Jeroen Schot <schot@a-eskwadraat.nl>
+       Copyright © 2014 Frans Spiesschaert <Frans.Spiesschert@yucom.be>
 
        pl.po:
        Copyright © 2012 Michał Kułach <michalkulach@gmail.com>
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644 (file)
index 0000000..dc23ff8
--- /dev/null
@@ -0,0 +1,4 @@
+# Configuration file for git-buildpackage and friends
+[DEFAULT]
+pristine-tar = True
+debian-tag = collectd-%(version)s
index 0bc9f3ffd14c67cb1a4533df4670f84b668a7547..73d6753b0948d3abd574ebd5a250655970a63619 100644 (file)
@@ -19,6 +19,7 @@ libcollectdclient.so.1 libcollectdclient1 #MINVER#
  lcc_putval@Base 4.6.0
  lcc_server_create@Base 5.2.0
  lcc_server_destroy@Base 5.2.0
+ lcc_server_set_interface@Base 5.5.0
  lcc_server_set_security_level@Base 5.2.0
  lcc_server_set_ttl@Base 5.2.0
  lcc_sort_identifiers@Base 5.1.0
diff --git a/debian/patches/00list b/debian/patches/00list
deleted file mode 100644 (file)
index 6a4b441..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-CVE-2016-6254.dpatch
-bts832577-gcry-control.dpatch
-rrd_filter_path.dpatch
-collection_conf_path.dpatch
-collection.cgi.dpatch
-myplugin_includes.dpatch
-myplugin_api.dpatch
-bts559801_plugin_find_fix.dpatch
-bts770681_riemann_ack.dpatch
-bts747093_lvm_segfault.dpatch
-bts770683_curl_init.dpatch
-bts750440_config_segfault.dpatch
-bts770688_snmp_memleak.dpatch
-bts770690_java_jni_thread_detach.dpatch
-bts770693_timestamps.dpatch
-bts770694_loglevel.dpatch
diff --git a/debian/patches/CVE-2016-6254.dpatch b/debian/patches/CVE-2016-6254.dpatch
deleted file mode 100644 (file)
index b466393..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## CVE-2016-6254.dpatch by Florian Forster <octo@collectd.org>
-##
-## DP: network plugin: Fix heap overflow in parse_packet().
-## DP:
-## DP: Emilien Gaspar has identified a heap overflow in parse_packet(), the
-## DP: function used by the network plugin to parse incoming network packets.
-## DP:
-## DP: This is a vulnerability in collectd, though the scope is not clear at
-## DP: this point. At the very least specially crafted network packets can be
-## DP: used to crash the daemon. We can't rule out a potential remote code
-## DP: execution though.
-## DP:
-## DP: Fixes: CVE-2016-6254
-## DP:
-## DP: Upstream commit:
-## DP: https://github.com/collectd/collectd/commit/b589096
-
-@DPATCH@
-
-diff a/src/network.c b/src/network.c
---- a/src/network.c
-+++ b/src/network.c
-@@ -1430,6 +1430,7 @@
-                               printed_ignore_warning = 1;
-                       }
-                       buffer = ((char *) buffer) + pkg_length;
-+                      buffer_size -= (size_t) pkg_length;
-                       continue;
-               }
- #endif /* HAVE_LIBGCRYPT */
-@@ -1457,6 +1458,7 @@
-                               printed_ignore_warning = 1;
-                       }
-                       buffer = ((char *) buffer) + pkg_length;
-+                      buffer_size -= (size_t) pkg_length;
-                       continue;
-               }
- #endif /* HAVE_LIBGCRYPT */
-@@ -1598,6 +1600,7 @@
-                       DEBUG ("network plugin: parse_packet: Unknown part"
-                                       " type: 0x%04hx", pkg_type);
-                       buffer = ((char *) buffer) + pkg_length;
-+                      buffer_size -= (size_t) pkg_length;
-               }
-       } /* while (buffer_size > sizeof (part_header_t)) */
diff --git a/debian/patches/bts559801_plugin_find_fix.dpatch b/debian/patches/bts559801_plugin_find_fix.dpatch
deleted file mode 100755 (executable)
index a48f8c1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts559801_plugin_find_fix.dpatch by Sebastian Harl <sh@tokkee.org>
-##
-## DP: plugin: Use strcasecmp rather than strncasecmp to find a plugin.
-## DP:
-## DP: This makes collectd resistant against vulnerable copies of libltdl
-## DP: (CVE-2009-3736).
-## DP: See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559801#15>
-## DP: for details.
-
-@DPATCH@
-
-diff a/src/plugin.c b/src/plugin.c
---- a/src/plugin.c
-+++ b/src/plugin.c
-@@ -592,7 +592,6 @@
-       const char *dir;
-       char  filename[BUFSIZE] = "";
-       char  typename[BUFSIZE];
--      int   typename_len;
-       int   ret;
-       struct stat    statbuf;
-       struct dirent *de;
-@@ -611,7 +610,6 @@
-               WARNING ("snprintf: truncated: `%s.so'", type);
-               return (-1);
-       }
--      typename_len = strlen (typename);
-       if ((dh = opendir (dir)) == NULL)
-       {
-@@ -623,7 +621,7 @@
-       while ((de = readdir (dh)) != NULL)
-       {
--              if (strncasecmp (de->d_name, typename, typename_len))
-+              if (strcasecmp (de->d_name, typename))
-                       continue;
-               status = ssnprintf (filename, sizeof (filename),
diff --git a/debian/patches/bts747093_lvm_segfault.dpatch b/debian/patches/bts747093_lvm_segfault.dpatch
deleted file mode 100755 (executable)
index 63ff71a..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-##
-## DP: bts747093_lvm_segfault.dpatch by Jan Kundrát <jan.kundrat@cesnet.cz>
-## DP:
-## DP: lvm: Fix segfault when there are no logical volumes.
-## DP:
-## DP: Upstream bug report:
-## DP: https://github.com/collectd/collectd/issues/558
-## DP:
-## DP: Upstream commit:
-## DP: https://github.com/jktjkt/collectd/commit/40dde67
-
-@DPATCH@
-
-diff a/src/lvm.c b/src/lvm.c
---- a/src/lvm.c
-+++ b/src/lvm.c
-@@ -53,6 +53,11 @@ static int vg_read(vg_t vg, char const *vg_name)
-     lvm_submit (vg_name, "free", lvm_vg_get_free_size(vg));
-     lvs = lvm_vg_list_lvs(vg);
-+    if (!lvs) {
-+        /* no VGs are defined, which is not an error per se */
-+        return (0);
-+    }
-+
-     dm_list_iterate_items(lvl, lvs) {
-          lvm_submit(vg_name, lvm_lv_get_name(lvl->lv), lvm_lv_get_size(lvl->lv));
-     }
diff --git a/debian/patches/bts750440_config_segfault.dpatch b/debian/patches/bts750440_config_segfault.dpatch
deleted file mode 100755 (executable)
index ff1d07a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts750440_config_segfault.dpatch by Wilfried Goesgens <dothebart@citadel.org>
-##
-## DP: Fixed a segfault when handling/including empty config files.
-## DP:
-## DP: Correctly handle the case of empty "children" nodes.
-## DP:
-## DP: Upstream bug report:
-## DP: https://github.com/collectd/collectd/issues/638
-## DP:
-## DP: Upstream commit:
-## DP: https://github.com/dothebart/collectd/commit/2923883
-
-@DPATCH@
-
-diff a/src/configfile.c b/src/configfile.c
---- a/src/configfile.c
-+++ b/src/configfile.c
-@@ -414,6 +414,12 @@ static int cf_ci_replace_child (oconfig_item_t *dst, oconfig_item_t *src,
-       /* Resize the memory containing the children to be big enough to hold
-        * all children. */
-+      if (dst->children_num + src->children_num - 1 == 0)
-+      {
-+              dst->children_num = 0;
-+              return (0);
-+      }
-+
-       temp = (oconfig_item_t *) realloc (dst->children,
-                       sizeof (oconfig_item_t)
-                       * (dst->children_num + src->children_num - 1));
-@@ -514,7 +520,8 @@ static int cf_include_all (oconfig_item_t *root, int depth)
-                       continue;
-               /* Now replace the i'th child in `root' with `new'. */
--              cf_ci_replace_child (root, new, i);
-+              if (cf_ci_replace_child (root, new, i) < 0)
-+                      return (-1);
-               /* ... and go back to the new i'th child. */
-               --i;
diff --git a/debian/patches/bts770681_riemann_ack.dpatch b/debian/patches/bts770681_riemann_ack.dpatch
deleted file mode 100755 (executable)
index 7475259..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770681_riemann_ack.dpatch by John-John Tedro <udoprog@spotify.com>
-##
-## DP: write_riemann plugin: Receive acknowledge message when using TCP.
-## DP:
-## DP: Not receiving an acknowledge message when communicating with riemann
-## DP: over TCP will cause the riemann instance to eventually hang for
-## DP: extended periods of time because of resource exhaustion.
-## DP:
-## DP: Upstream bug report:
-## DP: https://github.com/collectd/collectd/pull/425
-## DP:
-## DP: Upstream commit:
-## DP: https://github.com/spotify/collectd/commit/78c0678
-
-@DPATCH@
-
-diff a/src/write_riemann.c b/src/write_riemann.c
---- a/src/write_riemann.c
-+++ b/src/write_riemann.c
-@@ -176,32 +176,30 @@ riemann_disconnect (struct riemann_host *host)
-       return (0);
- }
--static int
--riemann_send(struct riemann_host *host, Msg const *msg)
-+static inline int
-+riemann_send_msg(struct riemann_host *host, const Msg *msg)
- {
--      u_char *buffer;
-+      int status = 0;
-+      u_char *buffer = NULL;
-       size_t  buffer_len;
--      int status;
--
--      pthread_mutex_lock (&host->lock);
-       status = riemann_connect (host);
-+
-       if (status != 0)
--      {
--              pthread_mutex_unlock (&host->lock);
-               return status;
--      }
-       buffer_len = msg__get_packed_size(msg);
-+
-       if (host->use_tcp)
-               buffer_len += 4;
-       buffer = malloc (buffer_len);
-+
-       if (buffer == NULL) {
--              pthread_mutex_unlock (&host->lock);
-               ERROR ("write_riemann plugin: malloc failed.");
-               return ENOMEM;
-       }
-+
-       memset (buffer, 0, buffer_len);
-       if (host->use_tcp)
-@@ -216,26 +214,105 @@ riemann_send(struct riemann_host *host, Msg const *msg)
-       }
-       status = (int) swrite (host->s, buffer, buffer_len);
-+
-       if (status != 0)
-       {
-               char errbuf[1024];
--              riemann_disconnect (host);
--              pthread_mutex_unlock (&host->lock);
--
-               ERROR ("write_riemann plugin: Sending to Riemann at %s:%s failed: %s",
-                               (host->node != NULL) ? host->node : RIEMANN_HOST,
-                               (host->service != NULL) ? host->service : RIEMANN_PORT,
-                               sstrerror (errno, errbuf, sizeof (errbuf)));
-+
-               sfree (buffer);
-               return -1;
-       }
--      pthread_mutex_unlock (&host->lock);
-       sfree (buffer);
-       return 0;
- }
-+static inline int
-+riemann_recv_ack(struct riemann_host *host)
-+{
-+      int status = 0;
-+      Msg *msg = NULL;
-+      uint32_t header;
-+
-+      status = (int) sread (host->s, &header, 4);
-+
-+      if (status != 0)
-+              return -1;
-+
-+      size_t size = ntohl(header);
-+
-+      // Buffer on the stack since acknowledges are typically small.
-+      u_char buffer[size];
-+      memset (buffer, 0, size);
-+
-+      status = (int) sread (host->s, buffer, size);
-+
-+      if (status != 0)
-+              return status;
-+
-+      msg = msg__unpack (NULL, size, buffer);
-+
-+      if (msg == NULL)
-+              return -1;
-+
-+      if (!msg->ok)
-+      {
-+              ERROR ("write_riemann plugin: Sending to Riemann at %s:%s acknowledgement message reported error: %s",
-+                              (host->node != NULL) ? host->node : RIEMANN_HOST,
-+                              (host->service != NULL) ? host->service : RIEMANN_PORT,
-+                              msg->error);
-+
-+              msg__free_unpacked(msg, NULL);
-+              return -1;
-+      }
-+
-+      msg__free_unpacked (msg, NULL);
-+      return 0;
-+}
-+
-+/**
-+ * Function to send messages (Msg) to riemann.
-+ *
-+ * Acquires the host lock, disconnects on errors.
-+ */
-+static int
-+riemann_send(struct riemann_host *host, Msg const *msg)
-+{
-+      int status = 0;
-+      pthread_mutex_lock (&host->lock);
-+
-+      status = riemann_send_msg(host, msg);
-+
-+      if (status != 0) {
-+              riemann_disconnect (host);
-+              pthread_mutex_unlock (&host->lock);
-+              return status;
-+      }
-+
-+      /*
-+       * For TCP we need to receive message acknowledgemenent.
-+       */
-+      if (host->use_tcp)
-+      {
-+              status = riemann_recv_ack(host);
-+
-+              if (status != 0)
-+              {
-+                      riemann_disconnect (host);
-+                      pthread_mutex_unlock (&host->lock);
-+                      return status;
-+              }
-+      }
-+
-+      pthread_mutex_unlock (&host->lock);
-+      return 0;
-+}
-+
- static int riemann_event_add_tag (Event *event, char const *tag) /* {{{ */
- {
-       return (strarray_add (&event->tags, &event->n_tags, tag));
diff --git a/debian/patches/bts770683_curl_init.dpatch b/debian/patches/bts770683_curl_init.dpatch
deleted file mode 100755 (executable)
index 8529bf4..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770683_curl_init.dpatch by Jeremy Katz <jeremy@katzbox.net>
-##
-## DP: Call curl_global_init() in _init of plugins using curl.
-## DP:
-## DP: curl_global_init() or curl_easy_init() has to be called in the init
-## DP: callback of plugins using curl while collectd still runs single
-## DP: threaded. Else, collectd may crash with a segfault due to concurrent
-## DP: memory access by curl.
-## DP:
-## DP: Upstream bug report:
-## DP: https://github.com/collectd/collectd/issues/526
-## DP:
-## DP: Upstream commits:
-## DP: https://github.com/katzj/collectd/commit/401fa6e
-
-@DPATCH@
-
-diff a/src/curl.c b/src/curl.c
---- a/src/curl.c
-+++ b/src/curl.c
-@@ -569,6 +569,7 @@ static int cc_init (void) /* {{{ */
-     INFO ("curl plugin: No pages have been defined.");
-     return (-1);
-   }
-+  curl_global_init (CURL_GLOBAL_SSL);
-   return (0);
- } /* }}} int cc_init */
-diff a/src/curl_json.c b/src/curl_json.c
---- a/src/curl_json.c
-+++ b/src/curl_json.c
-@@ -957,9 +957,18 @@ static int cj_read (user_data_t *ud) /* {{{ */
-   return cj_perform (db);
- } /* }}} int cj_read */
-+static int cj_init (void) /* {{{ */
-+{
-+  /* Call this while collectd is still single-threaded to avoid
-+   * initialization issues in libgcrypt. */
-+  curl_global_init (CURL_GLOBAL_SSL);
-+  return (0);
-+} /* }}} int cj_init */
-+
- void module_register (void)
- {
-   plugin_register_complex_config ("curl_json", cj_config);
-+  plugin_register_init ("curl_json", cj_init);
- } /* void module_register */
- /* vim: set sw=2 sts=2 et fdm=marker : */
-diff a/src/curl_xml.c b/src/curl_xml.c
---- a/src/curl_xml.c
-+++ b/src/curl_xml.c
-@@ -1033,9 +1033,18 @@ static int cx_config (oconfig_item_t *ci) /* {{{ */
-   return (0);
- } /* }}} int cx_config */
-+static int cx_init (void) /* {{{ */
-+{
-+  /* Call this while collectd is still single-threaded to avoid
-+   * initialization issues in libgcrypt. */
-+  curl_global_init (CURL_GLOBAL_SSL);
-+  return (0);
-+} /* }}} int cx_init */
-+
- void module_register (void)
- {
-   plugin_register_complex_config ("curl_xml", cx_config);
-+  plugin_register_init ("curl_xml", cx_init);
- } /* void module_register */
- /* vim: set sw=2 sts=2 et fdm=marker : */
-diff a/src/write_http.c b/src/write_http.c
---- a/src/write_http.c
-+++ b/src/write_http.c
-@@ -590,9 +590,18 @@ static int wh_config (oconfig_item_t *ci) /* {{{ */
-         return (0);
- } /* }}} int wh_config */
-+static int wh_init (void) /* {{{ */
-+{
-+  /* Call this while collectd is still single-threaded to avoid
-+   * initialization issues in libgcrypt. */
-+  curl_global_init (CURL_GLOBAL_SSL);
-+  return (0);
-+} /* }}} int wh_init */
-+
- void module_register (void) /* {{{ */
- {
-         plugin_register_complex_config ("write_http", wh_config);
-+        plugin_register_init ("write_http", wh_init);
- } /* }}} void module_register */
- /* vim: set fdm=marker sw=8 ts=8 tw=78 et : */
diff --git a/debian/patches/bts770688_snmp_memleak.dpatch b/debian/patches/bts770688_snmp_memleak.dpatch
deleted file mode 100755 (executable)
index b64e105..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770688_snmp_memleak.dpatch by Pierre-Yves Ritschard <pyr@spootnik.org>
-## and Marc Fournier <marc.fournier@camptocamp.com>
-##
-## DP: Let snmp_synch_response deal with PDU freeing
-## DP:
-## DP: When reading from tables, upon errors the PDUs sent are already
-## DP: freed by snmp_synch_response since they are right after
-## DP: snmp_send is called.
-## DP:
-## DP: This commit syncs collectd's approach with other occurences of
-## DP: snmp_synch_response calls.
-## DP:
-## DP: There might be a few corner cases where we leak PDUs, but it
-## DP: is unclear how to check for those since we would need to
-## DP: have an indication that snmp_send was never called, which
-## DP: as far as I can tell is not possible.
-## DP:
-## DP: The potential for failure in snmp_send is rather low and will
-## DP: be easily spotted though, since when crafting invalid PDUs
-## DP: snmp send will constantly fail and since valid configurations
-## DP: can never leak memory.
-## DP:
-## DP: Upstream bug reports:
-## DP: https://github.com/collectd/collectd/issues/610
-## DP: https://github.com/collectd/collectd/issues/804
-
-@DPATCH@
-
-diff --git a/src/snmp.c b/src/snmp.c
-index ad81c89..7d340d1 100644
---- a/src/snmp.c
-+++ b/src/snmp.c
-@@ -1316,6 +1316,8 @@ static int csnmp_read_table (host_definition_t *host, data_definition_t *data)
-         snmp_free_pdu (res);
-       res = NULL;
-+      /* snmp_synch_response already freed our PDU */
-+      req = NULL;
-       sfree (errstr);
-       csnmp_host_close_session (host);
-@@ -1437,6 +1439,10 @@ static int csnmp_read_table (host_definition_t *host, data_definition_t *data)
-     snmp_free_pdu (res);
-   res = NULL;
-+  if (req != NULL)
-+    snmp_free_pdu (req);
-+  req = NULL;
-+
-   if (status == 0)
-     csnmp_dispatch_table (host, data, instance_list_head, value_list_head);
diff --git a/debian/patches/bts770690_java_jni_thread_detach.dpatch b/debian/patches/bts770690_java_jni_thread_detach.dpatch
deleted file mode 100755 (executable)
index 67a9c77..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770690_java_jni_thread_detach.dpatch by Florian Forster <octo@google.com>
-##
-## DP: java plugin: Make sure cjni_thread_detach() is called on all paths.
-## DP: Each call to cjni_thread_attach() much be accompanied by a call to
-## DP: cjni_thread_detach(). Some error handling cases were missing the call,
-## DP: potentially locking the plugin up.
-## DP:
-## DP: Also ensure that cjni_thread_detach() does not hide the status of other
-## DP: operations.
-## DP:
-## DP: Upstream commit:
-## DP: https://github.com/collectd/collectd/commit/513a5ca
-
-@DPATCH@
-
-diff a/src/java.c b/src/java.c
---- a/src/java.c
-+++ b/src/java.c
-@@ -2115,7 +2115,7 @@ static int cjni_thread_detach (void) /* {{{ */
-   cjni_env->jvm_env = NULL;
-   return (0);
--} /* }}} JNIEnv *cjni_thread_attach */
-+} /* }}} int cjni_thread_detach */
- static int cjni_config_add_jvm_arg (oconfig_item_t *ci) /* {{{ */
- {
-@@ -2468,7 +2468,6 @@ static int cjni_read (user_data_t *ud) /* {{{ */
- {
-   JNIEnv *jvm_env;
-   cjni_callback_info_t *cbi;
--  int status;
-   int ret_status;
-   if (jvm == NULL)
-@@ -2492,13 +2491,7 @@ static int cjni_read (user_data_t *ud) /* {{{ */
-   ret_status = (*jvm_env)->CallIntMethod (jvm_env, cbi->object,
-       cbi->method);
--  status = cjni_thread_detach ();
--  if (status != 0)
--  {
--    ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
--    return (-1);
--  }
--
-+  cjni_thread_detach ();
-   return (ret_status);
- } /* }}} int cjni_read */
-@@ -2509,7 +2502,6 @@ static int cjni_write (const data_set_t *ds, const value_list_t *vl, /* {{{ */
-   JNIEnv *jvm_env;
-   cjni_callback_info_t *cbi;
-   jobject vl_java;
--  int status;
-   int ret_status;
-   if (jvm == NULL)
-@@ -2534,6 +2526,7 @@ static int cjni_write (const data_set_t *ds, const value_list_t *vl, /* {{{ */
-   if (vl_java == NULL)
-   {
-     ERROR ("java plugin: cjni_write: ctoj_value_list failed.");
-+    cjni_thread_detach ();
-     return (-1);
-   }
-@@ -2542,13 +2535,7 @@ static int cjni_write (const data_set_t *ds, const value_list_t *vl, /* {{{ */
-   (*jvm_env)->DeleteLocalRef (jvm_env, vl_java);
--  status = cjni_thread_detach ();
--  if (status != 0)
--  {
--    ERROR ("java plugin: cjni_write: cjni_thread_detach failed.");
--    return (-1);
--  }
--
-+  cjni_thread_detach ();
-   return (ret_status);
- } /* }}} int cjni_write */
-@@ -2560,7 +2547,6 @@ static int cjni_flush (cdtime_t timeout, const char *identifier, /* {{{ */
-   cjni_callback_info_t *cbi;
-   jobject o_timeout;
-   jobject o_identifier;
--  int status;
-   int ret_status;
-   if (jvm == NULL)
-@@ -2587,6 +2573,7 @@ static int cjni_flush (cdtime_t timeout, const char *identifier, /* {{{ */
-   {
-     ERROR ("java plugin: cjni_flush: Converting double "
-         "to Number object failed.");
-+    cjni_thread_detach ();
-     return (-1);
-   }
-@@ -2598,6 +2585,7 @@ static int cjni_flush (cdtime_t timeout, const char *identifier, /* {{{ */
-     {
-       (*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
-       ERROR ("java plugin: cjni_flush: NewStringUTF failed.");
-+      cjni_thread_detach ();
-       return (-1);
-     }
-   }
-@@ -2608,13 +2596,7 @@ static int cjni_flush (cdtime_t timeout, const char *identifier, /* {{{ */
-   (*jvm_env)->DeleteLocalRef (jvm_env, o_identifier);
-   (*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
--  status = cjni_thread_detach ();
--  if (status != 0)
--  {
--    ERROR ("java plugin: cjni_flush: cjni_thread_detach failed.");
--    return (-1);
--  }
--
-+  cjni_thread_detach ();
-   return (ret_status);
- } /* }}} int cjni_flush */
-@@ -2640,7 +2622,10 @@ static void cjni_log (int severity, const char *message, /* {{{ */
-   o_message = (*jvm_env)->NewStringUTF (jvm_env, message);
-   if (o_message == NULL)
-+  {
-+    cjni_thread_detach ();
-     return;
-+  }
-   (*jvm_env)->CallVoidMethod (jvm_env,
-       cbi->object, cbi->method, (jint) severity, o_message);
-@@ -2658,7 +2643,6 @@ static int cjni_notification (const notification_t *n, /* {{{ */
-   JNIEnv *jvm_env;
-   cjni_callback_info_t *cbi;
-   jobject o_notification;
--  int status;
-   int ret_status;
-   if (jvm == NULL)
-@@ -2683,6 +2667,7 @@ static int cjni_notification (const notification_t *n, /* {{{ */
-   if (o_notification == NULL)
-   {
-     ERROR ("java plugin: cjni_notification: ctoj_notification failed.");
-+    cjni_thread_detach ();
-     return (-1);
-   }
-@@ -2691,13 +2676,7 @@ static int cjni_notification (const notification_t *n, /* {{{ */
-   (*jvm_env)->DeleteLocalRef (jvm_env, o_notification);
--  status = cjni_thread_detach ();
--  if (status != 0)
--  {
--    ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
--    return (-1);
--  }
--
-+  cjni_thread_detach ();
-   return (ret_status);
- } /* }}} int cjni_notification */
-@@ -2725,24 +2704,20 @@ static int cjni_match_target_create (const oconfig_item_t *ci, /* {{{ */
-       (*jvm_env)->DeleteLocalRef (jvm_env, cbi_ret->object); \
-   } \
-   free (cbi_ret); \
--  if (jvm_env != NULL) { \
--    if (o_ci != NULL) \
--      (*jvm_env)->DeleteLocalRef (jvm_env, o_ci); \
--    cjni_thread_detach (); \
--  } \
-+  if (o_ci != NULL) \
-+    (*jvm_env)->DeleteLocalRef (jvm_env, o_ci); \
-+  cjni_thread_detach (); \
-   return (status)
-   if (jvm == NULL)
-   {
-     ERROR ("java plugin: cjni_read: jvm == NULL");
--    BAIL_OUT (-1);
-+    return (-1);
-   }
-   jvm_env = cjni_thread_attach ();
-   if (jvm_env == NULL)
--  {
--    BAIL_OUT (-1);
--  }
-+    return (-1);
-   /* Find out whether to create a match or a target. */
-   if (strcasecmp ("Match", ci->key) == 0)
-@@ -2936,10 +2911,7 @@ static int cjni_match_target_invoke (const data_set_t *ds, /* {{{ */
-     }
-   } /* if (cbi->type == CB_TYPE_TARGET) */
--  status = cjni_thread_detach ();
--  if (status != 0)
--    ERROR ("java plugin: cjni_read: cjni_thread_detach failed.");
--
-+  cjni_thread_detach ();
-   return (ret_status);
- } /* }}} int cjni_match_target_invoke */
diff --git a/debian/patches/bts770693_timestamps.dpatch b/debian/patches/bts770693_timestamps.dpatch
deleted file mode 100755 (executable)
index bdb537c..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770693_timestamps.dpatch
-##
-## DP: Fixed handling of timestamps in notifications.
-## DP:
-## DP: Starting with collectd 5, timestamps use nano-second resolution rather
-## DP: than seconds. Notitications did not handle that correctly, leading to
-## DP: invalid time-stamps and potentially invalid memory access.
-## DP:
-## DP: Upstream commits:
-## DP: https://github.com/collectd/collectd/commit/...
-## DP:   d571f4645593c16a26a98aa635b1952286089266 by Justin Burnham <jburnham@mediatemple.net>
-## DP:   43fcfd6a48b506b03114dd9637caf8fc211b47db by Adrian Miron <adrian.miron.v2@gmail.com>
-## DP:   ac78faa99d4b34c78a7bca741430c06c56e6f32c by Manuel Luis Sanmartín Rozada <manuel.luis@gmail.com>
-## DP:   f5c294b7355cee34df44b1c5b8ac3ef7b85664cd by Manuel Luis Sanmartín Rozada <manuel.luis@gmail.com>
-## DP:   7d1d59fb064f2a9adfba50d3ea5c39ebc6bebd3c by Manuel Luis Sanmartín Rozada <manuel.luis@gmail.com>
-## DP:   07e4683f7f985668641d79137b64d148bc18ba8a by Manuel Luis Sanmartín Rozada <manuel.luis@gmail.com>
-## DP:   524b85687dbbd4cc2bbb650caf300162dcd16e96 by Marc Fournier <marc.fournier@camptocamp.com>
-
-@DPATCH@
-
-diff a/src/exec.c b/src/exec.c
---- a/src/exec.c
-+++ b/src/exec.c
-@@ -744,8 +744,8 @@ static void *exec_notification_one (void *arg) /* {{{ */
-   fprintf (fh,
-       "Severity: %s\n"
--      "Time: %.3f\n",
--      severity, CDTIME_T_TO_DOUBLE (n->time));
-+      "Time: %u\n",
-+      severity, (unsigned int)CDTIME_T_TO_TIME_T(n->time));
-   /* Print the optional fields */
-   if (strlen (n->host) > 0)
-diff a/src/java.c b/src/java.c
---- a/src/java.c
-+++ b/src/java.c
-@@ -906,7 +906,7 @@ static jobject ctoj_notification (JNIEnv *jvm_env, /* {{{ */
- #undef SET_STRING
-   /* Set the `time' member. Java stores time in milliseconds. */
--  status = ctoj_long (jvm_env, ((jlong) n->time) * ((jlong) 1000),
-+  status = ctoj_long (jvm_env, (jlong) CDTIME_T_TO_MS (n->time),
-       c_notification, o_notification, "setTime");
-   if (status != 0)
-   {
-@@ -1306,7 +1306,7 @@ static int jtoc_notification (JNIEnv *jvm_env, notification_t *n, /* {{{ */
-     return (-1);
-   }
-   /* Java measures time in milliseconds. */
--  n->time = (time_t) (tmp_long / ((jlong) 1000));
-+  n->time = MS_TO_CDTIME_T(tmp_long);
-
-   status = jtoc_int (jvm_env, &tmp_int,
-       class_ptr, object_ptr, "getSeverity");
-diff a/src/pyvalues.c b/src/pyvalues.c
---- a/src/pyvalues.c
-+++ b/src/pyvalues.c
-@@ -767,7 +771,7 @@ static void Values_dealloc(PyObject *self) {
- }
- static PyMemberDef Values_members[] = {
--      {"interval", T_INT, offsetof(Values, interval), 0, interval_doc},
-+      {"interval", T_DOUBLE, offsetof(Values, interval), 0, interval_doc},
-       {"values", T_OBJECT_EX, offsetof(Values, values), 0, values_doc},
-       {"meta", T_OBJECT_EX, offsetof(Values, meta), 0, meta_doc},
-       {NULL}
-diff a/src/threshold.c b/src/threshold.c
---- a/src/threshold.c
-+++ b/src/threshold.c
-@@ -942,6 +942,7 @@ static int ut_missing (const value_list_t *vl,
-   cdtime_t missing_time;
-   char identifier[6 * DATA_MAX_NAME_LEN];
-   notification_t n;
-+  cdtime_t now;
-   if (threshold_tree == NULL)
-     return (0);
-@@ -951,13 +952,15 @@ static int ut_missing (const value_list_t *vl,
-   if ((th == NULL) || ((th->flags & UT_FLAG_INTERESTING) == 0))
-     return (0);
--  missing_time = cdtime () - vl->time;
-+  now = cdtime ();
-+  missing_time = now - vl->time;
-   FORMAT_VL (identifier, sizeof (identifier), vl);
-   NOTIFICATION_INIT_VL (&n, vl);
-   ssnprintf (n.message, sizeof (n.message),
-       "%s has not been updated for %.3f seconds.",
-       identifier, CDTIME_T_TO_DOUBLE (missing_time));
-+  n.time = now;
-   plugin_dispatch_notification (&n);
-diff a/src/utils_cmd_putnotif.c b/src/utils_cmd_putnotif.c
---- a/src/utils_cmd_putnotif.c
-+++ b/src/utils_cmd_putnotif.c
-@@ -49,13 +49,18 @@ static int set_option_severity (notification_t *n, const char *value)
- static int set_option_time (notification_t *n, const char *value)
- {
--  time_t tmp;
--  
--  tmp = (time_t) atoi (value);
--  if (tmp <= 0)
-+  char *endptr = NULL;
-+  double tmp;
-+
-+  errno = 0;
-+  tmp = strtod (value, &endptr);
-+  if ((errno != 0)         /* Overflow */
-+      || (endptr == value) /* Invalid string */
-+      || (endptr == NULL)  /* This should not happen */
-+      || (*endptr != 0))   /* Trailing chars */
-     return (-1);
--  n->time = tmp;
-+  n->time = DOUBLE_TO_CDTIME_T (tmp);
-   return (0);
- } /* int set_option_time */
diff --git a/debian/patches/bts770694_loglevel.dpatch b/debian/patches/bts770694_loglevel.dpatch
deleted file mode 100755 (executable)
index 9a69591..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts770694_loglevel.dpatch
-##
-## DP: Make sure not to disable logging on invalid log levels.
-## DP:
-## DP: Debug logging is not compiled into the Debian packages. Make sure to
-## DP: fall back to INFO and report and error rather than silently dropping
-## DP: all further log messages.
-## DP:
-## DP: Upstream bug report:
-## DP: https://github.com/collectd/collectd/issues/636
-## DP:
-## DP: Upstream commits:
-## DP: https://github.com/dothebart/collectd/commit/84c3805
-## DP: https://github.com/collectd/collectd/commit/cb4ea71
-
-@DPATCH@
-
-diff a/src/logfile.c b/src/logfile.c
---- a/src/logfile.c
-+++ b/src/logfile.c
-@@ -54,7 +54,11 @@ static int logfile_config (const char *key, const char *value)
- {
-       if (0 == strcasecmp (key, "LogLevel")) {
-               log_level = parse_log_severity(value);
--              if (log_level == -1) return 1; /* to keep previous behaviour */
-+              if (log_level < 0) {
-+                      log_level = LOG_INFO;
-+                      ERROR ("logfile: invalid loglevel [%s] defaulting to 'info'", value);
-+                      return (1);
-+              }
-       }
-       else if (0 == strcasecmp (key, "File")) {
-               sfree (log_file);
-diff a/src/syslog.c b/src/syslog.c
---- a/src/syslog.c
-+++ b/src/syslog.c
-@@ -48,7 +48,11 @@ static int sl_config (const char *key, const char *value)
-       {
-               log_level = parse_log_severity (value);
-               if (log_level < 0)
-+              {
-+                      log_level = LOG_INFO;
-+                      ERROR ("syslog: invalid loglevel [%s] defaulting to 'info'", value);
-                       return (1);
-+              }
-       }
-       else if (strcasecmp (key, "NotifyLevel") == 0)
-       {
diff --git a/debian/patches/bts823012_librrd8.patch b/debian/patches/bts823012_librrd8.patch
new file mode 100644 (file)
index 0000000..67b60cf
--- /dev/null
@@ -0,0 +1,205 @@
+Description: rrdtool plugin: fix thread-safety detection
+ librrd 1.6.0 is now threadsafe and librrd_th is gone.
+ .
+ Since there doesn't seem to be a way to detect that librrd
+ is threadsafe, use pkg-config to check for 1.6.0 or newer instead.
+ .
+ The logic is now as follows:
+ Check for librrd >= 1.6.0 with pkg-config
+ If not found, look for rrd_update_r in librrd_th.
+ If not found, look for rrd_update in librrd and assume librrd is not
+ thread safe.
+Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
+Origin: upstream,
+ commit:ef43260cd901847220c2a9de400579ff903ca13e,
+ commit:32c0ce39f786c56e9d13f3615253a7ae55b578e6,
+ commit:f7e09269879b74e61324de9178503221b2df9136,
+ commit:38068ecc7922ace29bb6af3f8ee5568c3fe96c08
+Bug-Debian: https://bugs.debian.org/823012
+Reviewed-By: Jean-Michel Vourgere <nirgal@debian.org>
+Last-Update: 2016-05-01
+
+Index: collectd-5.5.1/configure.ac
+===================================================================
+--- collectd-5.5.1.orig/configure.ac
++++ collectd-5.5.1/configure.ac
+@@ -3942,76 +3942,102 @@ AM_CONDITIONAL(BUILD_WITH_LIBROUTEROS, t
+ # }}}
+ # --with-librrd {{{
+-# AC_ARG_WITH (package, help-string, [action-if-given], [action-if-not-given])
+ librrd_cflags=""
+ librrd_ldflags=""
+-librrd_threadsafe="yes"
++librrd_threadsafe="no"
+ librrd_rrdc_update="no"
+-AC_ARG_WITH(librrd, [AS_HELP_STRING([--with-librrd@<:@=PREFIX@:>@], [Path to rrdtool.])],
+-[     if test "x$withval" != "xno" && test "x$withval" != "xyes"
+-      then
+-              librrd_cflags="-I$withval/include"
+-              librrd_ldflags="-L$withval/lib"
+-              with_librrd="yes"
+-      else
+-              with_librrd="$withval"
+-      fi
+-], [with_librrd="yes"])
++AC_ARG_WITH(librrd,
++  [AS_HELP_STRING([--with-librrd@<:@=PREFIX@:>@], [Path to rrdtool.])],
++  [
++    if test "x$withval" != "xno" && test "x$withval" != "xyes"
++    then
++      librrd_cflags="-I$withval/include"
++      librrd_ldflags="-L$withval/lib"
++      with_librrd="yes"
++    else
++      with_librrd="$withval"
++    fi
++  ],
++  [with_librrd="yes"]
++)
++
+ if test "x$with_librrd" = "xyes"
+ then
+-      SAVE_CPPFLAGS="$CPPFLAGS"
+-      SAVE_LDFLAGS="$LDFLAGS"
++  SAVE_LDFLAGS="$LDFLAGS"
++  LDFLAGS="$LDFLAGS $librrd_ldflags"
++  PKG_CHECK_MODULES([RRD], [librrd >= 1.6.0],
++    [
++      AC_CHECK_LIB([rrd], [rrd_update_r],
++        [librrd_threadsafe="yes"],
++        [:]
++      )
++      AC_CHECK_LIB([rrd], [rrdc_update],
++        [librrd_rrdc_update="yes"],
++        [:]
++      )
++    ],[:]
++  )
++  LDFLAGS="$SAVE_LDFLAGS"
+-      CPPFLAGS="$CPPFLAGS $librrd_cflags"
+-      LDFLAGS="$LDFLAGS $librrd_ldflags"
++  SAVE_CPPFLAGS="$CPPFLAGS"
++  CPPFLAGS="$CPPFLAGS $RRD_CFLAGS $librrd_cflags"
+-      AC_CHECK_HEADERS(rrd.h,, [with_librrd="no (rrd.h not found)"])
++  AC_CHECK_HEADERS([rrd.h],, [with_librrd="no (rrd.h not found)"])
+-      CPPFLAGS="$SAVE_CPPFLAGS"
+-      LDFLAGS="$SAVE_LDFLAGS"
++  CPPFLAGS="$SAVE_CPPFLAGS"
+ fi
+-if test "x$with_librrd" = "xyes"
++
++if test "x$with_librrd" = "xyes" && test "x$librrd_threadsafe" = "xno"
+ then
+-      SAVE_CPPFLAGS="$CPPFLAGS"
+-      SAVE_LDFLAGS="$LDFLAGS"
++  SAVE_LDFLAGS="$LDFLAGS"
++  LDFLAGS="$LDFLAGS $librrd_ldflags"
+-      CPPFLAGS="$CPPFLAGS $librrd_cflags"
+-      LDFLAGS="$LDFLAGS $librrd_ldflags"
++  AC_CHECK_LIB([rrd_th], [rrd_update_r],
++    [
++      librrd_ldflags="$librrd_ldflags -lrrd_th"
++      librrd_threadsafe="yes"
++      AC_CHECK_LIB([rrd_th], [rrdc_update],
++        [librrd_rrdc_update="yes"],
++        [:],
++      )
++    ],
++    [:]
++  )
++  LDFLAGS="$SAVE_LDFLAGS"
++fi
+-      AC_CHECK_LIB(rrd_th, rrd_update_r,
+-      [with_librrd="yes"
+-       librrd_ldflags="$librrd_ldflags -lrrd_th -lm"
+-      ],
+-      [librrd_threadsafe="no"
+-       AC_CHECK_LIB(rrd, rrd_update,
+-       [with_librrd="yes"
+-        librrd_ldflags="$librrd_ldflags -lrrd -lm"
+-       ],
+-       [with_librrd="no (symbol 'rrd_update' not found)"],
+-       [-lm])
+-      ],
+-      [-lm])
+-
+-      if test "x$librrd_threadsafe" = "xyes"
+-      then
+-              AC_CHECK_LIB(rrd_th, rrdc_update, [librrd_rrdc_update="yes"], [librrd_rrdc_update="no"])
+-      else
+-              AC_CHECK_LIB(rrd, rrdc_update, [librrd_rrdc_update="yes"], [librrd_rrdc_update="no"])
+-      fi
++if test "x$with_librrd" = "xyes" && test "x$librrd_threadsafe" = "xno"
++then
++  SAVE_LDFLAGS="$LDFLAGS"
++  LDFLAGS="$LDFLAGS $librrd_ldflags"
+-      CPPFLAGS="$SAVE_CPPFLAGS"
+-      LDFLAGS="$SAVE_LDFLAGS"
++  AC_CHECK_LIB([rrd], [rrd_update],
++    [
++      librrd_ldflags="$librrd_ldflags -lrrd"
++      AC_CHECK_LIB([rrd], [rrdc_update],
++        [librrd_rrdc_update="yes"],
++        [:]
++      )
++    ],
++    [with_librrd="no (symbol 'rrd_update' not found)"]
++  )
++  LDFLAGS="$SAVE_LDFLAGS"
+ fi
++
+ if test "x$with_librrd" = "xyes"
+ then
+-      BUILD_WITH_LIBRRD_CFLAGS="$librrd_cflags"
+-      BUILD_WITH_LIBRRD_LDFLAGS="$librrd_ldflags"
+-      AC_SUBST(BUILD_WITH_LIBRRD_CFLAGS)
+-      AC_SUBST(BUILD_WITH_LIBRRD_LDFLAGS)
++  BUILD_WITH_LIBRRD_CFLAGS="$RRD_CFLAGS $librrd_cflags"
++  BUILD_WITH_LIBRRD_LDFLAGS="$librrd_ldflags"
++  BUILD_WITH_LIBRRD_LIBS="$RRD_LIBS"
++  AC_SUBST(BUILD_WITH_LIBRRD_CFLAGS)
++  AC_SUBST(BUILD_WITH_LIBRRD_LDFLAGS)
++  AC_SUBST(BUILD_WITH_LIBRRD_LIBS)
+ fi
+ if test "x$librrd_threadsafe" = "xyes"
+ then
+-      AC_DEFINE(HAVE_THREADSAFE_LIBRRD, 1, [Define to 1 if you have the threadsafe rrd library (-lrrd_th).])
++  AC_DEFINE([HAVE_THREADSAFE_LIBRRD], [1],
++    [Define to 1 if the rrd library is thread-safe]
++  )
+ fi
+ # }}}
+Index: collectd-5.5.1/src/Makefile.am
+===================================================================
+--- collectd-5.5.1.orig/src/Makefile.am
++++ collectd-5.5.1/src/Makefile.am
+@@ -876,17 +876,17 @@ endif
+ if BUILD_PLUGIN_RRDCACHED
+ pkglib_LTLIBRARIES += rrdcached.la
+ rrdcached_la_SOURCES = rrdcached.c utils_rrdcreate.c utils_rrdcreate.h
+-rrdcached_la_LDFLAGS = $(PLUGIN_LDFLAGS)
++rrdcached_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRRD_LDFLAGS)
+ rrdcached_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
+-rrdcached_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
++rrdcached_la_LIBADD = $(BUILD_WITH_LIBRRD_LIBS)
+ endif
+ if BUILD_PLUGIN_RRDTOOL
+ pkglib_LTLIBRARIES += rrdtool.la
+ rrdtool_la_SOURCES = rrdtool.c utils_rrdcreate.c utils_rrdcreate.h
+-rrdtool_la_LDFLAGS = $(PLUGIN_LDFLAGS)
++rrdtool_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRRD_LDFLAGS)
+ rrdtool_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS)
+-rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
++rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LIBS)
+ endif
+ if BUILD_PLUGIN_SENSORS
diff --git a/debian/patches/bts832577-gcry-control.dpatch b/debian/patches/bts832577-gcry-control.dpatch
deleted file mode 100644 (file)
index 2c70e2a..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## bts832577-gcry-control.dpatch by Florian Forster <octo@collectd.org>
-## and Sebastian Harl <tokkee@debian.org>
-##
-## DP: network plugin, libcollectdclient: Check return value of gcry_control().
-##
-## Upstream commits:
-## https://github.com/collectd/collectd/commit/8b4fed99
-## https://github.com/collectd/collectd/commit/262915c4
-## https://github.com/collectd/collectd/commit/a3000cbe
-## Upstream report:
-## https://github.com/collectd/collectd/issues/1665
-
-@DPATCH@
-
-diff a/src/libcollectdclient/network_buffer.c b/src/libcollectdclient/network_buffer.c
---- a/src/libcollectdclient/network_buffer.c
-+++ b/src/libcollectdclient/network_buffer.c
-@@ -131,12 +131,15 @@
-   need_init = 0;
- #if HAVE_LIBGCRYPT
--  gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
-+  if (gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread))
-+    return (0);
-   if (!gcry_check_version (GCRYPT_VERSION))
-     return (0);
--  gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0);
-+  if (!gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0))
-+    return (0);
-+
-   gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
-   result = 1;
-diff a/src/network.c b/src/network.c
---- a/src/network.c
-+++ b/src/network.c
-@@ -493,13 +493,15 @@
- } /* }}} int network_dispatch_notification */
- #if HAVE_LIBGCRYPT
--static void network_init_gcrypt (void) /* {{{ */
-+static int network_init_gcrypt (void) /* {{{ */
- {
-+  gcry_error_t err;
-+
-   /* http://lists.gnupg.org/pipermail/gcrypt-devel/2003-August/000458.html
-    * Because you can't know in a library whether another library has
-    * already initialized the library */
-   if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P))
--    return;
-+    return (0);
-  /* http://www.gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html
-   * To ensure thread-safety, it's important to set GCRYCTL_SET_THREAD_CBS
-@@ -508,11 +510,25 @@
-   * above doesn't count, as it doesn't implicitly initalize Libgcrypt.
-   *
-   * tl;dr: keep all these gry_* statements in this exact order please. */
--  gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
-+  err = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
-+  if (err)
-+  {
-+    ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
-+    return (-1);
-+  }
-+
-   gcry_check_version (NULL);
--  gcry_control (GCRYCTL_INIT_SECMEM, 32768);
-+
-+  err = gcry_control (GCRYCTL_INIT_SECMEM, 32768);
-+  if (err)
-+  {
-+    ERROR ("network plugin: gcry_control (GCRYCTL_INIT_SECMEM) failed: %s", gcry_strerror (err));
-+    return (-1);
-+  }
-+
-   gcry_control (GCRYCTL_INITIALIZATION_FINISHED);
--} /* }}} void network_init_gcrypt */
-+  return (0);
-+} /* }}} int network_init_gcrypt */
- static gcry_cipher_hd_t network_get_aes256_cypher (sockent_t *se, /* {{{ */
-     const void *iv, size_t iv_size, const char *username)
-@@ -2050,7 +2066,12 @@
-       {
-               if (se->data.client.security_level > SECURITY_LEVEL_NONE)
-               {
--                      network_init_gcrypt ();
-+                      if (network_init_gcrypt () < 0)
-+                      {
-+                              ERROR ("network plugin: Cannot configure client socket with "
-+                                              "security: Failed to initialize crypto library.");
-+                              return (-1);
-+                      }
-                       if ((se->data.client.username == NULL)
-                                       || (se->data.client.password == NULL))
-@@ -2070,7 +2091,12 @@
-       {
-               if (se->data.server.security_level > SECURITY_LEVEL_NONE)
-               {
--                      network_init_gcrypt ();
-+                      if (network_init_gcrypt () < 0)
-+                      {
-+                              ERROR ("network plugin: Cannot configure server socket with "
-+                                              "security: Failed to initialize crypto library.");
-+                              return (-1);
-+                      }
-                       if (se->data.server.auth_file == NULL)
-                       {
-@@ -3395,7 +3421,11 @@
-       have_init = 1;
- #if HAVE_LIBGCRYPT
--      network_init_gcrypt ();
-+      if (network_init_gcrypt () < 0)
-+      {
-+              ERROR ("network plugin: Failed to initialize crypto library.");
-+              return (-1);
-+      }
- #endif
-       if (network_config_stats != 0)
diff --git a/debian/patches/bts832577-gcry-control.patch b/debian/patches/bts832577-gcry-control.patch
new file mode 100644 (file)
index 0000000..14b803f
--- /dev/null
@@ -0,0 +1,92 @@
+Description: network plugin: Don't abort() if gcrypt initialization failed.
+Author: Sebastian Harl <sh@tokkee.org>
+Origin: upstream,
+ commit:a3000cbe3a12163148a28c818269bbdabda1cf5c
+Bug-Debian: https://bugs.debian.org/832577
+Last-Update: 2016-07-28
+
+diff a/src/network.c b/src/network.c
+--- a/src/network.c
++++ b/src/network.c
+@@ -498,7 +498,7 @@
+ } /* }}} int network_dispatch_notification */
+ #if HAVE_LIBGCRYPT
+-static void network_init_gcrypt (void) /* {{{ */
++static int network_init_gcrypt (void) /* {{{ */
+ {
+   gcry_error_t err;
+@@ -506,7 +506,7 @@
+    * Because you can't know in a library whether another library has
+    * already initialized the library */
+   if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P))
+-    return;
++    return (0);
+  /* http://www.gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html
+   * To ensure thread-safety, it's important to set GCRYCTL_SET_THREAD_CBS
+@@ -520,7 +520,7 @@
+   if (err)
+   {
+     ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
+-    abort ();
++    return (-1);
+   }
+ # endif
+@@ -530,11 +530,11 @@
+   if (err)
+   {
+     ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
+-    abort ();
++    return (-1);
+   }
+   gcry_control (GCRYCTL_INITIALIZATION_FINISHED);
+-} /* }}} void network_init_gcrypt */
++} /* }}} int network_init_gcrypt */
+ static gcry_cipher_hd_t network_get_aes256_cypher (sockent_t *se, /* {{{ */
+     const void *iv, size_t iv_size, const char *username)
+@@ -2077,7 +2077,12 @@
+       {
+               if (se->data.client.security_level > SECURITY_LEVEL_NONE)
+               {
+-                      network_init_gcrypt ();
++                      if (network_init_gcrypt () < 0)
++                      {
++                              ERROR ("network plugin: Cannot configure client socket with "
++                                              "security: Failed to initialize crypto library.");
++                              return (-1);
++                      }
+                       if ((se->data.client.username == NULL)
+                                       || (se->data.client.password == NULL))
+@@ -2097,7 +2102,12 @@
+       {
+               if (se->data.server.security_level > SECURITY_LEVEL_NONE)
+               {
+-                      network_init_gcrypt ();
++                      if (network_init_gcrypt () < 0)
++                      {
++                              ERROR ("network plugin: Cannot configure server socket with "
++                                              "security: Failed to initialize crypto library.");
++                              return (-1);
++                      }
+                       if (se->data.server.auth_file == NULL)
+                       {
+@@ -3548,7 +3558,11 @@
+       have_init = 1;
+ #if HAVE_LIBGCRYPT
+-      network_init_gcrypt ();
++      if (network_init_gcrypt () < 0)
++      {
++              ERROR ("network plugin: Failed to initialize crypto library.");
++              return (-1);
++      }
+ #endif
+       if (network_config_stats != 0)
diff --git a/debian/patches/collection.cgi.dpatch b/debian/patches/collection.cgi.dpatch
deleted file mode 100755 (executable)
index 5156449..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## collection.cgi.dpatch by Fabiano Pires <fxp@ig.com.br>
-##
-## DP: collection.cgi: Fixed apache data-sources.
-
-@DPATCH@
-
-diff a/contrib/collection.cgi b/contrib/collection.cgi
---- a/contrib/collection.cgi
-+++ b/contrib/collection.cgi
-@@ -957,9 +957,9 @@
-   $GraphDefs =
-   {
--    apache_bytes => ['DEF:min_raw={file}:count:MIN',
--    'DEF:avg_raw={file}:count:AVERAGE',
--    'DEF:max_raw={file}:count:MAX',
-+    apache_bytes => ['DEF:min_raw={file}:value:MIN',
-+    'DEF:avg_raw={file}:value:AVERAGE',
-+    'DEF:max_raw={file}:value:MAX',
-     'CDEF:min=min_raw,8,*',
-     'CDEF:avg=avg_raw,8,*',
-     'CDEF:max=max_raw,8,*',
-@@ -976,9 +976,9 @@
-     'GPRINT:avg:LAST:%5.1lf%s Last',
-     'GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)\l'
-     ],
--   apache_connections => ['DEF:min={file}:count:MIN',
--    'DEF:avg={file}:count:AVERAGE',
--    'DEF:max={file}:count:MAX',
-+   apache_connections => ['DEF:min={file}:value:MIN',
-+    'DEF:avg={file}:value:AVERAGE',
-+    'DEF:max={file}:value:MAX',
-     "AREA:max#$HalfBlue",
-     "AREA:min#$Canvas",
-     "LINE1:avg#$FullBlue:Connections",
-@@ -987,9 +987,9 @@
-     'GPRINT:max:MAX:%6.2lf Max,',
-     'GPRINT:avg:LAST:%6.2lf Last'
-     ],
--    apache_idle_workers => ['DEF:min={file}:count:MIN',
--    'DEF:avg={file}:count:AVERAGE',
--    'DEF:max={file}:count:MAX',
-+    apache_idle_workers => ['DEF:min={file}:value:MIN',
-+    'DEF:avg={file}:value:AVERAGE',
-+    'DEF:max={file}:value:MAX',
-     "AREA:max#$HalfBlue",
-     "AREA:min#$Canvas",
-     "LINE1:avg#$FullBlue:Idle Workers",
-@@ -998,9 +998,9 @@
-     'GPRINT:max:MAX:%6.2lf Max,',
-     'GPRINT:avg:LAST:%6.2lf Last'
-     ],
--    apache_requests => ['DEF:min={file}:count:MIN',
--    'DEF:avg={file}:count:AVERAGE',
--    'DEF:max={file}:count:MAX',
-+    apache_requests => ['DEF:min={file}:value:MIN',
-+    'DEF:avg={file}:value:AVERAGE',
-+    'DEF:max={file}:value:MAX',
-     "AREA:max#$HalfBlue",
-     "AREA:min#$Canvas",
-     "LINE1:avg#$FullBlue:Requests/s",
-@@ -1009,9 +1009,9 @@
-     'GPRINT:max:MAX:%6.2lf Max,',
-     'GPRINT:avg:LAST:%6.2lf Last'
-     ],
--    apache_scoreboard => ['DEF:min={file}:count:MIN',
--    'DEF:avg={file}:count:AVERAGE',
--    'DEF:max={file}:count:MAX',
-+    apache_scoreboard => ['DEF:min={file}:value:MIN',
-+    'DEF:avg={file}:value:AVERAGE',
-+    'DEF:max={file}:value:MAX',
-     "AREA:max#$HalfBlue",
-     "AREA:min#$Canvas",
-     "LINE1:avg#$FullBlue:Processes",
diff --git a/debian/patches/collection_conf_path.dpatch b/debian/patches/collection_conf_path.dpatch
deleted file mode 100755 (executable)
index f4ca8e9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## collection_conf_path.dpatch by Sebastian Harl <sh@tokkee.org>
-##
-## DP: Set the path of collection.conf to /etc/collectd/.
-
-@DPATCH@
-
-diff a/contrib/collection.cgi b/contrib/collection.cgi
---- a/contrib/collection.cgi
-+++ b/contrib/collection.cgi
-@@ -11,7 +11,7 @@ use URI::Escape ('uri_escape');
- use RRDs ();
- use Data::Dumper ();
--our $Config = "/etc/collection.conf";
-+our $Config = "/etc/collectd/collection.conf";
- our @DataDirs = ();
- our $LibDir;
-
diff --git a/debian/patches/collection_conf_path.patch b/debian/patches/collection_conf_path.patch
new file mode 100644 (file)
index 0000000..76c8fec
--- /dev/null
@@ -0,0 +1,13 @@
+Author: Sebastian Harl <sh@tokkee.org>
+Description: Set the path of collection.conf to /etc/collectd/.
+--- a/contrib/collection.cgi
++++ b/contrib/collection.cgi
+@@ -32,7 +32,7 @@
+ use RRDs ();
+ use Data::Dumper ();
+-our $Config = "/etc/collection.conf";
++our $Config = "/etc/collectd/collection.conf";
+ our @DataDirs = ();
+ our @DontShowTypes = ();
+ our $LibDir;
diff --git a/debian/patches/gcc6.patch b/debian/patches/gcc6.patch
new file mode 100644 (file)
index 0000000..4cae581
--- /dev/null
@@ -0,0 +1,13 @@
+Author: Sebastian Harl <tokkee@debian.org>
+Description: Fix GCC 6 issues.
+--- a/src/write_kafka.c
++++ b/src/write_kafka.c
+@@ -472,7 +472,7 @@
+       }
+     if (conf != NULL)
+         rd_kafka_conf_destroy(conf);
+-      return (0);
++    return (0);
+  errout:
+     if (conf != NULL)
+         rd_kafka_conf_destroy(conf);
diff --git a/debian/patches/myplugin_api.dpatch b/debian/patches/myplugin_api.dpatch
deleted file mode 100755 (executable)
index fa2b513..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## myplugin_api.dpatch by Sebastian Harl <sh@tokkee.org>
-##
-## DP: Update myplugin.c to the latest collectd API.
-
-@DPATCH@
-
-diff a/contrib/examples/myplugin.c b/contrib/examples/myplugin.c
---- a/contrib/examples/myplugin.c
-+++ b/contrib/examples/myplugin.c
-@@ -100,14 +100,16 @@
-       vl.time       = time (NULL);
-       sstrncpy (vl.host, hostname_g, sizeof (vl.host));
-       sstrncpy (vl.plugin, "myplugin", sizeof (vl.plugin));
-+
-+      /* it is strongly recommended to use a type defined in the types.db file
-+       * instead of a custom type */
-+      sstrncpy (vl.type, "myplugin", sizeof (vl.plugin));
-       /* optionally set vl.plugin_instance and vl.type_instance to reasonable
-        * values (default: "") */
-       /* dispatch the values to collectd which passes them on to all registered
--       * write functions - the first argument is used to lookup the data set
--       * definition (it is strongly recommended to use a type defined in the
--       * types.db file) */
--      plugin_dispatch_values ("myplugin", &vl);
-+       * write functions */
-+      plugin_dispatch_values (&vl);
-       /* A return value != 0 indicates an error and the plugin will be skipped
-        * for an increasing amount of time. */
-@@ -117,7 +119,8 @@
- /*
-  * This function is called after values have been dispatched to collectd.
-  */
--static int my_write (const data_set_t *ds, const value_list_t *vl)
-+static int my_write (const data_set_t *ds, const value_list_t *vl,
-+              user_data_t *ud)
- {
-       char name[1024] = "";
-       int i = 0;
-@@ -151,7 +154,7 @@
- /*
-  * This function is called when plugin_log () has been used.
-  */
--static void my_log (int severity, const char *msg)
-+static void my_log (int severity, const char *msg, user_data_t *ud)
- {
-       printf ("LOG: %i - %s\n", severity, msg);
-       return;
-@@ -160,7 +163,7 @@
- /*
-  * This function is called when plugin_dispatch_notification () has been used.
-  */
--static int my_notify (const notification_t *notif)
-+static int my_notify (const notification_t *notif, user_data_t *ud)
- {
-       char time_str[32] = "";
-       struct tm *tm = NULL;
-@@ -210,12 +213,13 @@
-  */
- void module_register (void)
- {
--      plugin_register_log ("myplugin", my_log);
--      plugin_register_notification ("myplugin", my_notify);
-+      plugin_register_log ("myplugin", my_log, /* user data */ NULL);
-+      plugin_register_notification ("myplugin", my_notify,
-+                      /* user data */ NULL);
-       plugin_register_data_set (&ds);
-       plugin_register_read ("myplugin", my_read);
-       plugin_register_init ("myplugin", my_init);
--      plugin_register_write ("myplugin", my_write);
-+      plugin_register_write ("myplugin", my_write, /* user data */ NULL);
-       plugin_register_shutdown ("myplugin", my_shutdown);
-     return;
- } /* void module_register (void) */
diff --git a/debian/patches/myplugin_includes.dpatch b/debian/patches/myplugin_includes.dpatch
deleted file mode 100755 (executable)
index 2b252cf..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## myplugin_includes.dpatch by Sebastian Harl <sh@tokkee.org>
-##
-## DP: Let the example plugin include the core headers from
-## DP: /usr/include/collectd/core.
-
-@DPATCH@
-
-diff a/contrib/examples/myplugin.c b/contrib/examples/myplugin.c
---- a/contrib/examples/myplugin.c
-+++ b/contrib/examples/myplugin.c
-@@ -38,9 +38,9 @@
- #endif /* ! HAVE_CONFIG */
--#include <collectd/collectd.h>
--#include <collectd/common.h>
--#include <collectd/plugin.h>
-+#include <collectd/core/collectd.h>
-+#include <collectd/core/common.h>
-+#include <collectd/core/plugin.h>
- /*
-  * data source definition:
diff --git a/debian/patches/myplugin_includes.patch b/debian/patches/myplugin_includes.patch
new file mode 100644 (file)
index 0000000..9b8b04d
--- /dev/null
@@ -0,0 +1,18 @@
+Author: Sebastian Harl <sh@tokkee.org>
+Description: Let the example plugin include the core headers from
+/usr/include/collectd/core.
+--- a/contrib/examples/myplugin.c
++++ b/contrib/examples/myplugin.c
+@@ -38,9 +38,9 @@
+ #endif /* ! HAVE_CONFIG */
+-#include <collectd/collectd.h>
+-#include <collectd/common.h>
+-#include <collectd/plugin.h>
++#include <collectd/core/daemon/collectd.h>
++#include <collectd/core/daemon/common.h>
++#include <collectd/core/daemon/plugin.h>
+ /*
+  * data source definition:
diff --git a/debian/patches/rrd_filter_path.dpatch b/debian/patches/rrd_filter_path.dpatch
deleted file mode 100755 (executable)
index 4580bba..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## rrd_filter_path.dpatch by Sebastian Harl <sh@tokkee.org>
-##
-## DP: Set the path of rrd_filter.px to /usr/lib/collectd/utils/.
-
-@DPATCH@
-
-diff a/contrib/migrate-3-4.px b/contrib/migrate-3-4.px
---- a/contrib/migrate-3-4.px
-+++ b/contrib/migrate-3-4.px
-@@ -166,7 +166,7 @@ for (@Files)
-                       my $src_ds = $src_dses->[$i];
-                       $dest->{'type_instance'} = $type_instances->[$i];
-                       $dest_filename = get_filename ($dest);
--                      print "./rrd_filter.px -i '$InDir/$orig_filename' -m '${src_ds}:${dst_ds}' -o '$OutDir/$dest_filename'\n";
-+                      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m '${src_ds}:${dst_ds}' -o '$OutDir/$dest_filename'\n";
-               }
-       }
-       elsif (exists ($TypeRename{$orig->{'type'}}))
-@@ -361,19 +361,19 @@ sub special_disk
-               $OutDirs{$dest_directory} = 1;
-       }
--      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rmerged:read' -m 'wmerged:write' -o '$OutDir/$dest_filename'\n";
-+      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rmerged:read' -m 'wmerged:write' -o '$OutDir/$dest_filename'\n";
-       $dest->{'type'} = 'disk_octets';
-       $dest_filename = get_filename ($dest);
--      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rbytes:read' -m 'wbytes:write' -o '$OutDir/$dest_filename'\n";
-+      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rbytes:read' -m 'wbytes:write' -o '$OutDir/$dest_filename'\n";
-       $dest->{'type'} = 'disk_ops';
-       $dest_filename = get_filename ($dest);
--      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rcount:read' -m 'wcount:write' -o '$OutDir/$dest_filename'\n";
-+      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rcount:read' -m 'wcount:write' -o '$OutDir/$dest_filename'\n";
-       $dest->{'type'} = 'disk_time';
-       $dest_filename = get_filename ($dest);
--      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rtime:read' -m 'wtime:write' -o '$OutDir/$dest_filename'\n";
-+      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rtime:read' -m 'wtime:write' -o '$OutDir/$dest_filename'\n";
- }
- sub exit_usage
-diff a/contrib/migrate-4-5.px b/contrib/migrate-4-5.px
---- a/contrib/migrate-4-5.px
-+++ b/contrib/migrate-4-5.px
-@@ -32,8 +32,8 @@
- use File::Basename ('dirname');
- our $InDir = '/var/lib/collectd';
--our $RRDtool = 'rrdtool';
--our $RRDFilter = 'rrd_filter.px';
-+our $RRDtool = '/usr/bin/rrdtool';
-+our $RRDFilter = '/usr/lib/collectd/utils/rrd_filter.px';
- our %TypesCounterToDerive = # {{{
- (
diff --git a/debian/patches/rrd_filter_path.patch b/debian/patches/rrd_filter_path.patch
new file mode 100644 (file)
index 0000000..060fec7
--- /dev/null
@@ -0,0 +1,50 @@
+Author: Sebastian Harl <sh@tokkee.org>
+Description: Set the path of rrd_filter.px to /usr/lib/collectd/utils/.
+--- a/contrib/migrate-3-4.px
++++ b/contrib/migrate-3-4.px
+@@ -167,7 +167,7 @@
+                       my $src_ds = $src_dses->[$i];
+                       $dest->{'type_instance'} = $type_instances->[$i];
+                       $dest_filename = get_filename ($dest);
+-                      print "./rrd_filter.px -i '$InDir/$orig_filename' -m '${src_ds}:${dst_ds}' -o '$OutDir/$dest_filename'\n";
++                      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m '${src_ds}:${dst_ds}' -o '$OutDir/$dest_filename'\n";
+               }
+       }
+       else
+@@ -363,19 +363,19 @@
+               $OutDirs{$dest_directory} = 1;
+       }
+-      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rmerged:read' -m 'wmerged:write' -o '$OutDir/$dest_filename'\n";
++      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rmerged:read' -m 'wmerged:write' -o '$OutDir/$dest_filename'\n";
+       $dest->{'type'} = 'disk_octets';
+       $dest_filename = get_filename ($dest);
+-      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rbytes:read' -m 'wbytes:write' -o '$OutDir/$dest_filename'\n";
++      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rbytes:read' -m 'wbytes:write' -o '$OutDir/$dest_filename'\n";
+       $dest->{'type'} = 'disk_ops';
+       $dest_filename = get_filename ($dest);
+-      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rcount:read' -m 'wcount:write' -o '$OutDir/$dest_filename'\n";
++      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rcount:read' -m 'wcount:write' -o '$OutDir/$dest_filename'\n";
+       $dest->{'type'} = 'disk_time';
+       $dest_filename = get_filename ($dest);
+-      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rtime:read' -m 'wtime:write' -o '$OutDir/$dest_filename'\n";
++      print "/usr/lib/collectd/utils/rrd_filter.px -i '$InDir/$orig_filename' -m 'rtime:read' -m 'wtime:write' -o '$OutDir/$dest_filename'\n";
+ }
+ sub exit_usage
+--- a/contrib/migrate-4-5.px
++++ b/contrib/migrate-4-5.px
+@@ -32,8 +32,8 @@
+ use File::Basename ('dirname');
+ our $InDir = '/var/lib/collectd';
+-our $RRDtool = 'rrdtool';
+-our $RRDFilter = 'rrd_filter.px';
++our $RRDtool = '/usr/bin/rrdtool';
++our $RRDFilter = '/usr/lib/collectd/utils/rrd_filter.px';
+ our %TypesCounterToDerive = # {{{
+ (
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..1d66312
--- /dev/null
@@ -0,0 +1,5 @@
+rrd_filter_path.patch
+collection_conf_path.patch
+myplugin_includes.patch
+bts823012_librrd8.patch
+gcc6.patch
index b6875f9353db397b1e40a75df5d6b70e092bad29..8225f1d6b1421ea10d31e00f35ceba4583ab5720 100644 (file)
@@ -1,16 +1,17 @@
 # Dutch translation of collectd debconf templates.
 # Copyright (C) 2008 Eric Spreen <erispre@gmail.com>
 # This file is distributed under the same license as the collectd package.
-# Jeroen Schot <schot@a-eskwadraat.nl>, 2012.
+# Jeroen Schot <schot@a-eskwadraat.nl>, 2012, 2014.
+# Frans Spiesschaert <Frans.Spiesschert@yucom.be>, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: collectd 4.10.7-1\n"
 "Report-Msgid-Bugs-To: collectd@packages.debian.org\n"
 "POT-Creation-Date: 2012-05-19 17:59+0200\n"
-"PO-Revision-Date: 2012-05-21 12:22+0200\n"
-"Last-Translator: Jeroen Schot <schot@a-eskwadraat.nl>\n"
-"Language-Team: Debian l10n Dutch <debian-l10n-dutch@lists.debian.org>\n"
+"PO-Revision-Date: 2014-09-24 18:01+0200\n"
+"Last-Translator: Frans Spiesschaert <Frans.Spiesschert@yucom.be>\n"
+"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -34,8 +35,8 @@ msgid ""
 msgstr ""
 "De lay-out van de RRD-bestanden, die zijn gemaakt door collectd, is sterk "
 "gewijzigd sinds versie 3.x. Om uw oude gegevens te behouden zult u deze "
-"moeten migreren. Dit kunt u doen door /usr/lib/collectd/utils/"
-"migrate-3-4.px te gebruiken."
+"moeten migreren. Dit kunt u doen door /usr/lib/collectd/utils/migrate-3-4.px "
+"te gebruiken."
 
 #. Type: note
 #. Description
@@ -83,30 +84,23 @@ msgstr ""
 #. Type: note
 #. Description
 #: ../collectd-core.templates:3001
-#, fuzzy
-#| msgid "Layout of RRD files has changed"
 msgid "Layout of RRD files has changed in version 5.0"
-msgstr "De lay-out van RRD-bestanden is gewijzigd."
+msgstr "De lay-out van RRD-bestanden is gewijzigd in versie 5.0."
 
 #. Type: note
 #. Description
 #. Type: boolean
 #. Description
 #: ../collectd-core.templates:3001 ../collectd-core.templates:4001
-#, fuzzy
-#| msgid ""
-#| "The layout of the RRD files created by collectd has changed significantly "
-#| "since version 3.x. In order to keep your old data you have to migrate it. "
-#| "This can be done by using /usr/lib/collectd/utils/migrate-3-4.px."
 msgid ""
 "The layout of some RRD files created by collectd has changed since version 4."
 "x. In order to keep your old data you have to migrate it. This can be done "
 "by using /usr/lib/collectd/utils/migrate-4-5.px."
 msgstr ""
-"De lay-out van de RRD-bestanden, die zijn gemaakt door collectd, is sterk "
-"gewijzigd sinds versie 3.x. Om uw oude gegevens te behouden zult u deze "
-"moeten migreren. Dit kunt u doen door /usr/lib/collectd/utils/"
-"migrate-3-4.px te gebruiken."
+"De lay-out van de RRD-bestanden, die zijn gemaakt door collectd, is "
+"gewijzigd sinds versie 4.x. Om uw oude gegevens te behouden zult u deze "
+"moeten migreren. Dit kunt u doen door /usr/lib/collectd/utils/migrate-4-5.px "
+"te gebruiken."
 
 #. Type: note
 #. Description
@@ -117,6 +111,9 @@ msgid ""
 "See /usr/share/doc/collectd-core/NEWS.Debian.gz and the collectd wiki at "
 "<http://collectd.org/wiki/index.php/V4_to_v5_migration_guide> for details."
 msgstr ""
+"Zie /usr/share/doc/collectd-core/NEWS.Debian.gz en de wikipagina van "
+"collectd, <http://collectd.org/wiki/index.php/V4_to_v5_migration_guide>, "
+"voor meer informatie."
 
 #. Type: boolean
 #. Description
@@ -144,6 +141,6 @@ msgid ""
 "recent or custom version or if you want to keep the data for further "
 "analysis, the data should be kept."
 msgstr ""
-"Als u het pakket collectd wist ('purge') met als doel te te vervangen door "
-"een nieuwere of aangepaste versie, of als u de gegevens wilt bewaren voor "
-"verdere analyse, dan dient u de gegevens te bewaren."
+"Als u het pakket collectd opruimt met als doel het te vervangen door een "
+"nieuwere of aangepaste versie, of als u verdere analyses op de gegevens wilt "
+"uitvoeren, dan dient u de gegevens te bewaren."
index b0dd9fde0334b8b2b35933d8db76d97e226482c2..fca492c9b3d482e6613583f5a2e8bb38db04eb44 100755 (executable)
@@ -19,12 +19,6 @@ CPPFLAGS += -I$(CURDIR)/debian/include
 CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
 CFLAGS += -Wall -Wno-error=deprecated-declarations
 
-# There is no way to tell lt_dlopen() to use the RTLD_GLOBAL flag which is
-# however required by the perl plugin (which would otherwise be unable to find
-# symbols defined in libperl when loading perl modules that require such
-# symbols). This is a workaround for this issue.
-CPPFLAGS += -DLT_LAZY_OR_NOW='RTLD_LAZY|RTLD_GLOBAL'
-
 # Upstream defaults to ${sysconfdir}/collectd.conf. Setting ${sysconfdir} to
 # /etc/collectd would be wrong though.
 CPPFLAGS += -UCONFIGFILE
@@ -51,8 +45,6 @@ JAR = $(JAVA_HOME)/bin/jar
 JAVA_CPPFLAGS = -I$(JAVA_HOME)/include
 JAVA_LDFLAGS = -L$(JAVA_LIBDIR) -Wl,-rpath -Wl,$(JAVA_LIBDIR)
 
-include /usr/share/dpatch/dpatch.make
-
 confflags = --host=$(DEB_HOST_GNU_TYPE) \
                        --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr \
                        --mandir=\$${prefix}/share/man \
@@ -61,6 +53,7 @@ confflags = --host=$(DEB_HOST_GNU_TYPE) \
                        --without-libstatgrab \
                        --without-included-ltdl \
                        --disable-static \
+                       --disable-silent-rules \
                        --enable-all-plugins
 
 # These plugins do not provide any functionality under Linux.
@@ -83,28 +76,15 @@ confflags += --disable-netapp
 # libclntsh is required for the oracle plugin.
 confflags += --disable-oracle
 
-# libcredis is required for the *redis plugins.
-confflags += --disable-redis --disable-write_redis
-
 # librouteros is required for the routeros plugin.
 confflags += --disable-routeros
 
-# libsigrok >= 0.2.0 is required for the sigrok plugin, should arrive in unstable soon
-confflags += --disable-sigrok
-
-# varnish does not currently work with varnish4
-# (c.f. https://bugs.debian.org/745902)
-confflags += --disable-varnish
-
 # libmongoc is required for the write_mongodb plugin.
 confflags += --disable-write_mongodb
 
 # xmms1 is required for the xmms plugin.
 confflags += --disable-xmms
 
-# libkstat is required for the xfs_arc plugin.
-confflags += --disable-zfs-arc
-
 # These plugins are Linux-specific.
 ifneq (,$(filter kfreebsd-i386 kfreebsd-amd64, $(DEB_BUILD_ARCH)))
        confflags += \
@@ -119,6 +99,10 @@ ifneq (,$(filter kfreebsd-i386 kfreebsd-amd64, $(DEB_BUILD_ARCH)))
                --disable-numa \
                --disable-sensors \
                --disable-vserver
+       # libsigrok >= 0.2.0 is required for the sigrok plugin,
+       # only available on Linux.
+       confflags += \
+               --disable-sigrok
 endif
 
 # This plugin is FreeBSD-specific.
@@ -154,11 +138,22 @@ endif
 ifneq (,$(filter kfreebsd-i386 kfreebsd-amd64, $(DEB_BUILD_ARCH)))
        confflags += \
                --disable-gmond \
-               --disable-libvirt \
+               --disable-virt \
                --disable-tokyotyrant \
                --disable-java
 endif
 
+# This plugin is Intel-hardware specific.
+ifeq (,$(filter amd64 i386, $(DEB_BUILD_ARCH)))
+       confflags += \
+               --disable-turbostat
+endif
+
+# libatasmart isn't available on these platforms.
+ifneq (,$(filter hurd-i386 kfreebsd-i386 kfreebsd-amd64, $(DEB_BUILD_ARCH)))
+       confflags += --disable-smart
+endif
+
 # The hppa buildds currently do not keep up with Java related stuff, thus
 # prevending testing transitions. sparc is also having trouble building the
 # java plugin.
@@ -166,14 +161,14 @@ ifneq (,$(filter hppa sparc, $(DEB_BUILD_ARCH)))
        confflags += --disable-java
 endif
 
-config.status: configure $(DPATCH_STAMPFN)
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: build-stamp
+
+build-stamp:
        dh_testdir
        
-       ( cd debian/patches/; for patch in *; do \
-               if test "$$patch" != "00list"; then \
-                       grep "$$patch" 00list > /dev/null \
-                               || ( echo "$$patch not enabled\!"; exit 1 ); \
-               fi; done )
+       dh_autoreconf
        
        # This is a work-around for #474087 (broken openipmi .pc files).
        mkdir debian/pkgconfig
@@ -187,19 +182,12 @@ config.status: configure $(DPATCH_STAMPFN)
                JAVA_LDFLAGS="$(JAVA_LDFLAGS)" \
                || ( status=$$?; cat config.log; exit $$status )
 
-build: build-arch build-indep
-build-arch: build-stamp
-build-indep: build-stamp
-
-build-stamp: config.status
-       dh_testdir
-       
        $(MAKE)
        perl ./debian/bin/check_plugins.pl
        
        touch build-stamp
 
-clean: unpatch
+clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp
@@ -211,26 +199,32 @@ clean: unpatch
        
        rm -rf debian/pkgconfig
        
+       dh_autoreconf_clean
        dh_clean
        debconf-updatepo
 
 install-indep:
        dh_testdir
        dh_testroot
-       dh_clean -k
+       dh_prep
        dh_installdirs -i
        dh_install -i
        
        # update include path for collectd header files
-       sed -r -i -e 's/include "(.*)"/include "collectd\/core\/\1"/' \
-               $(CURDIR)/debian/collectd-dev/usr/include/collectd/core/*
-       sed -r -i -e 's/"collectd\/core\/(liboconfig\/.*)"/"collectd\/\1"/' \
-               $(CURDIR)/debian/collectd-dev/usr/include/collectd/core/*
+       (       set -e; \
+               cd $(CURDIR)/debian/collectd-dev/usr/include/collectd/; \
+               for lib in $$(find . -type f -name '*.h'); do \
+                       libname=$$(basename $$lib); \
+                       fullpath=$$(echo $$lib | sed -r -e 's,^\./,collectd/,'); \
+                       for dir in $$(find . -mindepth 1 -type d); do \
+                               sed -r -i -e "s,(include\s+)\".*$$libname\",\1\"$$fullpath\"," $$dir/*.h; \
+                       done; \
+               done )
 
 install-arch: build
        dh_testdir
        dh_testroot
-       dh_clean -k
+       dh_prep
        dh_installdirs -a
        
        $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
@@ -285,9 +279,12 @@ binary-arch: build install-arch
                && rm -f lib/Collectd/Graph/File.pm lib/Collectd/Graph/Filter.pm \
                && rm -f lib/Collectd/Graph/MetaData.pm )
        dh_installdebconf -a
+       dh_systemd_enable -pcollectd-core --name=collectd
        dh_installinit -pcollectd-core --name=collectd -- defaults 95
+       dh_systemd_start -pcollectd-core
        dh_link -a
        dh_strip -a --dbg-package=collectd-dbg
+       dh_strip_nondeterminism -pcollectd-core
        dh_compress -a -Xexamples/
        dh_fixperms -a
        dh_makeshlibs -a
index d3827e75a5cadb9fe4a27e1cb9b6d192e7323120..163aaf8d82b6c54f23c45f32895dbdfdcc27b047 100644 (file)
@@ -1 +1 @@
-1.0
+3.0 (quilt)