pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/audio/cdparanoia Fix a problem with our hacked version...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8bd289119933
branches:  trunk
changeset: 481685:8bd289119933
user:      mycroft <mycroft%pkgsrc.org@localhost>
date:      Sun Oct 10 10:48:39 2004 +0000

description:
Fix a problem with our hacked version of cdda_identify_scsi() that was
causing kaudiocreator to fail with a mysterious "Unknown error".

diffstat:

 audio/cdparanoia/distinfo         |   4 +-
 audio/cdparanoia/patches/patch-cf |  55 ++++++++++++++++++++------------------
 2 files changed, 31 insertions(+), 28 deletions(-)

diffs (249 lines):

diff -r a768d11bd7d2 -r 8bd289119933 audio/cdparanoia/distinfo
--- a/audio/cdparanoia/distinfo Sun Oct 10 10:28:42 2004 +0000
+++ b/audio/cdparanoia/distinfo Sun Oct 10 10:48:39 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2004/06/01 20:58:38 shannonjr Exp $
+$NetBSD: distinfo,v 1.9 2004/10/10 10:48:39 mycroft Exp $
 
 SHA1 (cdparanoia-III-alpha9.8.src.tgz) = 04cc33a7d22d6255f6239e3e74195506b3bdde06
 Size (cdparanoia-III-alpha9.8.src.tgz) = 116591 bytes
@@ -13,7 +13,7 @@
 SHA1 (patch-cc) = 0980c20c8fcd11de11294dd8fed0f9555ea0ef0d
 SHA1 (patch-cd) = a2595237ddbaf35dfc1a5ce0bf7d1fa9244e1d67
 SHA1 (patch-ce) = 813f18a27808234a8a9139f0c53951b5fea83b37
-SHA1 (patch-cf) = ce4dc32047c2e382482a38d05144abefb376a87a
+SHA1 (patch-cf) = dd96eddefca6a6cd5794a483efa94005fdf8b9f8
 SHA1 (patch-cg) = d57b8019fd14baf0701a9a9f824a4f4bd64ab3ad
 SHA1 (patch-ch) = 73c38418cd7ab5fa5a072abfc78479fdd1d87787
 SHA1 (patch-ci) = cff3eaff31ea324d7bde5d0d840df57453085bec
diff -r a768d11bd7d2 -r 8bd289119933 audio/cdparanoia/patches/patch-cf
--- a/audio/cdparanoia/patches/patch-cf Sun Oct 10 10:28:42 2004 +0000
+++ b/audio/cdparanoia/patches/patch-cf Sun Oct 10 10:48:39 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-cf,v 1.4 2003/10/20 12:07:23 grant Exp $
+$NetBSD: patch-cf,v 1.5 2004/10/10 10:48:39 mycroft Exp $
 
 --- interface/scan_devices.c.orig      2001-03-26 15:44:01.000000000 +1000
 +++ interface/scan_devices.c
