Re: Bug#660022: [Pkg-opt-media-team] Bug#660403: transition status
tag 660403 + pending
thanks
On Tue, 2012-02-28 at 23:06 +0000, Adam D. Barratt wrote:
> On Tue, 2012-02-28 at 18:59 -0300, Rogério Brito wrote:
> > On Tue, Feb 28, 2012 at 18:07, Adam D. Barratt <adam@adam-barratt.org.uk> wrote:
> > > The packages which have not been successfully rebuilt thus far are:
> > >
> > > - cdparanoia - maintainers, are there plans for an upload to resolve
> > > #660403? If not, would you be averse to an NMU purely containing the
> > > updated kBSD patch?
> >
> > Feel free to go ahead. Let us get kFBSD in shape. I'm OK with a 0-day NMU.
>
> Thanks. I'll look at that over the next couple of days or so.
As agreed, please find attached the diff for the NMU which I'll be
uploading shortly.
Regards,
Adam
diff -Nru cdparanoia-3.10.2+debian/debian/changelog cdparanoia-3.10.2+debian/debian/changelog
--- cdparanoia-3.10.2+debian/debian/changelog 2010-11-06 16:55:13.000000000 +0000
+++ cdparanoia-3.10.2+debian/debian/changelog 2012-02-29 18:41:09.000000000 +0000
@@ -1,3 +1,11 @@
+cdparanoia (3.10.2+debian-10.1) unstable; urgency=medium
+
+ * Non-maintainer upload with maintainer's consent.
+ * Urgency "medium" for transition-related RC bug fix.
+ * Fix FTBFS on kfreebsd caused by libcam API changes. (Closes: #660403)
+
+ -- Adam D. Barratt <adam@adam-barratt.org.uk> Wed, 29 Feb 2012 18:34:44 +0000
+
cdparanoia (3.10.2+debian-10) unstable; urgency=low
[ Rogério Brito ]
diff -Nru cdparanoia-3.10.2+debian/debian/patches/05-kfreebsd.patch cdparanoia-3.10.2+debian/debian/patches/05-kfreebsd.patch
--- cdparanoia-3.10.2+debian/debian/patches/05-kfreebsd.patch 2010-11-06 15:16:33.000000000 +0000
+++ cdparanoia-3.10.2+debian/debian/patches/05-kfreebsd.patch 2012-02-29 18:41:13.000000000 +0000
@@ -686,7 +686,7 @@
/* process a complete scsi command. */
static int sg2_handle_scsi_cmd(cdrom_drive *d,
unsigned char *cmd,
-@@ -432,6 +455,88 @@
+@@ -432,6 +455,91 @@
return sg2_handle_scsi_cmd(d,cmd,cmd_len,in_size,out_size,bytefill,bytecheck,sense);
}
@@ -740,8 +740,11 @@
+ return TR_EREAD;
+ }
+
-+ if (d->private_data->ccb->csio.sense_data.error_code & SSD_ERRCODE) {
-+ switch (d->private_data->ccb->csio.sense_data.flags & SSD_KEY) {
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( &(d->private_data->ccb->csio.sense_data), &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ if (errorCode) {
++ switch (senseKey) {
+ case SSD_KEY_NO_SENSE:
+ errno = EIO;
+ return TR_UNKNOWN;
@@ -752,8 +755,8 @@
+ return TR_BUSY;
+ case SSD_KEY_MEDIUM_ERROR:
+ errno = EIO;
-+ if (d->private_data->ccb->csio.sense_data.add_sense_code == 0x0c &&
-+ d->private_data->ccb->csio.sense_data.add_sense_code_qual == 0x09)
++ if (addSenseCode == 0x0c &&
++ addSenseCodeQual == 0x09)
+ return TR_STREAMING;
+ else
+ return TR_MEDIUM;
@@ -813,34 +816,43 @@
static int mode_sense_atapi(cdrom_drive *d,int size,int page){
unsigned char sense[SG_MAX_SENSE];
-@@ -1080,9 +1209,15 @@
+@@ -1080,10 +1210,20 @@
+ sprintf(b,"scsi_read error: sector=%ld length=%ld retry=%d\n",
begin,sectors,retry_count);
cdmessage(d,b);
- sprintf(b," Sense key: %x ASC: %x ASCQ: %x\n",
+#if defined(__linux__)
+ sprintf(b," Sense key: %x ASC: %x ASCQ: %x\n",
(int)(sense[2]&0xf),
(int)(sense[12]),
(int)(sense[13]));
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-+ d->private_data->ccb->csio.sense_data.flags & SSD_KEY,
-+ d->private_data->ccb->csio.sense_data.add_sense_code,
-+ d->private_data->ccb->csio.sense_data.add_sense_code_qual);
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( &(d->private_data->ccb->csio.sense_data), &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ sprintf(b," Sense key: %x ASC: %x ASCQ: %x\n",
++ senseKey,
++ addSenseCode,
++ addSenseCodeQual);
+#endif
cdmessage(d,b);
sprintf(b," Transport error: %s\n",strerror_tr[err]);
cdmessage(d,b);
-@@ -1092,9 +1227,15 @@
+@@ -1092,10 +1228,19 @@
+
fprintf(stderr,"scsi_read error: sector=%ld length=%ld retry=%d\n",
begin,sectors,retry_count);
- fprintf(stderr," Sense key: %x ASC: %x ASCQ: %x\n",
+#if defined(__linux__)
+ fprintf(stderr," Sense key: %x ASC: %x ASCQ: %x\n",
(int)(sense[2]&0xf),
(int)(sense[12]),
(int)(sense[13]));
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-+ d->private_data->ccb->csio.sense_data.flags & SSD_KEY,
-+ d->private_data->ccb->csio.sense_data.add_sense_code,
-+ d->private_data->ccb->csio.sense_data.add_sense_code_qual);
++ scsi_extract_sense( &(d->private_data->ccb->csio.sense_data), &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ fprintf(stderr," Sense key: %x ASC: %x ASCQ: %x\n",
++ senseKey,
++ addSenseCode,
++ addSenseCodeQual);
+#endif
fprintf(stderr," Transport error: %s\n",strerror_tr[err]);
fprintf(stderr," System error: %s\n",strerror(errno));
Reply to: