aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/cdparanoia/cdparanoia
diff options
context:
space:
mode:
authorStuart Gray <stuartgray@simpleaudio.co.uk>2009-11-10 15:32:32 +0100
committerKoen Kooi <k-kooi@ti.com>2009-11-11 22:28:34 +0100
commite614930c63c23d27b85fe5c23c97b72b8d6b9604 (patch)
treedf6f9fad947a31c8d86698cdc671296c0e195cc2 /recipes/cdparanoia/cdparanoia
parent8777759b209f8b6006243adf356fbdc4cefe71a1 (diff)
downloadopenembedded-e614930c63c23d27b85fe5c23c97b72b8d6b9604.tar.gz
cdparanoia 9.8alpha: run recipe through oe-stylize.py cdparanoia 10.2: add new recipe
Diffstat (limited to 'recipes/cdparanoia/cdparanoia')
-rw-r--r--recipes/cdparanoia/cdparanoia/Makefile.in.patch13
-rw-r--r--recipes/cdparanoia/cdparanoia/Makefile.patch19
-rw-r--r--recipes/cdparanoia/cdparanoia/cdparanoia-III-10.2-privatefix.patch561
-rw-r--r--recipes/cdparanoia/cdparanoia/fixes.patch63
-rw-r--r--recipes/cdparanoia/cdparanoia/fixes10.patch25
-rw-r--r--recipes/cdparanoia/cdparanoia/interface_Makefile.in.patch11
-rw-r--r--recipes/cdparanoia/cdparanoia/paranoia_Makefile.in.patch11
7 files changed, 703 insertions, 0 deletions
diff --git a/recipes/cdparanoia/cdparanoia/Makefile.in.patch b/recipes/cdparanoia/cdparanoia/Makefile.in.patch
new file mode 100644
index 0000000000..40cf4ad516
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/Makefile.in.patch
@@ -0,0 +1,13 @@
+--- cdparanoia-III-10.2/Makefile.in.orig 2009-01-27 23:32:15.000000000 +0100
++++ cdparanoia-III-10.2/Makefile.in 2009-01-27 23:32:53.000000000 +0100
+@@ -87,8 +87,9 @@
+ $(LIBDIR)/libcdda_paranoia.so
+
+ cdparanoia: $(OFILES) $(LIBDEP)
+- $(LD) $(CFLAGS) $(LDFLAGS) $(OFILES) \
++ $(LD) $(CFLAGS) \
+ -L$(PWD)/paranoia -L$(PWD)/interface \
++ $(LDFLAGS) $(OFILES) \
+ -o cdparanoia $(LIBS)
+
+ .c.o:
diff --git a/recipes/cdparanoia/cdparanoia/Makefile.patch b/recipes/cdparanoia/cdparanoia/Makefile.patch
new file mode 100644
index 0000000000..798ccf9003
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/Makefile.patch
@@ -0,0 +1,19 @@
+*** cdparanoia-III-alpha9.8/Makefile.in- Mon Mar 27 23:09:24 2006
+--- cdparanoia-III-alpha9.8/Makefile.in Mon Mar 27 23:09:56 2006
+***************
+*** 44,50 ****
+ cd interface && $(MAKE) all
+ cd paranoia && $(MAKE) all
+ $(MAKE) cdparanoia CFLAGS="$(OPT)"
+! strip cdparanoia
+
+ debug:
+ cd interface && $(MAKE) debug
+--- 44,50 ----
+ cd interface && $(MAKE) all
+ cd paranoia && $(MAKE) all
+ $(MAKE) cdparanoia CFLAGS="$(OPT)"
+! $(STRIP) cdparanoia
+
+ debug:
+ cd interface && $(MAKE) debug
diff --git a/recipes/cdparanoia/cdparanoia/cdparanoia-III-10.2-privatefix.patch b/recipes/cdparanoia/cdparanoia/cdparanoia-III-10.2-privatefix.patch
new file mode 100644
index 0000000000..55f39b26da
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/cdparanoia-III-10.2-privatefix.patch
@@ -0,0 +1,561 @@
+diff -ru cdparanoia-III-10.2/interface/cdda_interface.h cdparanoia-III-10.2-mod/interface/cdda_interface.h
+--- cdparanoia-III-10.2/interface/cdda_interface.h 2008-09-11 11:43:52.000000000 +0100
++++ cdparanoia-III-10.2-mod/interface/cdda_interface.h 2009-09-08 16:08:37.000000000 +0100
+@@ -84,7 +84,7 @@
+ int is_atapi;
+ int is_mmc;
+
+- cdda_private_data_t *private;
++ cdda_private_data_t *impl;
+ void *reserved;
+ unsigned char inqbytes[4];
+
+diff -ru cdparanoia-III-10.2/interface/cooked_interface.c cdparanoia-III-10.2-mod/interface/cooked_interface.c
+--- cdparanoia-III-10.2/interface/cooked_interface.c 2008-08-26 10:55:22.000000000 +0100
++++ cdparanoia-III-10.2-mod/interface/cooked_interface.c 2009-09-08 16:09:35.000000000 +0100
+@@ -13,13 +13,13 @@
+ static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
+ struct timespec tv1;
+ struct timespec tv2;
+- int ret1=clock_gettime(d->private->clock,&tv1);
++ int ret1=clock_gettime(d->impl->clock,&tv1);
+ int ret2=ioctl(fd, command,arg);
+- int ret3=clock_gettime(d->private->clock,&tv2);
++ int ret3=clock_gettime(d->impl->clock,&tv2);
+ if(ret1<0 || ret3<0){
+- d->private->last_milliseconds=-1;
++ d->impl->last_milliseconds=-1;
+ }else{
+- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
++ d->impl->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+ }
+ return ret2;
+ }
+diff -ru cdparanoia-III-10.2/interface/interface.c cdparanoia-III-10.2-mod/interface/interface.c
+--- cdparanoia-III-10.2/interface/interface.c 2008-09-11 11:43:52.000000000 +0100
++++ cdparanoia-III-10.2-mod/interface/interface.c 2009-09-08 16:09:50.000000000 +0100
+@@ -39,9 +39,9 @@
+ if(d->drive_model)free(d->drive_model);
+ if(d->cdda_fd!=-1)close(d->cdda_fd);
+ if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
+- if(d->private){
+- if(d->private->sg_hd)free(d->private->sg_hd);
+- free(d->private);
++ if(d->impl){
++ if(d->impl->sg_hd)free(d->impl->sg_hd);
++ free(d->impl);
+ }
+
+ free(d);
+@@ -127,7 +127,7 @@
+ }
+ }
+ }
+- if(ms)*ms=d->private->last_milliseconds;
++ if(ms)*ms=d->impl->last_milliseconds;
+ return(sectors);
+ }
+
+diff -ru cdparanoia-III-10.2/interface/scan_devices.c cdparanoia-III-10.2-mod/interface/scan_devices.c
+--- cdparanoia-III-10.2/interface/scan_devices.c 2008-08-26 10:55:22.000000000 +0100
++++ cdparanoia-III-10.2-mod/interface/scan_devices.c 2009-09-08 16:09:17.000000000 +0100
+@@ -264,11 +264,11 @@
+ d->interface=COOKED_IOCTL;
+ d->bigendianp=-1; /* We don't know yet... */
+ d->nsectors=-1;
+- d->private=calloc(1,sizeof(*d->private));
++ d->impl=calloc(1,sizeof(*d->impl));
+ {
+ /* goddamnit */
+ struct timespec tv;
+- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
++ d->impl->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+ }
+ idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
+ return(d);
+@@ -674,15 +674,15 @@
+ d->bigendianp=-1; /* We don't know yet... */
+ d->nsectors=-1;
+ d->messagedest = messagedest;
+- d->private=calloc(1,sizeof(*d->private));
++ d->impl=calloc(1,sizeof(*d->impl));
+ {
+ /* goddamnit */
+ struct timespec tv;
+- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
++ d->impl->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+ }
+ if(use_sgio){
+ d->interface=SGIO_SCSI;
+- d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
++ d->impl->sg_buffer=(unsigned char *)(d->impl->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
+ g_fd=d->cdda_fd=dup(d->ioctl_fd);
+ }else{
+ version=verify_SG_version(d,messagedest,messages);
+@@ -696,8 +696,8 @@
+ }
+
+ /* malloc our big buffer for scsi commands */
+- d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
+- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
++ d->impl->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
++ d->impl->sg_buffer=((unsigned char *)d->impl->sg_hd)+SG_OFF;
+ }
+
+ {
+@@ -772,9 +772,9 @@
+ if(i_fd!=-1)close(i_fd);
+ if(g_fd!=-1)close(g_fd);
+ if(d){
+- if(d->private){
+- if(d->private->sg_hd)free(d->private->sg_hd);
+- free(d->private);
++ if(d->impl){
++ if(d->impl->sg_hd)free(d->impl->sg_hd);
++ free(d->impl);
+ }
+ free(d);
+ }
+@@ -821,7 +821,7 @@
+ d->interface=TEST_INTERFACE;
+ d->bigendianp=-1; /* We don't know yet... */
+ d->nsectors=-1;
+- d->private=calloc(1,sizeof(*d->private));
++ d->impl=calloc(1,sizeof(*d->impl));
+ d->drive_model=copystring("File based test interface");
+ idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);
+
+diff -ru cdparanoia-III-10.2/interface/scsi_interface.c cdparanoia-III-10.2-mod/interface/scsi_interface.c
+--- cdparanoia-III-10.2/interface/scsi_interface.c 2008-09-11 21:33:30.000000000 +0100
++++ cdparanoia-III-10.2-mod/interface/scsi_interface.c 2009-09-08 16:10:30.000000000 +0100
+@@ -15,13 +15,13 @@
+ static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
+ struct timespec tv1;
+ struct timespec tv2;
+- int ret1=clock_gettime(d->private->clock,&tv1);
++ int ret1=clock_gettime(d->impl->clock,&tv1);
+ int ret2=ioctl(fd, command,arg);
+- int ret3=clock_gettime(d->private->clock,&tv2);
++ int ret3=clock_gettime(d->impl->clock,&tv2);
+ if(ret1<0 || ret3<0){
+- d->private->last_milliseconds=-1;
++ d->impl->last_milliseconds=-1;
+ }else{
+- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
++ d->impl->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+ }
+ return ret2;
+ }
+@@ -96,7 +96,7 @@
+ static void clear_garbage(cdrom_drive *d){
+ fd_set fdset;
+ struct timeval tv;
+- struct sg_header *sg_hd=d->private->sg_hd;
++ struct sg_header *sg_hd=d->impl->sg_hd;
+ int flag=0;
+
+ /* clear out any possibly preexisting garbage */
+@@ -185,7 +185,7 @@
+ struct timespec tv2;
+ int tret1,tret2;
+ int status = 0;
+- struct sg_header *sg_hd=d->private->sg_hd;
++ struct sg_header *sg_hd=d->impl->sg_hd;
+ long writebytes=SG_OFF+cmd_len+in_size;
+
+ /* generic scsi device services */
+@@ -195,7 +195,7 @@
+
+ memset(sg_hd,0,sizeof(sg_hd));
+ memset(sense_buffer,0,SG_MAX_SENSE);
+- memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
++ memcpy(d->impl->sg_buffer,cmd,cmd_len+in_size);
+ sg_hd->twelve_byte = cmd_len == 12;
+ sg_hd->result = 0;
+ sg_hd->reply_len = SG_OFF + out_size;
+@@ -209,7 +209,7 @@
+ tell if the command failed. Scared yet? */
+
+ if(bytecheck && out_size>in_size){
+- memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
++ memset(d->impl->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
+ /* the size does not remove cmd_len due to the way the kernel
+ driver copies buffers */
+ writebytes+=(out_size-in_size);
+@@ -243,7 +243,7 @@
+ }
+
+ sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
+- tret1=clock_gettime(d->private->clock,&tv1);
++ tret1=clock_gettime(d->impl->clock,&tv1);
+ errno=0;
+ status = write(d->cdda_fd, sg_hd, writebytes );
+
+@@ -289,7 +289,7 @@
+ }
+ }
+
+- tret2=clock_gettime(d->private->clock,&tv2);
++ tret2=clock_gettime(d->impl->clock,&tv2);
+ errno=0;
+ status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
+ sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL );
+@@ -313,7 +313,7 @@
+ if(bytecheck && in_size+cmd_len<out_size){
+ long i,flag=0;
+ for(i=in_size;i<out_size;i++)
+- if(d->private->sg_buffer[i]!=bytefill){
++ if(d->impl->sg_buffer[i]!=bytefill){
+ flag=1;
+ break;
+ }
+@@ -326,9 +326,9 @@
+
+ errno=0;
+ if(tret1<0 || tret2<0){
+- d->private->last_milliseconds=-1;
++ d->impl->last_milliseconds=-1;
+ }else{
+- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
++ d->impl->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
+ }
+ return(0);
+ }
+@@ -347,7 +347,7 @@
+
+ memset(&hdr,0,sizeof(hdr));
+ memset(sense,0,sizeof(sense));
+- memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
++ memcpy(d->impl->sg_buffer,cmd+cmd_len,in_size);
+
+ hdr.cmdp = cmd;
+ hdr.cmd_len = cmd_len;
+@@ -355,7 +355,7 @@
+ hdr.mx_sb_len = SG_MAX_SENSE;
+ hdr.timeout = 50000;
+ hdr.interface_id = 'S';
+- hdr.dxferp = d->private->sg_buffer;
++ hdr.dxferp = d->impl->sg_buffer;
+ hdr.flags = SG_FLAG_DIRECT_IO; /* direct IO if we can get it */
+
+ /* scary buffer fill hack */
+@@ -400,7 +400,7 @@
+ if(bytecheck && in_size<out_size){
+ long i,flag=0;
+ for(i=in_size;i<out_size;i++)
+- if(d->private->sg_buffer[i]!=bytefill){
++ if(d->impl->sg_buffer[i]!=bytefill){
+ flag=1;
+ break;
+ }
+@@ -412,7 +412,7 @@
+ }
+
+ /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
+- /* d->private->last_milliseconds = hdr.duration; */
++ /* d->impl->last_milliseconds = hdr.duration; */
+
+ errno = 0;
+ return 0;
+@@ -445,9 +445,9 @@
+
+ handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
+
+- key = d->private->sg_buffer[2] & 0xf;
+- ASC = d->private->sg_buffer[12];
+- ASCQ = d->private->sg_buffer[13];
++ key = d->impl->sg_buffer[2] & 0xf;
++ ASC = d->impl->sg_buffer[12];
++ ASCQ = d->impl->sg_buffer[13];
+
+ if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
+ return 1;
+@@ -492,7 +492,7 @@
+ if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1);
+
+ {
+- unsigned char *b=d->private->sg_buffer;
++ unsigned char *b=d->impl->sg_buffer;
+ if(b[0])return(1); /* Handles only up to 256 bytes */
+ if(b[6])return(1); /* Handles only up to 256 bytes */
+
+@@ -604,8 +604,8 @@
+ static unsigned int get_orig_sectorsize(cdrom_drive *d){
+ if(mode_sense(d,12,0x01))return(-1);
+
+- d->orgdens = d->private->sg_buffer[4];
+- return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
++ d->orgdens = d->impl->sg_buffer[4];
++ return(d->orgsize = ((int)(d->impl->sg_buffer[10])<<8)+d->impl->sg_buffer[11]);
+ }
+
+ /* switch CDROM scsi drives to given sector size */
+@@ -664,8 +664,8 @@
+ return(-4);
+ }
+
+- first=d->private->sg_buffer[2];
+- last=d->private->sg_buffer[3];
++ first=d->impl->sg_buffer[2];
++ last=d->impl->sg_buffer[3];
+ tracks=last-first+1;
+
+ if (last > MAXTRK || first > MAXTRK || last<0 || first<0) {
+@@ -683,7 +683,7 @@
+ return(-5);
+ }
+ {
+- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
++ scsi_TOC *toc=(scsi_TOC *)(d->impl->sg_buffer+4);
+
+ d->disc_toc[i-first].bFlags=toc->bFlags;
+ d->disc_toc[i-first].bTrack=i;
+@@ -704,7 +704,7 @@
+ return(-2);
+ }
+ {
+- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
++ scsi_TOC *toc=(scsi_TOC *)(d->impl->sg_buffer+4);
+
+ d->disc_toc[i-first].bFlags=toc->bFlags;
+ d->disc_toc[i-first].bTrack=0xAA;
+@@ -738,7 +738,7 @@
+ }
+
+ /* copy to our structure and convert start sector */
+- tracks = d->private->sg_buffer[1];
++ tracks = d->impl->sg_buffer[1];
+ if (tracks > MAXTRK) {
+ cderror(d,"003: CDROM reporting illegal number of tracks\n");
+ return(-3);
+@@ -754,33 +754,33 @@
+ return(-5);
+ }
+
+- d->disc_toc[i].bFlags = d->private->sg_buffer[10];
++ d->disc_toc[i].bFlags = d->impl->sg_buffer[10];
+ d->disc_toc[i].bTrack = i + 1;
+
+ d->disc_toc[i].dwStartSector= d->adjust_ssize *
+- (((signed char)(d->private->sg_buffer[2])<<24) |
+- (d->private->sg_buffer[3]<<16)|
+- (d->private->sg_buffer[4]<<8)|
+- (d->private->sg_buffer[5]));
++ (((signed char)(d->impl->sg_buffer[2])<<24) |
++ (d->impl->sg_buffer[3]<<16)|
++ (d->impl->sg_buffer[4]<<8)|
++ (d->impl->sg_buffer[5]));
+ }
+
+ d->disc_toc[i].bFlags = 0;
+ d->disc_toc[i].bTrack = i + 1;
+- memcpy (&foo, d->private->sg_buffer+2, 4);
+- memcpy (&bar, d->private->sg_buffer+6, 4);
++ memcpy (&foo, d->impl->sg_buffer+2, 4);
++ memcpy (&bar, d->impl->sg_buffer+6, 4);
+ d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
+ be32_to_cpu(bar));
+
+ d->disc_toc[i].dwStartSector= d->adjust_ssize *
+- ((((signed char)(d->private->sg_buffer[2])<<24) |
+- (d->private->sg_buffer[3]<<16)|
+- (d->private->sg_buffer[4]<<8)|
+- (d->private->sg_buffer[5]))+
++ ((((signed char)(d->impl->sg_buffer[2])<<24) |
++ (d->impl->sg_buffer[3]<<16)|
++ (d->impl->sg_buffer[4]<<8)|
++ (d->impl->sg_buffer[5]))+
+
+- ((((signed char)(d->private->sg_buffer[6])<<24) |
+- (d->private->sg_buffer[7]<<16)|
+- (d->private->sg_buffer[8]<<8)|
+- (d->private->sg_buffer[9]))));
++ ((((signed char)(d->impl->sg_buffer[6])<<24) |
++ (d->impl->sg_buffer[7]<<16)|
++ (d->impl->sg_buffer[8]<<8)|
++ (d->impl->sg_buffer[9]))));
+
+
+ d->cd_extra = FixupTOC(d,tracks+1);
+@@ -817,7 +817,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -836,7 +836,7 @@
+ cmd[9] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -854,7 +854,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -872,7 +872,7 @@
+ cmd[9] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -890,7 +890,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -908,7 +908,7 @@
+ cmd[9] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -922,7 +922,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -936,7 +936,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -950,7 +950,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -964,7 +964,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -978,7 +978,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -992,7 +992,7 @@
+ cmd[8] = sectors;
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -1026,7 +1026,7 @@
+
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -1039,7 +1039,7 @@
+
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -1052,7 +1052,7 @@
+
+ if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
+ return(ret);
+- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
++ if(p)memcpy(p,d->impl->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+ return(0);
+ }
+
+@@ -1275,7 +1275,7 @@
+ static int count_2352_bytes(cdrom_drive *d){
+ long i;
+ for(i=2351;i>=0;i--)
+- if(d->private->sg_buffer[i]!=(unsigned char)'\177')
++ if(d->impl->sg_buffer[i]!=(unsigned char)'\177')
+ return(((i+3)>>2)<<2);
+
+ return(0);
+@@ -1284,7 +1284,7 @@
+ static int verify_nonzero(cdrom_drive *d){
+ long i,flag=0;
+ for(i=0;i<2352;i++)
+- if(d->private->sg_buffer[i]!=0){
++ if(d->impl->sg_buffer[i]!=0){
+ flag=1;
+ break;
+ }
+@@ -1625,7 +1625,7 @@
+ d->is_mmc=0;
+ if(mode_sense(d,22,0x2A)==0){
+
+- b=d->private->sg_buffer;
++ b=d->impl->sg_buffer;
+ b+=b[3]+4;
+
+ if((b[0]&0x3F)==0x2A){
+@@ -1673,7 +1673,7 @@
+ cderror(d,"008: Unable to identify CDROM model\n");
+ return(NULL);
+ }
+- return (d->private->sg_buffer);
++ return (d->impl->sg_buffer);
+ }
+
+ int scsi_init_drive(cdrom_drive *d){
+@@ -1742,8 +1742,8 @@
+ check_cache(d);
+
+ d->error_retry=1;
+- d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
+- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
++ d->impl->sg_hd=realloc(d->impl->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
++ d->impl->sg_buffer=((unsigned char *)d->impl->sg_hd)+SG_OFF;
+ d->report_all=1;
+ return(0);
+ }
diff --git a/recipes/cdparanoia/cdparanoia/fixes.patch b/recipes/cdparanoia/cdparanoia/fixes.patch
new file mode 100644
index 0000000000..6ffc8a6af9
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/fixes.patch
@@ -0,0 +1,63 @@
+--- cdparanoia-III-alpha9.8/configure.in 2000-03-26 00:33:22.000000000 -0700
++++ cdparanoia-III-alpha9.8.new/configure.in 2004-12-23 16:34:04.072846728 -0700
+@@ -1,7 +1,7 @@
+ AC_INIT(interface/interface.c)
+
+-cp $srcdir/configure.guess $srcdir/config.guess
+-cp $srcdir/configure.sub $srcdir/config.sub
++#cp $srcdir/configure.guess $srcdir/config.guess
++#cp $srcdir/configure.sub $srcdir/config.sub
+
+ AC_CANONICAL_HOST
+
+--- cdparanoia-III-alpha9.8/interface/utils.h 2000-04-19 15:41:04.000000000 -0700
++++ cdparanoia-III-alpha9.8.new/interface/utils.h 2004-12-23 16:37:11.126410264 -0700
+@@ -111,7 +111,7 @@
+ d->errorbuf=catstring(d->errorbuf,s);
+ break;
+ case CDDA_MESSAGE_FORGETIT:
+- default:
++ default: ;
+ }
+ }
+ }
+@@ -126,7 +126,7 @@
+ d->messagebuf=catstring(d->messagebuf,s);
+ break;
+ case CDDA_MESSAGE_FORGETIT:
+- default:
++ default: ;
+ }
+ }
+ }
+@@ -168,7 +168,7 @@
+ }
+ break;
+ case CDDA_MESSAGE_FORGETIT:
+- default:
++ default: ;
+ }
+ }
+ if(malloced)free(buffer);
+@@ -204,7 +204,7 @@
+ }
+ break;
+ case CDDA_MESSAGE_FORGETIT:
+- default:
++ default: ;
+ }
+ }
+ if(malloced)free(buffer);
+--- cdparanoia-III-alpha9.8/interface/scan_devices.c 2001-03-25 22:44:01.000000000 -0700
++++ cdparanoia-III-alpha9.8.new/interface/scan_devices.c 2004-12-23 16:38:47.128815680 -0700
+@@ -19,6 +19,10 @@
+ #include "common_interface.h"
+ #include "utils.h"
+
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
+ #define MAX_DEV_LEN 20 /* Safe because strings only come from below */
+ /* must be absolute paths! */
+ static char *scsi_cdrom_prefixes[]={
diff --git a/recipes/cdparanoia/cdparanoia/fixes10.patch b/recipes/cdparanoia/cdparanoia/fixes10.patch
new file mode 100644
index 0000000000..414ff3944d
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/fixes10.patch
@@ -0,0 +1,25 @@
+--- cdparanoia-III-alpha9.8/configure.in 2000-03-26 00:33:22.000000000 -0700
++++ cdparanoia-III-alpha9.8.new/configure.in 2004-12-23 16:34:04.072846728 -0700
+@@ -1,7 +1,7 @@
+ AC_INIT(interface/interface.c)
+
+-cp $srcdir/configure.guess $srcdir/config.guess
+-cp $srcdir/configure.sub $srcdir/config.sub
++#cp $srcdir/configure.guess $srcdir/config.guess
++#cp $srcdir/configure.sub $srcdir/config.sub
+
+ AC_CANONICAL_HOST
+
+--- cdparanoia-III-alpha9.8/interface/scan_devices.c 2001-03-25 22:44:01.000000000 -0700
++++ cdparanoia-III-alpha9.8.new/interface/scan_devices.c 2004-12-23 16:38:47.128815680 -0700
+@@ -19,6 +19,10 @@
+ #include "common_interface.h"
+ #include "utils.h"
+
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
+ #define MAX_DEV_LEN 20 /* Safe because strings only come from below */
+ /* must be absolute paths! */
+ static char *scsi_cdrom_prefixes[]={
diff --git a/recipes/cdparanoia/cdparanoia/interface_Makefile.in.patch b/recipes/cdparanoia/cdparanoia/interface_Makefile.in.patch
new file mode 100644
index 0000000000..4dbd2bb19a
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/interface_Makefile.in.patch
@@ -0,0 +1,11 @@
+--- cdparanoia-III-10.2/interface/Makefile.in.orig 2009-01-27 23:52:42.000000000 +0100
++++ cdparanoia-III-10.2/interface/Makefile.in 2009-01-27 23:53:27.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) $(LIBS)
++ $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) $(LDFLAGS) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
+ [ -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
+
diff --git a/recipes/cdparanoia/cdparanoia/paranoia_Makefile.in.patch b/recipes/cdparanoia/cdparanoia/paranoia_Makefile.in.patch
new file mode 100644
index 0000000000..962a43a634
--- /dev/null
+++ b/recipes/cdparanoia/cdparanoia/paranoia_Makefile.in.patch
@@ -0,0 +1,11 @@
+--- cdparanoia-III-10.2/paranoia/Makefile.in.orig 2009-01-27 23:54:45.000000000 +0100
++++ cdparanoia-III-10.2/paranoia/Makefile.in 2009-01-27 23:55:05.000000000 +0100
+@@ -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) -L ../interface -lcdda_interface
++ $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) $(LDFLAGS) -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
+