@@ -11,7 +11,7 @@
  #define MAX_DEV_LEN 20 /* Safe because strings only come from below */
  /* must be absolute paths! */
  static char *scsi_cdrom_prefixes[]={
-@@ -49,10 +51,18 @@ static char *cdrom_devices[]={
+@@ -49,10 +51,18 @@
    "/dev/cm206cd",
    "/dev/gscd",
    "/dev/optcd",NULL};
@@ -30,7 +30,7 @@
  cdrom_drive *cdda_find_a_cdrom(int messagedest,char **messages){
    /* Brute force... */
    
-@@ -75,10 +85,12 @@ cdrom_drive *cdda_find_a_cdrom(int messa
+@@ -75,10 +85,12 @@
        if((d=cdda_identify(buffer,messagedest,messages)))
          return(d);
        idmessage(messagedest,messages,"",NULL);
@@ -43,7 +43,7 @@
        }
      }else{
        /* Name.  Go for it. */
-@@ -98,6 +110,16 @@ cdrom_drive *cdda_find_a_cdrom(int messa
+@@ -98,6 +110,16 @@
    }
    return(NULL);
  }
@@ -60,7 +60,7 @@
  
  cdrom_drive *cdda_identify(const char *device, int messagedest,char **messages){
    struct stat st;
-@@ -117,8 +139,14 @@ cdrom_drive *cdda_identify(const char *d
+@@ -117,8 +139,14 @@
    }
  #endif
  
@@ -75,7 +75,7 @@
  
  #ifdef CDDA_TEST
    if(!d)d=cdda_identify_test(device,messagedest,messages);
-@@ -146,6 +174,7 @@ char *test_resolve_symlink(const char *f
+@@ -146,6 +174,7 @@
  cdrom_drive *cdda_identify_cooked(const char *dev, int messagedest,
                                  char **messages){
  
@@ -83,7 +83,7 @@
    cdrom_drive *d=NULL;
    struct stat st;
    int fd=-1;
-@@ -273,8 +302,59 @@ cdrom_drive *cdda_identify_cooked(const 
+@@ -273,8 +302,59 @@
    idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
    
    return(d);
@@ -143,7 +143,7 @@
  struct  sg_id {
    long    l1; /* target | lun << 8 | channel << 16 | low_ino << 24 */
    long    l2; /* Unique id */
-@@ -289,12 +369,18 @@ typedef struct scsiid{
+@@ -289,12 +369,18 @@
  /* Even *this* isn't as simple as it bloody well should be :-P */
  /* SG has an easy interface, but SCSI overall does not */
  static int get_scsi_id(int fd, scsiid *id){
@@ -162,7 +162,7 @@
    if(ioctl(fd,SCSI_IOCTL_GET_IDLUN,&argid))return(-1);
    id->bus=argid.l2; /* for now */
    id->id=argid.l1&0xff;
-@@ -302,6 +388,13 @@ static int get_scsi_id(int fd, scsiid *i
+@@ -302,6 +388,13 @@
  
    if(ioctl(fd,SCSI_IOCTL_GET_BUS_NUMBER,&busarg)==0)
      id->bus=busarg;
@@ -176,7 +176,7 @@
    
    return(0);
  }
-@@ -390,6 +483,7 @@ matchfail:
+@@ -390,6 +483,7 @@
    if(dev!=-1)close(dev);
    return(NULL);
  }
@@ -184,7 +184,7 @@
  
  void strscat(char *a,char *b,int n){
    int i;
-@@ -401,6 +495,7 @@ void strscat(char *a,char *b,int n){
+@@ -401,6 +495,7 @@
    strcat(a," ");
  }
  
@@ -192,7 +192,7 @@
  /* At this point, we're going to punt compatability before SG2, and
     allow only SG2 and SG3 */
  static int verify_SG_version(cdrom_drive *d,int messagedest,
-@@ -430,7 +525,9 @@ static int verify_SG_version(cdrom_drive
+@@ -430,7 +525,9 @@
    idmessage(messagedest,messages,buffer,"");
    return(major);
  }
@@ -202,7 +202,7 @@
  cdrom_drive *cdda_identify_scsi(const char *generic_device, 
                                const char *ioctl_device, int messagedest,
                                char **messages){
-@@ -460,6 +557,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -460,6 +557,7 @@
               generic_device);
        return(NULL);
      }
@@ -210,7 +210,7 @@
      if((int)(g_st.st_rdev>>8)!=SCSI_GENERIC_MAJOR){
        if((int)(g_st.st_rdev>>8)!=SCSI_CDROM_MAJOR){
        idmessage(messagedest,messages,"\t\t%s is not a SCSI device",
-@@ -471,6 +569,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -471,6 +569,7 @@
        ioctl_device=temp;
        }
      }
@@ -218,7 +218,7 @@
    }
    if(ioctl_device){
      if(stat(ioctl_device,&i_st)){
-@@ -478,6 +577,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -478,6 +577,7 @@
               ioctl_device);
        return(NULL);
      }
@@ -226,7 +226,7 @@
      if((int)(i_st.st_rdev>>8)!=SCSI_CDROM_MAJOR){
        if((int)(i_st.st_rdev>>8)!=SCSI_GENERIC_MAJOR){
        idmessage(messagedest,messages,"\t\t%s is not a SCSI device",
-@@ -489,6 +589,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -489,6 +589,7 @@
        ioctl_device=temp;
        }
      }
@@ -234,7 +234,7 @@
    }
  
    /* we need to resolve any symlinks for the lookup code to work */
-@@ -505,6 +606,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -505,6 +606,7 @@
    }
  
    if(!generic_device || !ioctl_device){
@@ -242,17 +242,20 @@
      if(generic_device){
        ioctl_device=
        scsi_match(generic_device,scsi_cdrom_prefixes,
-@@ -520,6 +622,9 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -520,6 +622,12 @@
        if(!generic_device)     
        goto cdda_identify_scsi_fail;
      }
 +#else
-+    goto cdda_identify_scsi_fail;
++    if(!generic_device)
++      generic_device = strdup(ioctl_device);
++    else
++      ioctl_device = strdup(generic_device);
 +#endif
    }
    
    idmessage(messagedest,messages,"\t\tgeneric device: %s",generic_device);
-@@ -556,6 +661,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -556,6 +664,7 @@
  
      type=(int)(i_st.st_rdev>>8);
  
@@ -260,7 +263,7 @@
      if(type==SCSI_CDROM_MAJOR){
        if (!S_ISBLK(i_st.st_mode)) {
        idmessage(messagedest,messages,"\t\tSCSI CDROM device %s not a "
-@@ -567,8 +673,10 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -567,8 +676,10 @@
                "major number",ioctl_device);
        goto cdda_identify_scsi_fail;
      }
@@ -271,7 +274,7 @@
    if((int)(g_st.st_rdev>>8)==SCSI_GENERIC_MAJOR){
      if (!S_ISCHR(g_st.st_mode)) {
        idmessage(messagedest,messages,"\t\tGeneric SCSI device %s not a "
-@@ -580,6 +688,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -580,6 +691,7 @@
              "major number",generic_device);
      goto cdda_identify_scsi_fail;
    }
@@ -279,7 +282,7 @@
    
  
    d=calloc(1,sizeof(cdrom_drive));
-@@ -590,6 +699,7 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -590,6 +702,7 @@
    d->bigendianp=-1; /* We don't know yet... */
    d->nsectors=-1;
  
@@ -287,7 +290,7 @@
    version=verify_SG_version(d,messagedest,messages);
    switch(version){
    case -1:case 0:case 1:
-@@ -599,6 +709,9 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -599,6 +712,9 @@
      d->interface=GENERIC_SCSI;
      break;
    }
@@ -297,7 +300,7 @@
  
    /* malloc our big buffer for scsi commands */
    d->sg=malloc(MAX_BIG_BUFF_SIZE);
-@@ -617,7 +730,16 @@ cdrom_drive *cdda_identify_scsi(const ch
+@@ -617,7 +733,16 @@
  
    /* It would seem some TOSHIBA CDROMs gets things wrong */
   
@@ -315,7 +318,7 @@
        !strncmp (p + 16, "CD-ROM", 6) &&
        p[0] == TYPE_DISK) {
      p[0] = TYPE_ROM;
-@@ -653,6 +775,87 @@ cdda_identify_scsi_fail:
+@@ -653,6 +778,87 @@
    if(g_fd!=-1)close(g_fd);
    return(NULL);
  }



Home | Main Index | Thread Index | Old Index