[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#683720: unblock: rrdtool/1.4.7-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package rrdtool

The current version in unstable (1.4.7-2) fixes an RC bug (#664724)
causing RRDCacheD (the RRDtool Caching Daemon) to segfault on startup if
the daemon's data directory does not exist. This bug had been addressed
by an NMU by creating the default directories in the init script. I've
later added a patch fixing the issue in the daemon in order to provide a
general fix for the underlying issue.

Attached to this E-mail, you'll find a full debdiff for the source and
all binary packages.

unblock rrdtool/1.4.7-2

TIA,
Sebastian

-- 
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/

Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety.         -- Benjamin Franklin

diff -u rrdtool-1.4.7/debian/control rrdtool-1.4.7/debian/control
--- rrdtool-1.4.7/debian/control
+++ rrdtool-1.4.7/debian/control
@@ -8,7 +8,7 @@
  zlib1g-dev, libpng12-dev, libcairo2-dev, libpango1.0-dev, libfreetype6-dev,
  libdbi0-dev,
  libxml2-dev,
- tcl-dev (>= 8.5), tcl (>= 8.5),
+ tcl-dev (>= 8), tcl-dev (<= 9),
  perl (>= 5.8.0),
  python-all-dev (>= 2.6.6-3~), python-all-dbg (>= 2.6.6-3~),
  ruby1.8, ruby1.8-dev, ruby1.9.1, ruby1.9.1-dev,
diff -u rrdtool-1.4.7/debian/rules rrdtool-1.4.7/debian/rules
--- rrdtool-1.4.7/debian/rules
+++ rrdtool-1.4.7/debian/rules
@@ -123,7 +123,7 @@
 
 	# clean what the Makefiles do not clean ...
 	rm -rf bindings/perl-piped/blib bindings/perl-shared/blib \
-	       bindings/perl-piped/Makefile.old bindings/perl-shared/Makefile.old
+	       bindings/perl-piped/Makefile.old bindings/perl-shared/Makefile.old bindings/perl-shared/MYMETA.yml
 	rm -f bindings/tcl/pkgIndex.tcl bindings/tcl/tclrrd*.so
 	rm -f examples/cgi-demo.cgi
 	rm -rf src/.libs src/.deps doc/*.html doc/*.1 doc/*.txt
diff -u rrdtool-1.4.7/debian/rrdcached.init.d rrdtool-1.4.7/debian/rrdcached.init.d
--- rrdtool-1.4.7/debian/rrdcached.init.d
+++ rrdtool-1.4.7/debian/rrdcached.init.d
@@ -61,6 +61,10 @@
 		return 0
 	fi
 
+	# make sure we have the needed directories
+	mkdir -p /var/lib/rrdcached/journal/
+	mkdir -p /var/lib/rrdcached/db/
+
 	start-stop-daemon --start --quiet --oknodo --pidfile "$PIDFILE" \
 		--exec $DAEMON -- $OPTS -p "$PIDFILE"
 }
diff -u rrdtool-1.4.7/debian/changelog rrdtool-1.4.7/debian/changelog
--- rrdtool-1.4.7/debian/changelog
+++ rrdtool-1.4.7/debian/changelog
@@ -1,3 +1,27 @@
+rrdtool (1.4.7-2) unstable; urgency=low
+
+  * Ack NMUs; thanks to Jonathan Wiltshire and gregor herrmann!
+  * Added debian/patches/bts664724-rrdcached-j-segfault:
+    Fixed segfault in rrdcached when starting without having the journal
+    directory available: canonicalize the journal path after creating the
+    directory; else, realpath(3) will return NULL causing strdup() to
+    segfault. Also, check the return value of realpath(3) before further using
+    it. Thanks to Helmut Grohne for reporting this (Closes: #664724).
+
+ -- Sebastian Harl <tokkee@debian.org>  Wed, 01 Aug 2012 10:23:39 +0200
+
+rrdtool (1.4.7-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "fails to install, postinst, invoke-rc.d rrdcached start, start-
+    stop-daemon, segfault":
+    (re-)create /var/lib/rrdcached/{journal,db} in init script.
+    (Closes: #664724)
+  * debian/rules: remove the generated bindings/perl-shared/MYMETA.yml in the
+    clean target.
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 29 Jul 2012 17:35:13 +0200
+
 rrdtool (1.4.7-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -u rrdtool-1.4.7/debian/patches/series rrdtool-1.4.7/debian/patches/series
--- rrdtool-1.4.7/debian/patches/series
+++ rrdtool-1.4.7/debian/patches/series
@@ -8,0 +9 @@
+bts664724-rrdcached-j-segfault
diff -u rrdtool-1.4.7/debian/patches/ruby_bindings_format_string.patch rrdtool-1.4.7/debian/patches/ruby_bindings_format_string.patch
--- rrdtool-1.4.7/debian/patches/ruby_bindings_format_string.patch
+++ rrdtool-1.4.7/debian/patches/ruby_bindings_format_string.patch
@@ -1,5 +1,5 @@
 Subject: fix format string in Ruby binding
-Author: Johannes Brandstätter <jbrandstaetter@gmail.com>
+Author: Johannes Brandst�er <jbrandstaetter@gmail.com>
 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676081
 Forwarded: no
 Last-Update: 2012-07-01
only in patch2:
unchanged:
--- rrdtool-1.4.7.orig/debian/patches/bts664724-rrdcached-j-segfault
+++ rrdtool-1.4.7/debian/patches/bts664724-rrdcached-j-segfault
@@ -0,0 +1,31 @@
+diff a/src/rrd_daemon.c b/src/rrd_daemon.c
+--- a/src/rrd_daemon.c
++++ b/src/rrd_daemon.c
+@@ -3090,8 +3090,7 @@ static int read_options (int argc, char **argv) /* {{{ */
+       case 'j':
+       {
+         char journal_dir_actual[PATH_MAX];
+-        const char *dir;
+-        dir = journal_dir = strdup(realpath((const char *)optarg, journal_dir_actual));
++        const char *dir = (const char *)optarg;
+ 
+         status = rrd_mkdir_p(dir, 0777);
+         if (status != 0)
+@@ -3100,8 +3099,16 @@ static int read_options (int argc, char **argv) /* {{{ */
+               dir, rrd_strerror(errno));
+           return 6;
+         }
++        journal_dir = realpath((const char *)dir, journal_dir_actual);
++        if (! journal_dir) {
++          fprintf(stderr, "Failed to canonicalize journal directory '%s': %s\n",
++              dir, rrd_strerror(errno));
++          return 6;
++        }
++
++        journal_dir = strdup(journal_dir);
+ 
+-        if (access(dir, R_OK|W_OK|X_OK) != 0)
++        if (access(journal_dir, R_OK|W_OK|X_OK) != 0)
+         {
+           fprintf(stderr, "Must specify a writable directory with -j! (%s)\n",
+                   errno ? rrd_strerror(errno) : "");
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Depends: liblua5.1-rrd0 (= [-1.4.7-1.1)-] {+1.4.7-2)+}
Installed-Size: [-187-] {+188+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Installed-Size: [-623-] {+624+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Depends: libc6-dev | libc-dev, librrd4 (= [-1.4.7-1.1),-] {+1.4.7-2),+} libpng12-dev, zlib1g-dev, libcairo2-dev, libpango1.0-dev, libfreetype6-dev, libxml2-dev
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Installed-Size: [-186-] {+187+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Depends: [-python2.7 | python2.6,-] python (>= 2.6), python (<< 2.8), libc6 (>= 2.2.5), librrd4 (>= 1.4~rc2)
Installed-Size: [-198-] {+199+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Installed-Size: [-267-] {+268+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Depends: rrdtool (= [-1.4.7-1.1),-] {+1.4.7-2),+} librrd4 (= [-1.4.7-1.1),-] {+1.4.7-2),+} libc6 (>= 2.2.5), [-python2.7-dbg | python2.6-dbg,-] python-dbg (>= 2.6), python-dbg (<< 2.8)
Installed-Size: [-2366-] {+2367+}
Recommends: librrds-perl (= [-1.4.7-1.1),-] {+1.4.7-2),+} rrdtool-tcl (= [-1.4.7-1.1),-] {+1.4.7-2),+} python-rrdtool (= [-1.4.7-1.1),-] {+1.4.7-2),+} librrd-ruby1.8 (= [-1.4.7-1.1),-] {+1.4.7-2),+} librrd-ruby1.9.1 (= [-1.4.7-1.1),-] {+1.4.7-2),+} python-all-dbg, liblua5.1-rrd0 (= [-1.4.7-1.1)-] {+1.4.7-2)+}
Version: [-1.4.7-1.1-] {+1.4.7-2+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.4.7-1.1-] {+1.4.7-2+}

Attachment: signature.asc
Description: Digital signature


Reply to: