Package: xcdroast
Version: 0.98+0alpha16-1
Severity: normal
This bug is caused by the fact that wodim (now?) returns the version
string to stderr instead of stdout. The attached three patches (the
other two treat related bugs with mkisofs and cdda2wav) make xcdroast
accepting wodim and Ko, but there is need for more changes to allow
for DVD writing: an adaptation of 13_cdrecord_to_wodim.patch is needed.
Anyone interested in doing that?
For myself I conclude that Debian's xcdroast in its current state is
unusable and I will switch to another frontend.
-- System Information:
Debian Release: squeeze/sid
APT prefers proposed-updates
APT policy: (500, 'proposed-updates'), (500, 'unstable'), (500, 'testing'),
(500, 'stable'), (100, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-2-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages xcdroast depends on:
ii debconf [debconf-2.0] 1.5.26 Debian configuration management sy
ii genisoimage 9:1.1.9-1 Creates ISO-9660 CD-ROM filesystem
ii icedax 9:1.1.9-1 Creates WAV files from audio CDs
ii libatk1.0-0 1.24.0-2 The ATK accessibility toolkit
ii libc6 2.9-7 GNU C Library: Shared libraries
ii libcairo2 1.8.6-2+b1 The Cairo 2D vector graphics libra
ii libfontconfig1 2.6.0-3 generic font configuration library
ii libfreetype6 2.3.9-4 FreeType 2 font engine, shared lib
ii libglib2.0-0 2.20.1-1 The GLib library of C routines
ii libgtk2.0-0 2.16.1-2 The GTK+ graphical user interface
ii libpango1.0-0 1.24.0-3+b1 Layout and rendering of internatio
ii wodim 9:1.1.9-1 command line CD/DVD writing tool
xcdroast recommends no packages.
Versions of packages xcdroast suggests:
pn cdparanoia <none> (no description available)
-- no debconf information
Index: xcdroast-0.98+0alpha16/src/io.c
===================================================================
--- xcdroast-0.98+0alpha16.orig/src/io.c 2009-04-19 16:56:53.000000000 +0400
+++ xcdroast-0.98+0alpha16/src/io.c 2009-04-19 16:57:34.000000000 +0400
@@ -9909,7 +9909,7 @@
*isProDVD = 0;
strcpy(ver,"");
get_wrap_path("CDRECORD",line);
- strcat(line," -version 2>/dev/null");
+ strcat(line," -version 2>&1");
dodebug(1, "calling: %s\n", line);
if ((fpin = popen(line,"r")) == NULL) {
Index: xcdroast-0.98+0alpha16/src/io.c
===================================================================
--- xcdroast-0.98+0alpha16.orig/src/io.c 2009-04-19 17:36:50.000000000 +0400
+++ xcdroast-0.98+0alpha16/src/io.c 2009-04-19 17:42:15.000000000 +0400
@@ -10004,6 +10004,7 @@
gint check_version_mkisofs(gchar *match, gchar *found) {
gchar line[MAXLINE];
+gchar vline[MAXLINE];
gchar ver[MAXLINE];
FILE *fpin;
gchar *p;
@@ -10018,17 +10019,24 @@
}
strcpy(line,"");
+ strcpy(vline,"");
for (;;) {
if (fgets(line,MAXLINE,fpin) == NULL)
break;
- dodebug(10,"got: %s",line);
+
+ /* only get first line */
+ if (strcmp(vline,"") == 0) {
+ strncpy(vline, line, MAXLINE);
+ }
+
+ dodebug(10,"got: %s",line);
}
if (pclose(fpin) == -1) {
g_error("pclose error\n");
}
- if (strcmp(line,"") == 0 || strstr(line,"sh:") != NULL) {
+ if (strcmp(vline,"") == 0 || strstr(vline,"sh:") != NULL) {
/* failed to open - permission denied */
return 2;
}
@@ -10037,7 +10045,7 @@
/* now line contains the version string of mkisofs */
/* try to extract the version number */
- p = strstr(line,"mkisofs");
+ p = strstr(vline,"mkisofs");
if (p != NULL) {
p = strtok(p+8, " ");
if (p != NULL) {
Index: xcdroast-0.98+0alpha16/src/io.c
===================================================================
--- xcdroast-0.98+0alpha16.orig/src/io.c 2009-04-19 18:32:26.000000000 +0400
+++ xcdroast-0.98+0alpha16/src/io.c 2009-04-19 18:34:05.000000000 +0400
@@ -10119,6 +10119,12 @@
if (p != NULL) {
strcpy(ver,p);
}
+ } else {
+ p = strstr(line,"icedax");
+ if (p != NULL) {
+ strcpy(found,match);
+ return 0;
+ }
}
}