cdparanoia 10.2
This commit is contained in:
parent
540860d1cb
commit
85bbf8f87b
@ -1 +1 @@
|
|||||||
cdparanoia-III-10.1.src.tgz
|
cdparanoia-III-10.2.src.tgz
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -up cdparanoia-III-10.0/header.c.headers cdparanoia-III-10.0/header.c
|
|
||||||
diff -up cdparanoia-III-10.0/paranoia/gap.c.headers cdparanoia-III-10.0/paranoia/gap.c
|
|
||||||
--- cdparanoia-III-10.0/paranoia/gap.c.headers 2008-05-12 17:20:49.000000000 -0400
|
|
||||||
+++ cdparanoia-III-10.0/paranoia/gap.c 2008-07-15 10:24:21.000000000 -0400
|
|
||||||
@@ -9,6 +9,7 @@
|
|
||||||
#include "p_block.h"
|
|
||||||
#include "cdda_paranoia.h"
|
|
||||||
#include "gap.h"
|
|
||||||
+#include <string.h>
|
|
||||||
|
|
||||||
/**** Gap analysis code ***************************************************/
|
|
||||||
|
|
@ -1,155 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/scan_devices.c.O_EXCL 2001-03-26 00:44:01.000000000 -0500
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scan_devices.c 2003-05-20 14:33:16.000000000 -0400
|
|
||||||
@@ -148,7 +148,7 @@
|
|
||||||
|
|
||||||
cdrom_drive *d=NULL;
|
|
||||||
struct stat st;
|
|
||||||
- int fd=-1;
|
|
||||||
+ int fd=-1, i;
|
|
||||||
int type;
|
|
||||||
char *description=NULL;
|
|
||||||
char *device;
|
|
||||||
@@ -180,7 +180,12 @@
|
|
||||||
/* Yay, ATAPI... */
|
|
||||||
/* Ping for CDROM-ness */
|
|
||||||
|
|
||||||
- fd=open(device,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ fd=open(device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ for (i = 0; (i<10) && (fd == -1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", device, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ fd = open(device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ }
|
|
||||||
if(fd==-1){
|
|
||||||
idperror(messagedest,messages,"\t\tUnable to open %s",device);
|
|
||||||
free(device);
|
|
||||||
@@ -250,14 +255,6 @@
|
|
||||||
return(NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if(fd==-1)fd=open(device,O_RDONLY|O_NONBLOCK);
|
|
||||||
- if(fd==-1){
|
|
||||||
- idperror(messagedest,messages,"\t\tUnable to open %s",device);
|
|
||||||
- free(device);
|
|
||||||
- if(description)free(description);
|
|
||||||
- return(NULL);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* Minimum init */
|
|
||||||
|
|
||||||
d=calloc(1,sizeof(cdrom_drive));
|
|
||||||
@@ -311,12 +308,19 @@
|
|
||||||
char *devfs_test,
|
|
||||||
char *devfs_other,
|
|
||||||
char *prompt,int messagedest,char **messages){
|
|
||||||
- int dev=open(device,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ int dev=-1;
|
|
||||||
scsiid a,b;
|
|
||||||
|
|
||||||
int i,j;
|
|
||||||
char buffer[200];
|
|
||||||
|
|
||||||
+ dev=open(device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ for (i = 0; (i<10) && (dev == -1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", device, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ dev = open(device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* if we're running under /devfs, build the device name from the
|
|
||||||
device we already have */
|
|
||||||
if(!strncmp(device,devfs_test,strlen(devfs_test))){
|
|
||||||
@@ -327,6 +331,11 @@
|
|
||||||
int matchf;
|
|
||||||
sprintf(pos,"/%s",devfs_other);
|
|
||||||
matchf=open(buffer,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ for (i = 0; (i<10) && (matchf==-1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 seconds.\n", buffer, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ matchf = open(buffer,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ }
|
|
||||||
if(matchf!=-1){
|
|
||||||
close(matchf);
|
|
||||||
close(dev);
|
|
||||||
@@ -353,7 +362,7 @@
|
|
||||||
for(i=0;i<25;i++){
|
|
||||||
for(j=0;j<2;j++){
|
|
||||||
int pattern=0;
|
|
||||||
- int matchf;
|
|
||||||
+ int matchf, k;
|
|
||||||
|
|
||||||
while(prefixes[pattern]!=NULL){
|
|
||||||
switch(j){
|
|
||||||
@@ -368,6 +377,12 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
matchf=open(buffer,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ for (k = 0; (k<10) && (matchf==-1); k++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", buffer, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ matchf=open(buffer,O_RDONLY|O_NONBLOCK);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if(matchf!=-1){
|
|
||||||
if(get_scsi_id(matchf,&b)==0){
|
|
||||||
if(a.bus==b.bus && a.id==b.id && a.lun==b.lun){
|
|
||||||
@@ -438,7 +453,7 @@
|
|
||||||
cdrom_drive *d=NULL;
|
|
||||||
struct stat i_st;
|
|
||||||
struct stat g_st;
|
|
||||||
- int i_fd=-1;
|
|
||||||
+ int i_fd=-1, i;
|
|
||||||
int g_fd=-1;
|
|
||||||
int version;
|
|
||||||
int type;
|
|
||||||
@@ -534,8 +549,20 @@
|
|
||||||
goto cdda_identify_scsi_fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if(ioctl_device)i_fd=open(ioctl_device,O_RDONLY|O_NONBLOCK);
|
|
||||||
- g_fd=open(generic_device,O_RDWR);
|
|
||||||
+ if(ioctl_device) {
|
|
||||||
+ i_fd=open(ioctl_device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ for(i=0; (i<10) && (i_fd==-1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", ioctl_device, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ i_fd=open(ioctl_device,O_RDONLY|O_NONBLOCK|O_EXCL);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ g_fd=open(generic_device,O_RDWR|O_EXCL);
|
|
||||||
+ for(i=0; (i<10) && (g_fd==-1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", generic_device, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ g_fd=open(generic_device,O_RDWR|O_EXCL);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if(ioctl_device && i_fd==-1)
|
|
||||||
idperror(messagedest,messages,"\t\tCould not open SCSI cdrom device "
|
|
||||||
@@ -661,7 +688,7 @@
|
|
||||||
|
|
||||||
cdrom_drive *d=NULL;
|
|
||||||
struct stat st;
|
|
||||||
- int fd=-1;
|
|
||||||
+ int fd=-1,i;
|
|
||||||
|
|
||||||
idmessage(messagedest,messages,"\tTesting %s for file/test interface",
|
|
||||||
filename);
|
|
||||||
@@ -678,7 +705,17 @@
|
|
||||||
return(NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
- fd=open(filename,O_RDONLY);
|
|
||||||
+ /* I'm not certain this one nees O_EXCL, but it can't hurt */
|
|
||||||
+ fd=open(filename,O_RDONLY|O_EXCL);
|
|
||||||
+ for(i=0; (i<10) && (fd==-1); i++) {
|
|
||||||
+ fprintf(stderr, "Error trying to open %s exclusively (%s). retrying in 1 second.\n", filename, strerror(errno));
|
|
||||||
+ usleep(1000000 + 100000.0 * rand()/(RAND_MAX+1.0));
|
|
||||||
+ fd=open(filename,O_RDONLY|O_EXCL);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if(ioctl_device && i_fd==-1)
|
|
||||||
+ idperror(messagedest,messages,"\t\tCould not open SCSI cdrom device "
|
|
||||||
+ "%s (continuing)",ioctl_device);
|
|
||||||
|
|
||||||
if(fd==-1){
|
|
||||||
idperror(messagedest,messages,"\t\tCould not open file %s",filename);
|
|
@ -1,52 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/configure.in.cflags 2000-03-26 02:33:22.000000000 -0500
|
|
||||||
+++ cdparanoia-III-alpha9.8/configure.in 2004-03-30 11:59:04.861801016 -0500
|
|
||||||
@@ -19,18 +19,18 @@
|
|
||||||
case $host in
|
|
||||||
i?86-*-linux*)
|
|
||||||
DEBUG="-g -Wall -fsigned-char"
|
|
||||||
- OPT="-O20 -ffast-math -fsigned-char -finline-functions";;
|
|
||||||
+ OPT="-ffast-math -fsigned-char -finline-functions";;
|
|
||||||
*)
|
|
||||||
DEBUG="-g -Wall -fsigned-char"
|
|
||||||
- OPT="-O20 -fsigned-char";;
|
|
||||||
+ OPT="-fsigned-char";;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_HEADER_STDC
|
|
||||||
|
|
||||||
-CFLAGS=""
|
|
||||||
+# CFLAGS=""
|
|
||||||
|
|
||||||
-TYPESIZES=""
|
|
||||||
+# TYPESIZES=""
|
|
||||||
|
|
||||||
AC_CHECK_SIZEOF(short)
|
|
||||||
AC_CHECK_SIZEOF(int)
|
|
||||||
--- cdparanoia-III-alpha9.8/configure.cflags 2000-04-15 11:13:01.000000000 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/configure 2004-03-30 11:58:52.932614528 -0500
|
|
||||||
@@ -892,10 +892,10 @@
|
|
||||||
case $host in
|
|
||||||
i?86-*-linux*)
|
|
||||||
DEBUG="-g -Wall -fsigned-char"
|
|
||||||
- OPT="-O20 -ffast-math -fsigned-char -finline-functions";;
|
|
||||||
+ OPT="-ffast-math -fsigned-char -finline-functions";;
|
|
||||||
*)
|
|
||||||
DEBUG="-g -Wall -fsigned-char"
|
|
||||||
- OPT="-O20 -fsigned-char";;
|
|
||||||
+ OPT="-fsigned-char";;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -1084,9 +1084,9 @@
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
-CFLAGS=""
|
|
||||||
+# CFLAGS=""
|
|
||||||
|
|
||||||
-TYPESIZES=""
|
|
||||||
+# TYPESIZES=""
|
|
||||||
|
|
||||||
echo $ac_n "checking size of short""... $ac_c" 1>&6
|
|
||||||
echo "configure:1093: checking size of short" >&5
|
|
@ -1,46 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/scsi_interface.c.env 2004-09-30 11:36:29.495045730 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scsi_interface.c 2004-09-30 11:35:52.261283378 -0400
|
|
||||||
@@ -177,8 +177,11 @@
|
|
||||||
* "allocation, so be more conservative: 32kB max until I test more
|
|
||||||
* thoroughly". We're not currently honoring that, because we should
|
|
||||||
* always get -ENOMEM.
|
|
||||||
+ *
|
|
||||||
+ * Updated: but we don't always get -ENOMEM. Sometimes USB drives
|
|
||||||
+ * still fail the wrong way. This needs some kernel-land investigation.
|
|
||||||
*/
|
|
||||||
-#if 0
|
|
||||||
+#if 1
|
|
||||||
cur=(cur>1024*32?1024*32:cur);
|
|
||||||
#endif
|
|
||||||
d->nsectors=cur/CD_FRAMESIZE_RAW;
|
|
||||||
--- cdparanoia-III-alpha9.8/interface/scan_devices.c.env 2004-09-30 11:30:55.422135762 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scan_devices.c 2004-09-30 11:34:04.815523677 -0400
|
|
||||||
@@ -104,6 +104,7 @@
|
|
||||||
cdrom_drive *cdda_identify(const char *device, int messagedest,char **messages){
|
|
||||||
struct stat st;
|
|
||||||
cdrom_drive *d=NULL;
|
|
||||||
+ char *transport = getenv("CDDA_TRANSPORT");
|
|
||||||
idmessage(messagedest,messages,"Checking %s for cdrom...",device);
|
|
||||||
|
|
||||||
if(stat(device,&st)){
|
|
||||||
@@ -120,11 +121,15 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SG_IO
|
|
||||||
- d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
||||||
- if(!d)d=cdda_identify_cooked(device,messagedest,messages);
|
|
||||||
-#else
|
|
||||||
- if(!d)d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
||||||
- d=cdda_identify_cooked(device,messagedest,messages);
|
|
||||||
+ if (transport && !strcasecmp(transport, "cooked")) {
|
|
||||||
+#endif
|
|
||||||
+ d=cdda_identify_cooked(device,messagedest,messages);
|
|
||||||
+ if(!d)d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
||||||
+#ifdef SG_IO
|
|
||||||
+ } else {
|
|
||||||
+ d=cdda_identify_scsi(device,NULL,messagedest,messages);
|
|
||||||
+ if(!d)d=cdda_identify_cooked(device,messagedest,messages);
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CDDA_TEST
|
|
@ -1,38 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/utils.h.labels 2003-05-06 10:35:43.000000000 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/utils.h 2003-05-06 10:36:05.000000000 -0400
|
|
||||||
@@ -110,8 +110,6 @@
|
|
||||||
case CDDA_MESSAGE_LOGIT:
|
|
||||||
d->errorbuf=catstring(d->errorbuf,s);
|
|
||||||
break;
|
|
||||||
- case CDDA_MESSAGE_FORGETIT:
|
|
||||||
- default:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -125,8 +123,6 @@
|
|
||||||
case CDDA_MESSAGE_LOGIT:
|
|
||||||
d->messagebuf=catstring(d->messagebuf,s);
|
|
||||||
break;
|
|
||||||
- case CDDA_MESSAGE_FORGETIT:
|
|
||||||
- default:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -167,8 +163,6 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case CDDA_MESSAGE_FORGETIT:
|
|
||||||
- default:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(malloced)free(buffer);
|
|
||||||
@@ -203,8 +197,6 @@
|
|
||||||
if(!malloced)*messages=catstring(*messages,"\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case CDDA_MESSAGE_FORGETIT:
|
|
||||||
- default:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(malloced)free(buffer);
|
|
@ -1,22 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/paranoia/Makefile.in.lr 2005-10-15 22:22:30.000000000 +0200
|
|
||||||
+++ cdparanoia-III-alpha9.8/paranoia/Makefile.in 2005-10-15 22:23:40.000000000 +0200
|
|
||||||
@@ -44,7 +44,7 @@
|
|
||||||
$(RANLIB) libcdda_paranoia.a
|
|
||||||
|
|
||||||
libcdda_paranoia.so: $(OFILES)
|
|
||||||
- $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES)
|
|
||||||
+ $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
|
|
||||||
[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
|
|
||||||
[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so
|
|
||||||
|
|
||||||
--- cdparanoia-III-alpha9.8/interface/Makefile.in.lr 2005-10-15 22:28:13.000000000 +0200
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/Makefile.in 1999-12-14 05:27:59.000000000 +0100
|
|
||||||
@@ -46,7 +46,7 @@
|
|
||||||
$(RANLIB) libcdda_interface.a
|
|
||||||
|
|
||||||
libcdda_interface.so: $(OFILES)
|
|
||||||
- $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES)
|
|
||||||
+ $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) -lm
|
|
||||||
[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
|
|
||||||
[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/scsi_interface.c.louder 2004-04-23 12:18:20.561275440 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scsi_interface.c 2004-04-23 12:24:37.853918240 -0400
|
|
||||||
@@ -197,16 +197,41 @@
|
|
||||||
memset(hdr->dxferp, sgi->bytefill, sgi->dxferp_buffer_len);
|
|
||||||
memcpy(hdr->cmdp, cmdp, cmd_len);
|
|
||||||
|
|
||||||
- hdr->cmd_len = cmd_len;
|
|
||||||
+ sgi->cmd_len = hdr->cmd_len = cmd_len;
|
|
||||||
|
|
||||||
sgi->in_size = in_size;
|
|
||||||
sgi->out_size = out_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
+void print_cmd_error(cdrom_drive *d, char *direction, char *cmdp, int cmdlen) {
|
|
||||||
+ unsigned char ebuf[1024], tmp[2];
|
|
||||||
+ int x=0;
|
|
||||||
+
|
|
||||||
+ sprintf(ebuf, "\nError %s command: ", direction);
|
|
||||||
+ cdmessage(d, ebuf);
|
|
||||||
+ tmp[1] = 0;
|
|
||||||
+ while (x < cmdlen) {
|
|
||||||
+ if (x % 8 == 0)
|
|
||||||
+ cdmessage(d, " ");
|
|
||||||
+ if (x % 16 == 0) {
|
|
||||||
+ cdmessage(d, "\n");
|
|
||||||
+ if (x+1 < cmdlen)
|
|
||||||
+ cdmessage(d, "\t");
|
|
||||||
+ }
|
|
||||||
+ tmp[0] = cmdp[x];
|
|
||||||
+ sprintf(ebuf, "%02x ", tmp[0]);
|
|
||||||
+ cdmessage(d, ebuf);
|
|
||||||
+ x++;
|
|
||||||
+ }
|
|
||||||
+ if (!(x % 16 == 0))
|
|
||||||
+ cdmessage(d, "\n");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int sgio_handle_scsi_cmd(cdrom_drive *d) {
|
|
||||||
int status = 0;
|
|
||||||
struct sg_info *sgi = (struct sg_info *)d->sg;
|
|
||||||
struct sg_io_hdr *hdr = sgi->hdr;
|
|
||||||
+ char ebuf[256];
|
|
||||||
|
|
||||||
if (sgi->in_size) {
|
|
||||||
hdr->dxfer_len = sgi->in_size;
|
|
||||||
@@ -217,8 +242,10 @@
|
|
||||||
if (status >= 0)
|
|
||||||
if (hdr->status)
|
|
||||||
status = check_sbp_error(hdr->sbp);
|
|
||||||
- if (status < 0)
|
|
||||||
+ if (status < 0) {
|
|
||||||
+ print_cmd_error(d, "writing", sgi->cmdp, sgi->cmd_len);
|
|
||||||
return TR_EWRITE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
if (!sgi->in_size | sgi->out_size) {
|
|
||||||
hdr->dxfer_len = sgi->out_size;
|
|
||||||
@@ -226,14 +253,18 @@
|
|
||||||
|
|
||||||
errno = 0;
|
|
||||||
status = ioctl(d->cdda_fd, SG_IO, hdr);
|
|
||||||
- if (status < 0)
|
|
||||||
+ if (status < 0) {
|
|
||||||
+ print_cmd_error(d, "reading", hdr->cmdp, hdr->cmd_len);
|
|
||||||
return TR_EREAD;
|
|
||||||
+ }
|
|
||||||
if (status >= 0)
|
|
||||||
if (hdr->status)
|
|
||||||
status = check_sbp_error(hdr->sbp);
|
|
||||||
}
|
|
||||||
- if (status)
|
|
||||||
+ if (status) {
|
|
||||||
+ print_cmd_error(d, "reading", hdr->cmdp, hdr->cmd_len);
|
|
||||||
return status;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
errno = 0;
|
|
||||||
return 0;
|
|
||||||
@@ -352,6 +383,7 @@
|
|
||||||
struct sg_header *hdr = (struct sg_header *)sgi->hdr;
|
|
||||||
|
|
||||||
sgi->cmdp = (char *)hdr + sizeof (struct sg_header);
|
|
||||||
+ sgi->cmd_len = cmd_len;
|
|
||||||
memcpy(sgi->cmdp, cmdp, cmd_len);
|
|
||||||
|
|
||||||
sgi->dxferp = sgi->cmdp + cmd_len;
|
|
@ -1,10 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/Makefile.in.nostrip Mon Jun 17 16:01:55 2002
|
|
||||||
+++ cdparanoia-III-alpha9.8/Makefile.in Tue Mar 27 17:46:58 2001
|
|
||||||
@@ -44,7 +44,6 @@
|
|
||||||
cd interface && $(MAKE) all
|
|
||||||
cd paranoia && $(MAKE) all
|
|
||||||
$(MAKE) cdparanoia CFLAGS="$(OPT)"
|
|
||||||
- strip cdparanoia
|
|
||||||
|
|
||||||
debug:
|
|
||||||
cd interface && $(MAKE) debug
|
|
@ -1,27 +0,0 @@
|
|||||||
diff -up cdparanoia-III-10.0/interface/scsi_interface.c.setspeed cdparanoia-III-10.0/interface/scsi_interface.c
|
|
||||||
--- cdparanoia-III-10.0/interface/scsi_interface.c.setspeed 2008-05-14 14:59:15.000000000 -0400
|
|
||||||
+++ cdparanoia-III-10.0/interface/scsi_interface.c 2008-07-15 10:23:42.000000000 -0400
|
|
||||||
@@ -1616,6 +1616,14 @@ unsigned char *scsi_inquiry(cdrom_drive
|
|
||||||
return (d->sg_buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Set operating speed */
|
|
||||||
+static int scsi_setspeed(cdrom_drive *d, int speed)
|
|
||||||
+{
|
|
||||||
+ if(d->cdda_fd!=-1)
|
|
||||||
+ return ioctl(d->cdda_fd, CDROM_SELECT_SPEED, speed);
|
|
||||||
+ else
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
|
|
||||||
int scsi_init_drive(cdrom_drive *d){
|
|
||||||
int ret;
|
|
||||||
@@ -1660,7 +1668,7 @@ int scsi_init_drive(cdrom_drive *d){
|
|
||||||
|
|
||||||
d->read_toc = (!memcmp(d->drive_model, "IMS", 3) && !d->is_atapi) ? scsi_read_toc2 :
|
|
||||||
scsi_read_toc;
|
|
||||||
- d->set_speed = NULL;
|
|
||||||
+ d->set_speed = scsi_setspeed;
|
|
||||||
|
|
||||||
|
|
||||||
if(!d->is_atapi){
|
|
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/scsi_interface.c.smalldma 2004-10-06 16:15:50.778406009 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scsi_interface.c 2004-10-06 16:17:51.438686857 -0400
|
|
||||||
@@ -169,8 +169,6 @@
|
|
||||||
|
|
||||||
cur=table*reserved;
|
|
||||||
|
|
||||||
- ((struct sg_info *)d->sg)->dxferp_max_buffer_len = cur;
|
|
||||||
-
|
|
||||||
/* so since we never go above q->max_sectors, we should never get -EIO.
|
|
||||||
* we might still get -ENOMEM, but we back off for that later. Monty
|
|
||||||
* had an old comment: "not too much; new kernels have trouble with DMA
|
|
||||||
@@ -182,8 +180,12 @@
|
|
||||||
* still fail the wrong way. This needs some kernel-land investigation.
|
|
||||||
*/
|
|
||||||
#if 1
|
|
||||||
- cur=(cur>1024*32?1024*32:cur);
|
|
||||||
+ if (!getenv("CDDA_IGNORE_BUFSIZE_LIMIT")) {
|
|
||||||
+ cur=(cur>2352*24?2352*24:cur);
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
+ ((struct sg_info *)d->sg)->dxferp_max_buffer_len = cur;
|
|
||||||
+
|
|
||||||
d->nsectors=cur/CD_FRAMESIZE_RAW;
|
|
||||||
d->bigbuff=cur;
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/main.c.verbose 2004-04-21 13:07:58.608136480 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/main.c 2004-04-21 13:09:04.660095056 -0400
|
|
||||||
@@ -851,7 +851,7 @@
|
|
||||||
if(verbose)
|
|
||||||
cdda_verbose_set(d,CDDA_MESSAGE_PRINTIT,CDDA_MESSAGE_PRINTIT);
|
|
||||||
else
|
|
||||||
- cdda_verbose_set(d,CDDA_MESSAGE_PRINTIT,CDDA_MESSAGE_FORGETIT);
|
|
||||||
+ cdda_verbose_set(d,CDDA_MESSAGE_FORGETIT,CDDA_MESSAGE_FORGETIT);
|
|
||||||
|
|
||||||
/* possibly force hand on endianness of drive, sector request size */
|
|
||||||
if(force_cdrom_endian!=-1){
|
|
||||||
@@ -1032,10 +1032,12 @@
|
|
||||||
paranoia_modeset(p,paranoia_mode);
|
|
||||||
if(force_cdrom_overlap!=-1)paranoia_overlapset(p,force_cdrom_overlap);
|
|
||||||
|
|
||||||
+#if 0
|
|
||||||
if(verbose)
|
|
||||||
cdda_verbose_set(d,CDDA_MESSAGE_LOGIT,CDDA_MESSAGE_LOGIT);
|
|
||||||
else
|
|
||||||
cdda_verbose_set(d,CDDA_MESSAGE_FORGETIT,CDDA_MESSAGE_FORGETIT);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
paranoia_seek(p,cursor=first_sector,SEEK_SET);
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
--- cdparanoia-III-alpha9.8/interface/scan_devices.c.verbosity3 2004-07-06 23:22:03.000000000 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/interface/scan_devices.c 2004-07-06 23:22:03.000000000 -0400
|
|
||||||
@@ -522,6 +522,7 @@
|
|
||||||
d->ioctl_fd=fd;
|
|
||||||
d->bigendianp=-1; /* We don't know yet... */
|
|
||||||
d->nsectors=-1;
|
|
||||||
+ d->messagedest=messagedest;
|
|
||||||
|
|
||||||
d->interface=GENERIC_SCSI;
|
|
||||||
|
|
||||||
--- cdparanoia-III-alpha9.8/report.c.verbosity3 1999-08-15 17:52:30.000000000 -0400
|
|
||||||
+++ cdparanoia-III-alpha9.8/report.c 2004-07-06 23:22:03.000000000 -0400
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
#include "interface/cdda_interface.h"
|
|
||||||
|
|
||||||
int quiet=0;
|
|
||||||
-int verbose=CDDA_MESSAGE_FORGETIT;
|
|
||||||
+int verbose=CDDA_MESSAGE_PRINTIT;
|
|
||||||
|
|
||||||
void report(char *s){
|
|
||||||
if(!quiet){
|
|
@ -1,25 +1,12 @@
|
|||||||
%define ver 10
|
%define ver 10
|
||||||
|
|
||||||
Name: cdparanoia
|
Name: cdparanoia
|
||||||
Version: 10.1
|
Version: 10.2
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
# the app is GPLv2, everything else is LGPLv2
|
# the app is GPLv2, everything else is LGPLv2
|
||||||
License: GPLv2 and LGPLv2
|
License: GPLv2 and LGPLv2
|
||||||
Group: Applications/Multimedia
|
Group: Applications/Multimedia
|
||||||
Source: http://downloads.xiph.org/releases/%{name}/%{name}-III-%{version}.src.tgz
|
Source: http://downloads.xiph.org/releases/%{name}/%{name}-III-%{version}.src.tgz
|
||||||
Patch0: cdparanoia-III-alpha9.8.nostrip.patch
|
|
||||||
Patch1: cdparanoia-III-alpha9.8.labels.patch
|
|
||||||
Patch2: cdparanoia-III-alpha9.8.O_EXCL.patch
|
|
||||||
Patch3: cdparanoia-III-alpha9.8.cflags.patch
|
|
||||||
Patch4: cdparanoia-III-alpha9.8.sgio.patch
|
|
||||||
Patch5: cdparanoia-III-alpha9.8.verbose.patch
|
|
||||||
Patch6: cdparanoia-III-alpha9.8.louder.patch
|
|
||||||
Patch7: cdparanoia-III-alpha9.8.verbosity3.patch
|
|
||||||
Patch8: cdparanoia-III-alpha9.8.env.patch
|
|
||||||
Patch9: cdparanoia-III-alpha9.8.smalldma.patch
|
|
||||||
Patch10: cdparanoia-III-alpha9.8.lm.patch
|
|
||||||
Patch11: cdparanoia-III-alpha9.8.scsi-setspeed.patch
|
|
||||||
Patch12: cdparanoia-III-10.0-headers.patch
|
|
||||||
Url: http://www.xiph.org/paranoia/index.html
|
Url: http://www.xiph.org/paranoia/index.html
|
||||||
BuildRoot: %{_tmppath}/cdparanoia-%{version}-root
|
BuildRoot: %{_tmppath}/cdparanoia-%{version}-root
|
||||||
Requires: cdparanoia-libs = %{version}-%{release}
|
Requires: cdparanoia-libs = %{version}-%{release}
|
||||||
@ -57,19 +44,6 @@ applications which read CD Digital Audio disks.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-III-%{version}
|
%setup -q -n %{name}-III-%{version}
|
||||||
#patch4 -p1 -b .sgio
|
|
||||||
#patch0 -p1 -b .nostrip
|
|
||||||
#patch1 -p1 -b .labels
|
|
||||||
#patch2 -p1 -b .O_EXCL
|
|
||||||
#patch3 -p1 -b .cflags
|
|
||||||
#patch5 -p1 -b .verbose
|
|
||||||
#patch6 -p1 -b .louder
|
|
||||||
#patch7 -p1 -b .verbosity3
|
|
||||||
#patch8 -p1 -b .env
|
|
||||||
#patch9 -p1 -b .smalldma
|
|
||||||
#patch10 -p1 -b .lm
|
|
||||||
%patch11 -p1 -b .setspeed
|
|
||||||
%patch12 -p1 -b .headers
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -88,8 +62,8 @@ install -m 0755 cdparanoia $RPM_BUILD_ROOT%{_bindir}
|
|||||||
install -m 0644 cdparanoia.1 $RPM_BUILD_ROOT%{_mandir}/man1/
|
install -m 0644 cdparanoia.1 $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||||
install -m 0644 utils.h paranoia/cdda_paranoia.h interface/cdda_interface.h \
|
install -m 0644 utils.h paranoia/cdda_paranoia.h interface/cdda_interface.h \
|
||||||
$RPM_BUILD_ROOT%{_includedir}/cdda
|
$RPM_BUILD_ROOT%{_includedir}/cdda
|
||||||
install -m 0755 paranoia/libcdda_paranoia.so.0.10.0 \
|
install -m 0755 paranoia/libcdda_paranoia.so.0.10.? \
|
||||||
interface/libcdda_interface.so.0.10.0 \
|
interface/libcdda_interface.so.0.10.? \
|
||||||
$RPM_BUILD_ROOT%{_libdir}
|
$RPM_BUILD_ROOT%{_libdir}
|
||||||
install -m 0755 paranoia/libcdda_paranoia.a interface/libcdda_interface.a \
|
install -m 0755 paranoia/libcdda_paranoia.a interface/libcdda_interface.a \
|
||||||
$RPM_BUILD_ROOT%{_libdir}
|
$RPM_BUILD_ROOT%{_libdir}
|
||||||
@ -97,8 +71,8 @@ install -m 0755 paranoia/libcdda_paranoia.a interface/libcdda_interface.a \
|
|||||||
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_libdir}
|
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_libdir}
|
||||||
|
|
||||||
pushd $RPM_BUILD_ROOT%{_libdir}
|
pushd $RPM_BUILD_ROOT%{_libdir}
|
||||||
ln -s libcdda_paranoia.so.0.10.0 libcdda_paranoia.so
|
ln -s libcdda_paranoia.so.0.10.? libcdda_paranoia.so
|
||||||
ln -s libcdda_interface.so.0.10.0 libcdda_interface.so
|
ln -s libcdda_interface.so.0.10.? libcdda_interface.so
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%post -n cdparanoia-libs
|
%post -n cdparanoia-libs
|
||||||
@ -128,6 +102,9 @@ fi
|
|||||||
%{_libdir}/*.a
|
%{_libdir}/*.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 11 2008 Adam Jackson <ajax@redhat.com> 10.2-1
|
||||||
|
- cdparanoia 10.2
|
||||||
|
|
||||||
* Wed Aug 13 2008 Adam Jackson <ajax@redhat.com> 10.1-1
|
* Wed Aug 13 2008 Adam Jackson <ajax@redhat.com> 10.1-1
|
||||||
- Update to 10.1, just changes the license back.
|
- Update to 10.1, just changes the license back.
|
||||||
|
|
||||||
|
1
import.log
Normal file
1
import.log
Normal file
@ -0,0 +1 @@
|
|||||||
|
cdparanoia-10_2-1_fc10:HEAD:cdparanoia-10.2-1.fc10.src.rpm:1221174408
|
Loading…
Reference in New Issue
Block a user