[cdrkit] Use system cdparanoia instead of old bundled version

Honza Horak hhorak at fedoraproject.org
Tue Jul 31 13:38:28 UTC 2012


commit 8b7640bda6eaaaa1722705473a6b65460602401f
Author: Honza HorĂ¡k <hhorak at redhat.com>
Date:   Tue Jul 31 10:34:21 2012 +0200

    Use system cdparanoia instead of old bundled version

 cdrkit-1.1.11-paranoiacdda.patch |  544 ++++++++++++++++++++++++++++++++++++++
 cdrkit.spec                      |   11 +-
 2 files changed, 554 insertions(+), 1 deletions(-)
---
diff --git a/cdrkit-1.1.11-paranoiacdda.patch b/cdrkit-1.1.11-paranoiacdda.patch
new file mode 100644
index 0000000..d2ce797
--- /dev/null
+++ b/cdrkit-1.1.11-paranoiacdda.patch
@@ -0,0 +1,544 @@
+diff -up cdrkit-1.1.11/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/CMakeLists.txt
+--- cdrkit-1.1.11/CMakeLists.txt.paranoiacdda	2012-07-30 16:41:47.206743081 +0200
++++ cdrkit-1.1.11/CMakeLists.txt	2012-07-30 16:41:47.275743077 +0200
+@@ -1,3 +1,3 @@
+ PROJECT (cdrkit C)
+-SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
++SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
+ 
+diff -up cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/icedax/CMakeLists.txt
+--- cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda	2012-07-30 16:41:47.256743078 +0200
++++ cdrkit-1.1.11/icedax/CMakeLists.txt	2012-07-30 16:41:47.265743077 +0200
+@@ -1,5 +1,5 @@
+ PROJECT (icedax C)
+-INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
++INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
+ include(../include/AddScgBits.cmake)
+ include(../include/AddSchilyBits.cmake)
+ include(../include/AddNetworkBits.cmake)
+@@ -18,12 +18,12 @@ IF(HAVE_LIBOSSAUDIO)
+    LIST(APPEND EXTRA_LIBS "ossaudio")
+ ENDIF(HAVE_LIBOSSAUDIO)
+ 
+-LIST(APPEND EXTRA_LIBS  paranoia)
++LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface)
+ IF (WIN32)
+ 	LIST(APPEND EXTRA_LIBS winmm)
+ ENDIF (WIN32)
+ 
+-LINK_DIRECTORIES(../librols ../libusal  ../libparanoia)
++LINK_DIRECTORIES(../librols ../libusal)
+ ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c)
+ TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS})
+ SET_TARGET_PROPERTIES(icedax PROPERTIES  SKIP_BUILD_RPATH TRUE)
+diff -up cdrkit-1.1.11/icedax/global.h.paranoiacdda cdrkit-1.1.11/icedax/global.h
+--- cdrkit-1.1.11/icedax/global.h.paranoiacdda	2012-07-30 16:41:47.259743081 +0200
++++ cdrkit-1.1.11/icedax/global.h	2012-07-30 16:41:47.255743077 +0200
+@@ -17,7 +17,8 @@
+ #include "md5.h"
+ #endif
+ #ifdef	USE_PARANOIA
+-#include "cdda_paranoia.h"
++#include <cdda/cdda_interface.h>
++#include <cdda/cdda_paranoia.h>
+ #endif
+ 
+ typedef struct index_list
+@@ -102,10 +103,10 @@ typedef struct global
+ 
+ 	struct paranoia_parms_t
+ 	{
+-	        Ucbit	disable_paranoia:1;
+-	        Ucbit	disable_extra_paranoia:1;
+-	        Ucbit	disable_scratch_detect:1;
+-	        Ucbit	disable_scratch_repair:1;
++	        char	disable_paranoia:1;
++	        char	disable_extra_paranoia:1;
++	        char	disable_scratch_detect:1;
++	        char	disable_scratch_repair:1;
+ 		int	retries;
+ 		int	overlap;
+ 		int	mindynoverlap;
+diff -up cdrkit-1.1.11/icedax/icedax.c.paranoiacdda cdrkit-1.1.11/icedax/icedax.c
+--- cdrkit-1.1.11/icedax/icedax.c.paranoiacdda	2012-07-30 16:41:47.263743078 +0200
++++ cdrkit-1.1.11/icedax/icedax.c	2012-07-30 16:42:52.902757497 +0200
+@@ -120,6 +120,10 @@
+ #ifdef	USE_LAME
+ #include "mp3.h"	/* mp3 file handling */
+ #endif
++#ifdef	USE_PARANOIA
++#include <cdda/cdda_interface.h>
++#include <cdda/cdda_paranoia.h>
++#endif
+ #include "interface.h"  /* low level cdrom interfacing */
+ #include "icedax.h"
+ #include "resample.h"
+@@ -128,9 +132,6 @@
+ #include "ringbuff.h"
+ #include "global.h"
+ #include "exitcodes.h"
+-#ifdef	USE_PARANOIA
+-#include "cdda_paranoia.h"
+-#endif
+ #include "defaults.h"
+ 
+ static void RestrictPlaybackRate(long newrate);
+@@ -800,7 +801,7 @@ static void init_globals()
+   global.useroverlap = -1;      /* amount of overlapping sectors user override */
+   global.need_hostorder = 0;	/* processing needs samples in host endianess */
+   global.in_lendian = -1;	/* input endianess from SetupSCSI() */
+-  global.outputendianess = NONE; /* user specified output endianess */
++  global.outputendianess = NONE_EN; /* user specified output endianess */
+   global.findminmax  =  0;	/* flag find extrem amplitudes */
+ #ifdef HAVE_LIMITS_H
+   global.maxamp[0] = INT_MIN;	/* maximum amplitude */
+@@ -2418,7 +2419,7 @@ Rate   Divider      Rate   Divider
+   if (bulk == -1) bulk = 0;
+ 
+   global.need_big_endian = global.audio_out->need_big_endian;
+-  if (global.outputendianess != NONE)
++  if (global.outputendianess != NONE_EN)
+     global.need_big_endian = global.outputendianess == BIG;
+ 
+   if (global.no_file) global.fname_base[0] = '\0';
+@@ -2602,7 +2603,7 @@ Rate   Divider      Rate   Divider
+     fputs( ", soundcard", stderr );
+ #endif
+ #if defined USE_PARANOIA
+-    fputs( ", libparanoia", stderr );
++    fputs( ", libcdda_paranoia", stderr );
+ #endif
+     fputs( " support\n", stderr );
+   }
+@@ -2892,8 +2893,28 @@ Rate   Divider      Rate   Divider
+ #ifdef	USE_PARANOIA
+ 	if (global.paranoia_selected) {
+ 		long paranoia_mode;
++		cdrom_drive *tmpdrive;
++		usal_close(get_scsi_p());
+ 
+-		global.cdp = paranoia_init(get_scsi_p(), global.nsectors);
++		tmpdrive = cdda_identify(global.dev_name, 0, NULL);
++		if (!tmpdrive)
++		{
++			fputs("Can't identify disc\n", stderr);
++                	return 1;
++		}
++
++		if(global.nsectors)
++		{
++		  tmpdrive->nsectors = global.nsectors;
++		  tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
++		}
++		if (cdda_open(tmpdrive) != 0)
++		{
++		  fputs("Can't open disc\n", stderr);
++		  cdda_close(tmpdrive);
++		  return 1;
++		}
++		global.cdp = paranoia_init(tmpdrive);
+ 
+ 		if (global.paranoia_parms.overlap >= 0) {
+ 			int	overlap = global.paranoia_parms.overlap;
+@@ -2902,17 +2923,7 @@ Rate   Divider      Rate   Divider
+ 				overlap = global.nsectors - 1;
+ 			paranoia_overlapset(global.cdp, overlap);
+ 		}
+-		/*
+-		 * Default to a  minimum of dynamic overlapping == 0.5 sectors.
+-		 * If we don't do this, we get the default from libparanoia
+-		 * which is approx. 0.1.
+-		 */
+-		if (global.paranoia_parms.mindynoverlap < 0)
+-			paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1);
+-		paranoia_dynoverlapset(global.cdp,
+-			global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS,
+-			global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS);
+-
++	
+ 		paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;
+ 
+ 		if (global.paranoia_parms.disable_paranoia) {
+diff -up cdrkit-1.1.11/icedax/icedax.h.paranoiacdda cdrkit-1.1.11/icedax/icedax.h
+--- cdrkit-1.1.11/icedax/icedax.h.paranoiacdda	2012-07-30 16:41:47.246743079 +0200
++++ cdrkit-1.1.11/icedax/icedax.h	2012-07-30 16:41:47.247743080 +0200
+@@ -41,7 +41,7 @@
+ 
+ /* Endianess */
+ #define GUESS (-2)
+-#define NONE (-1)
++#define NONE_EN (-1)
+ #define LITTLE 0
+ #define BIG 1
+ 
+diff -up cdrkit-1.1.11/icedax/interface.c.paranoiacdda cdrkit-1.1.11/icedax/interface.c
+--- cdrkit-1.1.11/icedax/interface.c.paranoiacdda	2012-07-30 16:41:47.261743079 +0200
++++ cdrkit-1.1.11/icedax/interface.c	2012-07-30 16:41:47.259743081 +0200
+@@ -116,7 +116,7 @@ int		(*Play_at)(SCSI *usalp, unsigned in
+ int		(*StopPlay)(SCSI *usalp);
+ void		(*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal);
+ 
+-#if	defined	USE_PARANOIA
++#if	0 //defined	USE_PARANOIA
+ long cdda_read(void *d, void *buffer, long beginsector, long sectors);
+ 
+ long cdda_read(void *d, void *buffer, long beginsector, long sectors)
+diff -up cdrkit-1.1.11/icedax/toc.c.paranoiacdda cdrkit-1.1.11/icedax/toc.c
+--- cdrkit-1.1.11/icedax/toc.c.paranoiacdda	2012-07-30 16:41:47.253743078 +0200
++++ cdrkit-1.1.11/icedax/toc.c	2012-07-30 16:41:47.258743080 +0200
+@@ -379,8 +379,7 @@ static void emit_cddb_form(char *fname_b
+ static void emit_cdindex_form(char *fname_baseval);
+ #endif
+ 
+-
+-typedef struct TOC {	/* structure of table of contents (cdrom) */
++typedef struct TOC_t {	/* structure of table of contents (cdrom) */
+ 	unsigned char reserved1;
+ 	unsigned char bFlags;
+ 	unsigned char bTrack;
+@@ -391,8 +390,7 @@ typedef struct TOC {	/* structure of tab
+ 	int frms;
+ 	unsigned char ISRC[16];
+ 	int	SCMS;
+-} TOC;
+-
++} TOC_t;
+ 
+ /* Flags contains two fields:
+     bits 7-4 (ADR)
+@@ -432,7 +430,7 @@ struct iterator {
+ 	int index;
+ 	int startindex;
+ 	void        (*reset)(struct iterator *this);
+-	struct TOC *(*getNextTrack)(struct iterator *this);
++	struct TOC_t *(*getNextTrack)(struct iterator *this);
+ 	int         (*hasNextTrack)(struct iterator *this);
+ };
+ 
+@@ -518,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks)
+ 		    InitIterator(&i, 1);
+ 
+ 	    while (i.hasNextTrack(&i)) {
+-		    struct TOC *p = i.getNextTrack(&i);
++		    struct TOC_t *p = i.getNextTrack(&i);
+ 		    if (IS__AUDIO(p)) count_audio_tracks++;
+ 	    }
+ 
+@@ -733,7 +731,7 @@ static void emit_cddb_form(char *fname_b
+   fprintf( cddb_form, "# Track frame offsets:\n#\n");
+ 
+   while (i.hasNextTrack(&i)) {
+-	  struct TOC *p = i.getNextTrack(&i);
++	  struct TOC_t *p = i.getNextTrack(&i);
+ 	  if (GETTRACK(p) == CDROM_LEADOUT) break;
+ 	  fprintf( cddb_form,
+ 		   "# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
+@@ -765,7 +763,7 @@ static void emit_cddb_form(char *fname_b
+ 
+   i.reset(&i);
+   while (i.hasNextTrack(&i)) {
+-	  struct TOC *p = i.getNextTrack(&i);
++	  struct TOC_t *p = i.getNextTrack(&i);
+ 	  int ii;
+ 
+ 	  ii = GETTRACK(p);
+@@ -788,7 +786,7 @@ static void emit_cddb_form(char *fname_b
+ 
+   i.reset(&i);
+   while (i.hasNextTrack(&i)) {
+-	  struct TOC *p = i.getNextTrack(&i);
++	  struct TOC_t *p = i.getNextTrack(&i);
+ 	  int ii;
+ 
+ 	  ii = GETTRACK(p);
+@@ -1495,7 +1493,7 @@ static int IsSingleArtist(void)
+ 	InitIterator(&i, 1);
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		struct TOC *p = i.getNextTrack(&i);
++		struct TOC_t *p = i.getNextTrack(&i);
+ 		int ii;
+ 
+ 		if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
+@@ -1681,7 +1679,7 @@ static void emit_cdindex_form(char *fnam
+ 	 global.creator ? ascii2html(global.creator) : "");
+ 
+     while (i.hasNextTrack(&i)) {
+-	    struct TOC *p = i.getNextTrack(&i);
++	    struct TOC_t *p = i.getNextTrack(&i);
+ 	    int ii = GETTRACK(p);
+ 
+ 	    if (ii == CDROM_LEADOUT) break;
+@@ -1703,7 +1701,7 @@ static void emit_cdindex_form(char *fnam
+     fprintf( cdindex_form, "   <MultipleArtistCD>\n");
+ 
+     while (i.hasNextTrack(&i)) {
+-	    struct TOC *p = i.getNextTrack(&i);
++	    struct TOC_t *p = i.getNextTrack(&i);
+ 	    int ii = GETTRACK(p);
+ 
+ 	    if (ii == CDROM_LEADOUT) break;
+@@ -1942,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned
+ 
+ 	if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
+ 	    && i.hasNextTrack(&i)) {
+-		TOC *o = i.getNextTrack(&i);
++		TOC_t *o = i.getNextTrack(&i);
+ 		while (i.hasNextTrack(&i)) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 			int from;
+ 			from = GETTRACK(o);
+ 
+@@ -2072,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l
+ 	count_audio_trks = 0;
+ 
+ 	if (i.hasNextTrack(&i)) {
+-		TOC *o = i.getNextTrack(&i);
++		TOC_t *o = i.getNextTrack(&i);
+ 		while (i.hasNextTrack(&i)) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 			int from;
+ 			from = GETTRACK(o);
+ 
+@@ -2131,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l
+ 	i.reset(&i);
+ 	if ((global.verbose & SHOW_TOC) != 0 &&
+ 		i.hasNextTrack(&i)) {
+-		TOC *o = i.getNextTrack(&i);
++		TOC_t *o = i.getNextTrack(&i);
+ 
+ 		for (; i.hasNextTrack(&i);) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 
+ 			if ( GETTRACK(o) <= MAXTRK ) {
+ 				unsigned char brace1, brace2;
+@@ -2189,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l
+ 		ii = 0;
+ 		i.reset(&i);
+ 		if (i.hasNextTrack(&i)) {
+-			TOC *o = i.getNextTrack(&i);
++			TOC_t *o = i.getNextTrack(&i);
+ 			for ( ; i.hasNextTrack(&i);) {
+-				TOC *p = i.getNextTrack(&i);
++				TOC_t *p = i.getNextTrack(&i);
+ 				fprintf ( stderr,
+ 					  " %2u.(%8u)",
+ 					  GETTRACK(o),
+@@ -2248,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l
+ 
+ 		i.reset(&i);
+ 		for ( ; i.hasNextTrack(&i);) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 			int jj = GETTRACK(p);
+ 
+ 			if ( global.tracktitle[jj] != NULL ) {
+@@ -2260,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l
+ 		
+ 		i.reset(&i);
+ 		for ( ; i.hasNextTrack(&i); ) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 			int jj;
+ 
+ 			if (IS__DATA(p))
+@@ -2720,7 +2718,7 @@ void Read_MCN_ISRC(void)
+ 		InitIterator(&i, 1);
+ 
+ 		while (i.hasNextTrack(&i)) {
+-			struct TOC *p = i.getNextTrack(&i);
++			struct TOC_t *p = i.getNextTrack(&i);
+ 			unsigned ii = GETTRACK(p);
+ 			
+ 			if (ii == CDROM_LEADOUT) break;
+@@ -3155,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns
+ 
+ 
+   while (i.hasNextTrack(&i)) {
+-	  struct TOC *p = i.getNextTrack(&i);
++	  struct TOC_t *p = i.getNextTrack(&i);
+ 	  unsigned ii = GETTRACK(p);
+ 
+ 	  if ( ii < starttrack || IS__DATA(p) )
+@@ -3322,7 +3320,7 @@ unsigned char *Get_MCN(void)
+ }
+ 
+ 
+-static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
++static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
+ 
+ /*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/
+ 
+@@ -3397,10 +3395,10 @@ static int patch_cd_extra(unsigned track
+ 
+ static int restrict_tracks_illleadout(void)
+ {
+-	struct TOC *o = &g_toc[cdtracks+1];
++	struct TOC_t *o = &g_toc[cdtracks+1];
+ 	int i;
+ 	for (i = cdtracks; i >= 0; i--) {
+-		struct TOC *p = &g_toc[i];
++		struct TOC_t *p = &g_toc[i];
+ 		if (GETSTART(o) > GETSTART(p)) break;
+ 	}
+ 	patch_cd_extra(i+1, GETSTART(o));
+@@ -3523,7 +3521,7 @@ static void it_reset(struct iterator *th
+ 
+ 
+ static int it_hasNextTrack(struct iterator *this);
+-static struct TOC *it_getNextTrack(struct iterator *this);
++static struct TOC_t *it_getNextTrack(struct iterator *this);
+ 
+ static int it_hasNextTrack(struct iterator *this)
+ {
+@@ -3532,7 +3530,7 @@ static int it_hasNextTrack(struct iterat
+ 
+ 
+ 
+-static struct TOC *it_getNextTrack(struct iterator *this)
++static struct TOC_t *it_getNextTrack(struct iterator *this)
+ {
+ 	/* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
+ 	if ( this->index > (int)cdtracks+1 ) return NULL;
+@@ -3583,7 +3581,7 @@ long Get_AudioStartSector(unsigned long
+ 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 
+ 		if (GETTRACK(p) == p_track) {
+ 			if (IS__DATA(p)) {
+@@ -3613,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra
+ 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 
+ 		if (GETTRACK(p) == p_track) {
+ 			return GETSTART(p);
+@@ -3637,7 +3635,7 @@ long Get_EndSector(unsigned long p_track
+ 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 		if (GETTRACK(p) == p_track) {
+ 			p = i.getNextTrack(&i);
+ 			if (p == NULL) {
+@@ -3669,7 +3667,7 @@ long FirstAudioTrack(void)
+ 	else i.reset(&i);
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 		unsigned ii = GETTRACK(p);
+ 
+ 		if (ii == CDROM_LEADOUT) break;
+@@ -3687,7 +3685,7 @@ long FirstDataTrack(void)
+ 	else i.reset(&i);
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 		if (IS__DATA(p)) {
+ 			return GETTRACK(p);
+ 		}
+@@ -3708,7 +3706,7 @@ long LastAudioTrack(void)
+ 	else i.reset(&i);
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 		if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
+ 			j = GETTRACK(p);
+ 		}
+@@ -3730,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_
+ 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 
+ 		if (GETTRACK(p) < p_track)
+ 			continue;
+@@ -3749,9 +3747,9 @@ int Get_Track(unsigned long sector)
+ 	else i.reset(&i);
+ 
+ 	if (i.hasNextTrack(&i)) {
+-		TOC *o = i.getNextTrack(&i);
++		TOC_t *o = i.getNextTrack(&i);
+ 		while (i.hasNextTrack(&i)) {
+-			TOC *p = i.getNextTrack(&i);
++			TOC_t *p = i.getNextTrack(&i);
+ 			if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
+ 				if (IS__DATA(o)) {
+ 					return -1;
+@@ -3772,7 +3770,7 @@ int CheckTrackrange(unsigned long from,
+ 	else i.reset(&i);
+ 
+ 	while (i.hasNextTrack(&i)) {
+-		TOC *p = i.getNextTrack(&i);
++		TOC_t *p = i.getNextTrack(&i);
+ 
+ 		if (GETTRACK(p) < from)
+ 			continue;
+@@ -3788,54 +3786,3 @@ int CheckTrackrange(unsigned long from,
+ 	return 0;
+ }
+ 
+-#ifdef	USE_PARANOIA
+-long cdda_disc_firstsector(void *d);
+-
+-long cdda_disc_firstsector(void *d)
+-{
+-	return Get_StartSector(FirstAudioTrack());
+-}
+-
+-int cdda_tracks(void *d);
+-
+-int cdda_tracks(void *d)
+-{
+-	return LastAudioTrack() - FirstAudioTrack() +1;
+-}
+-
+-int cdda_track_audiop(void *d, int track);
+-
+-int cdda_track_audiop(void *d, int track)
+-{
+-	return Get_Datatrack(track) == 0;
+-}
+-
+-long cdda_track_firstsector(void *d, int track);
+-
+-long cdda_track_firstsector(void *d, int track)
+-{
+-	return Get_AudioStartSector(track);
+-}
+-
+-long cdda_track_lastsector(void *d, int track);
+-
+-long cdda_track_lastsector(void *d, int track)
+-{
+-	return Get_EndSector(track);
+-}
+-
+-long cdda_disc_lastsector(void *d);
+-
+-long cdda_disc_lastsector(void *d)
+-{
+-	return Get_LastSectorOnCd(cdtracks) - 1;
+-}
+-
+-int cdda_sector_gettrack(void *d,long sector);
+-
+-int cdda_sector_gettrack(void *d, long sector)
+-{
+-	return Get_Track(sector);
+-}
+-
+-#endif
diff --git a/cdrkit.spec b/cdrkit.spec
index 1a0c87a..9860457 100644
--- a/cdrkit.spec
+++ b/cdrkit.spec
@@ -1,7 +1,7 @@
 Summary: A collection of CD/DVD utilities
 Name: cdrkit
 Version: 1.1.11
-Release: 11%{?dist}
+Release: 12%{?dist}
 License: GPLv2
 Group: Applications/System
 URL: http://cdrkit.org/
@@ -20,8 +20,10 @@ Patch10: cdrkit-1.1.11-readsegfault.patch
 Patch11: cdrkit-1.1.11-format.patch
 Patch12: cdrkit-1.1.11-handler.patch
 Patch13: cdrkit-1.1.11-dvdman.patch
+Patch14: cdrkit-1.1.11-paranoiacdda.patch
 
 BuildRequires: cmake libcap-devel zlib-devel perl file-devel bzip2-devel
+BuildRequires: cdparanoia-devel
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -114,6 +116,10 @@ for developing applications that use libusal.
 %patch11 -p1 -b .format
 %patch12 -p1 -b .handler
 %patch13 -p1 -b .dvdman
+%patch14 -p1 -b .paranoiacdda
+
+# we do not want bundled paranoia library
+rm -rf libparanoia
 
 find . -type f -print0 | xargs -0 perl -pi -e 's#/usr/local/bin/perl#/usr/bin/perl#g'
 find doc -type f -print0 | xargs -0 chmod a-x 
@@ -269,6 +275,9 @@ fi
 %{_includedir}/usal
 
 %changelog
+* Mon Jul 30 2012 Honza Horak <hhorak at redhat.com> - 1.1.11-12
+- Use system cdparanoia instead of old bundled version
+
 * Wed Jul 18 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.1.11-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 


More information about the scm-commits mailing list