[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