[SCM] gjacktransport/master: Add patch to solve FTBFS on the Hurd.
alessio at users.alioth.debian.org
alessio at users.alioth.debian.org
Tue May 15 22:15:16 UTC 2012
The following commit has been merged in the master branch:
commit 1dbcf07e3ad29e7a0e2219e00fdd2e2a2fad0103
Author: Alessio Treglia <alessio at debian.org>
Date: Wed May 16 00:02:48 2012 +0200
Add patch to solve FTBFS on the Hurd.
Closes: #671586
Thanks: Cyril Roelandt for the report and patch.
diff --git a/debian/patches/0001-hurd_fix_build.patch b/debian/patches/0001-hurd_fix_build.patch
new file mode 100644
index 0000000..c946c14
--- /dev/null
+++ b/debian/patches/0001-hurd_fix_build.patch
@@ -0,0 +1,117 @@
+Description: FTBFS on Hurd due to unconditionalized use of PATH_MAX.
+Author: Cyril Roelandt <tipecaml at gmail.com>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671586
+Forwarded: Robin Gareus <robin at gareus.org>
+---
+ src/gjack.c | 22 +++++++++++++++++-----
+ src/resourceconfig.c | 38 ++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 55 insertions(+), 5 deletions(-)
+
+--- gjacktransport.orig/src/gjack.c
++++ gjacktransport/src/gjack.c
+@@ -16,27 +16,39 @@ extern GtkWidget *window1;
+ void dothejack (gboolean onoff);
+
+ void status_msg (char *msg) {
+- gchar buf[PATH_MAX];
++ gchar *buf;
+ guint context = 1;
+ GtkWidget *statusbar1;
++ size_t size;
++
+ statusbar1=lookup_widget(window1,"statusbar1");
++ size = 1+strlen(msg);
++ buf = malloc(size);
++ if (buf == NULL)
++ return;
+
+- snprintf(buf, PATH_MAX, "%s", msg);
++ snprintf(buf, size, "%s", msg);
+ gtk_statusbar_pop(GTK_STATUSBAR(statusbar1), context);
+ gtk_statusbar_push(GTK_STATUSBAR(statusbar1), context, buf);
++ free(buf);
+ }
+
+
+ void status_printf (const char *format, ...) {
+ va_list arglist;
+- char text[PATH_MAX];
++ char *text;
++ size_t text_size;
+
+ va_start(arglist, format);
+- vsnprintf(text, PATH_MAX, format, arglist);
++ text_size = vsnprintf(NULL, 0, format, arglist);
++ text = malloc(text_size);
++ if (text == NULL)
++ return;
++ vsnprintf(text, text_size, format, arglist);
+ va_end(arglist);
+- text[PATH_MAX -1] =0;
+
+ status_msg(text);
++ free(text);
+ }
+
+ /* end status bar */
+--- gjacktransport.orig/src/resourceconfig.c
++++ gjacktransport/src/resourceconfig.c
+@@ -30,6 +30,10 @@
+ # define SYSCFGDIR "/etc"
+ #endif
+
++#ifdef __GNU__
++#include <assert.h>
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
+@@ -116,6 +120,39 @@ void try_load_rc_file (char *filename) {
+ }
+
+ void load_rc (void) {
++#ifdef __GNU__
++ char *home;
++ char *filename;
++ size_t size, old_size;
++
++ size = strlen(SYSCFGDIR) + strlen(GJACKTRANSPORTRC) + 2;
++ filename = malloc(size);
++ assert(filename);
++ sprintf(filename, "%s/%s", SYSCFGDIR, GJACKTRANSPORTRC);
++ try_load_rc_file(filename);
++
++ home = getenv("HOME");
++ if (home) {
++ old_size = size;
++ size = strlen(home) + strlen(GJACKTRANSPORTRC) + 2;
++ if (old_size < size) {
++ filename = realloc(filename, size);
++ assert(filename);
++ }
++ sprintf(filename, "%s/.%s", home, GJACKTRANSPORTRC);
++ try_load_rc_file(filename);
++ }
++
++ old_size = size;
++ size = strlen(GJACKTRANSPORTRC) + 2;
++ if (old_size < size) {
++ filename = realloc(filename, size);
++ assert(filename);
++ }
++ sprintf(filename, "./%s", GJACKTRANSPORTRC);
++ try_load_rc_file(filename);
++ free(filename);
++#else
+ char *home;
+ char filename[PATH_MAX];
+ if ((strlen(SYSCFGDIR) + strlen(GJACKTRANSPORTRC) + 2) < PATH_MAX) {
+@@ -131,6 +168,7 @@ void load_rc (void) {
+ sprintf(filename, "./%s", GJACKTRANSPORTRC);
+ try_load_rc_file(filename);
+ }
++#endif
+ }
+
+ /* vi:set ts=8 sts=2 sw=2: */
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..1c6664b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-hurd_fix_build.patch
--
gjacktransport packaging
More information about the pkg-multimedia-commits
mailing list