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