Package: cdrecord Version: 4:2.01+01a03-5 Followup-For: Bug #377145
The patch seems to apply cleanly on the latest source in Debian, and doesn't appear to break functionality (I burnt a CD without problems). It does however make using cdrecord less annoying. Can somebody confirm that the "do not modify this section" part is in fact unenforceable under the GPL? I've left in the general statement of copyright. Richard -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16rt Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages cdrecord depends on: ii debconf [debconf-2.0] 1.5.2 Debian configuration management sy ii libc6 2.3.6-15 GNU C Library: Shared libraries ii libcap1 1:1.10-14 support for getting/setting POSIX. ii makedev 2.3.1-82 creates device files in /dev Versions of packages cdrecord recommends: ii mkisofs 4:2.01+01a03-5 Creates ISO-9660 CD-ROM filesystem -- debconf information: * cdrecord/SUID_bit: false cdrecord/MAKEDEV: true cdrecord/MAKEDEVNEW: true cdrecord/do_it_yourself: *** /usr/src/cdrecord-defud.patch diff -ru cdrtools-2.01+01a03/cdrecord/cdrecord.c cdrtools-2.01+01a03-defudded/cdrecord/cdrecord.c --- cdrtools-2.01+01a03/cdrecord/cdrecord.c 2005-05-17 11:15:49.000000000 +0100 +++ cdrtools-2.01+01a03-defudded/cdrecord/cdrecord.c 2006-07-18 20:49:34.000000000 +0100 @@ -292,52 +292,6 @@ comerrno(EX_BAD, "Internal error: Bad TOC type.\n"); /* - * Begin restricted code for quality assurance. - * - * Warning: you are not allowed to modify or to remove the - * Copyright and version printing code below! - * See also GPL � 2 subclause c) - * - * If you modify cdrecord you need to include additional version - * printing code that: - * - * - Clearly states that the current version is an - * inofficial (modified) version and thus may have bugs - * that are not present in the original. - * - * - Print your support e-mail address and tell people that - * you will do complete support for this version of - * cdrecord. - * - * Or clearly state that there is absolutely no support - * for the modified version you did create. - * - * - Tell the users not to ask the original author for - * help. - * - * This limitation definitely also applies when you use any other - * cdrecord release together with libscg-0.6 or later, or when you - * use any amount of code from cdrecord-1.11a17 or later. - * In fact, it applies to any version of cdrecord, see also - * GPL Preamble, subsection 6. - * - * I am sorry for the inconvenience but I am forced to do this because - * some people create inofficial branches. These branches create - * problems but the initiators do not give support and thus cause the - * development of the official cdrecord versions to slow down because - * I am loaded with unneeded work. - * - * Please note that this is a memorandum on how I interpret the GPL. - * If you use/modify/redistribute cdrecord, you need to accept it - * this way. - * - * - * The above statement is void if there has been neither a new version - * of cdrecord nor a new version of star from the original author - * within more then a year. - */ - - /* * Ugly, but Linux incude files violate POSIX and #define printf * so we cannot include the #ifdef inside the printf() arg list. */ @@ -353,54 +307,8 @@ CLONE_TITLE, cdr_version, HOST_CPU, HOST_VENDOR, HOST_OS); - -#if defined(SOURCE_MODIFIED) || !defined(IS_SCHILY_XCONFIG) -#define INSERT_YOUR_EMAIL_ADDRESS_HERE -#define NO_SUPPORT 0 - printf("NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord\n"); - printf(" and thus may have bugs that are not present in the original version.\n"); -#if NO_SUPPORT - printf(" The author of the modifications decided not to provide a support e-mail\n"); - printf(" address so there is absolutely no support for this version.\n"); -#else - printf(" Please send bug reports and support requests to <%s>.\n", INSERT_YOUR_EMAIL_ADDRESS_HERE); -#endif - printf(" The original author should not be bothered with problems of this version.\n"); - printf("\n"); -#endif -#if !defined(IS_SCHILY_XCONFIG) - printf("\nWarning: This version of cdrecord has not been configured via the standard\n"); - printf("autoconfiguration method of the Schily makefile system. There is a high risk\n"); - printf("that the code is not configured correctly and for this reason will not behave\n"); - printf("as expected.\n"); -#endif } - /* - * I am sorry that even for version 1.302 of cdrecord.c, I am forced to do - * things like this, but defective versions of cdrecord cause a lot of - * work load to me and it seems to be impossible to otherwise convince - * SuSE to cooperate. - * As people contact me and bother me with the related problems, - * it is obvious that SuSE is violating subsection 6 in the preamble of - * the GPL. - * - * The reason for including a test against SuSE's private - * distribution environment is only that SuSE violates the GPL for - * a long time and seems not to be willing to follow the requirements - * imposed by the GPL. If SuSE starts to ship non defective versions - * of cdrecord or informs their customers that they would need to - * compile cdrecord themselves in order to get a working cdrecord, - * they should contact me for a permission to change the related test. - * - * Note that although the SuSE test is effective only for SuSE, the - * intention to have non bastardized versions out is not limited - * to SuSE. It is bad to see that in special in the "Linux" business, - * companies prefer a model with many proprietary differing programs - * instead of cooperating with the program authors. - */ - linuxcheck(); /* For version 1.302 of cdrecord.c */ - if (flags & F_VERSION) exit(0); /* @@ -4660,80 +4568,3 @@ } dsp->ds_wrmode = WM_NONE; } - -/* - * I am sorry that even for version 1.302 of cdrecord.c, I am forced to do - * things like this, but defective versions of cdrecord cause a lot of - * work load to me and it seems to be impossible to otherwise convince - * SuSE to cooperate. - * As people contact me and bother me with the related problems, - * it is obvious that SuSE is violating subsection 6 in the preamble of - * the GPL. - * - * The reason for including a test against SuSE's private - * distribution environment is only that SuSE violates the GPL for - * a long time and seems not to be willing to follow the requirements - * imposed by the GPL. If SuSE starts to ship non defective versions - * of cdrecord or informs their customers that they would need to - * compile cdrecord themselves in order to get a working cdrecord, - * they should contact me for a permission to change the related test. - * - * Note that although the SuSE test is effective only for SuSE, the - * intention to have non bastardized versions out is not limited - * to SuSE. It is bad to see that in special in the "Linux" business, - * companies prefer a model with many proprietary differing programs - * instead of cooperating with the program authors. - */ -#if defined(linux) || defined(__linux) || defined(__linux__) -#ifdef HAVE_UNAME -#include <sys/utsname.h> -#endif -#endif - -LOCAL void -linuxcheck() /* For version 1.302 of cdrecord.c */ -{ -#if defined(linux) || defined(__linux) || defined(__linux__) -#ifdef HAVE_UNAME - struct utsname un; - - if (uname(&un) >= 0) { - /* - * I really hope that the Linux kernel developers will soon - * fix the most annoying bugs (as promised). Linux-2.6.8 - * has still much more reported problems than Linux-2.4. - */ - if ((un.release[0] == '2' && un.release[1] == '.') && - (un.release[2] == '5' || un.release[2] == '6')) { - errmsgno(EX_BAD, - "Warning: Running on Linux-%s\n", un.release); - errmsgno(EX_BAD, - "There are unsettled issues with Linux-2.5 and newer.\n"); - errmsgno(EX_BAD, - "If you have unexpected problems, please try Linux-2.4 or Solaris.\n"); - } - if ((un.release[0] == '2' && un.release[1] == '.') && - (un.release[2] > '6' || - (un.release[2] == '6' && un.release[3] == '.' && un.release[4] >= '8'))) { - errmsgno(EX_BAD, - "Warning: Linux-2.6.8 introduced incompatible interface changes.\n"); - errmsgno(EX_BAD, - "Warning: SCSI transport does no longer work for suid root programs.\n"); - errmsgno(EX_BAD, - "Warning: if cdrecord fails, try to run it from a root account.\n"); - } - } -#endif - if (streql(HOST_VENDOR, "suse")) { /* For version 1.302 of cdrecord.c */ -/* 1.302 */ errmsgno(EX_BAD, -/* 1.302 */ "SuSE Linux is known to ship bastardized and defective versions of cdrecord.\n"); -/* 1.302 */ errmsgno(EX_BAD, -/* 1.302 */ "SuSE is unwilling to cooperate with the authors.\n"); -/* 1.302 */ errmsgno(EX_BAD, -/* 1.302 */ "If you like to have a working version of cdrtools, get the\n"); -/* 1.302 */ errmsgno(EX_BAD, -/* 1.302 */ "original source from ftp://ftp.berlios.de/pub/cdrecord/\n"); - - } -#endif -} diff -ru cdrtools-2.01+01a03/libscg/scsi-linux-sg.c cdrtools-2.01+01a03-defudded/libscg/scsi-linux-sg.c --- cdrtools-2.01+01a03/libscg/scsi-linux-sg.c 2005-05-16 22:48:37.000000000 +0100 +++ cdrtools-2.01+01a03-defudded/libscg/scsi-linux-sg.c 2006-07-18 20:50:22.000000000 +0100 @@ -520,19 +520,6 @@ if (b < 0 || b > 25) b = -1; } - if (scgp->overbose) { - /* - * Before you patch this away, are you sure that you - * know what you are going to to? - * - * Note that this is a warning that helps users from - * cdda2wav, mkisofs and other programs (that - * distinguish SCSI addresses from file names) from - * getting unexpected results. - */ - js_fprintf((FILE *)scgp->errfile, - "Warning: Open by 'devname' is unintentional and not supported.\n"); - } /* O_NONBLOCK is dangerous */ f = open(device, O_RDWR | O_NONBLOCK); /* if (f < 0 && errno == ENOENT)*/