rev 19122 - in kde-extras/k3b/trunk/debian: . patches
Pino Toscano
pino at alioth.debian.org
Mon Feb 20 09:57:39 UTC 2012
Author: pino
Date: 2012-02-20 09:57:39 +0000 (Mon, 20 Feb 2012)
New Revision: 19122
Added:
kde-extras/k3b/trunk/debian/patches/k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch
Modified:
kde-extras/k3b/trunk/debian/changelog
kde-extras/k3b/trunk/debian/patches/series
Log:
add k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch (#660398)
backport patch from upstream branch 2.0 to fix compatibility with FreeBSD >= 9.0 libraries
Modified: kde-extras/k3b/trunk/debian/changelog
===================================================================
--- kde-extras/k3b/trunk/debian/changelog 2012-02-20 09:46:19 UTC (rev 19121)
+++ kde-extras/k3b/trunk/debian/changelog 2012-02-20 09:57:39 UTC (rev 19122)
@@ -1,6 +1,9 @@
k3b (2.0.2-4) UNRELEASED; urgency=low
* Team upload.
+ * Add k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch (backported
+ from upstream branch 2.0) to fix compatibility with FreeBSD >= 9.0
+ libraries. (Closes: #660398)
-- Pino Toscano <pino at debian.org> Mon, 20 Feb 2012 10:45:46 +0100
Added: kde-extras/k3b/trunk/debian/patches/k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch
===================================================================
--- kde-extras/k3b/trunk/debian/patches/k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch (rev 0)
+++ kde-extras/k3b/trunk/debian/patches/k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch 2012-02-20 09:57:39 UTC (rev 19122)
@@ -0,0 +1,102 @@
+From 4ffc5893929923d02479179f5d1a3101ffa71532 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <rakuco at FreeBSD.org>
+Date: Fri, 28 Oct 2011 00:16:58 -0200
+Subject: [PATCH] k3bscsicommand_bsd: Do not access the scsi_sense_data fields
+ manually.
+
+cam users are expected to retrieve those values with scsi_extract_sense
+(or, since FreeBSD 9, scsi_extract_sense_len).
+
+FreeBSD 9 has changed the scsi_sense_data struct, but everything works
+fine in all supported releases if we just use scsi_extract_sense.
+
+CCMAIL: michalm at jabster.pl
+(cherry picked from commit d8f73a5f66c6bbebac52a8b784affb106b188279)
+---
+ libk3bdevice/k3bscsicommand_bsd.cpp | 48 +++++++++++++++++-----------------
+ 1 files changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/libk3bdevice/k3bscsicommand_bsd.cpp b/libk3bdevice/k3bscsicommand_bsd.cpp
+index ce6508e..52eda04 100644
+--- a/libk3bdevice/k3bscsicommand_bsd.cpp
++++ b/libk3bdevice/k3bscsicommand_bsd.cpp
+@@ -103,16 +103,16 @@ int K3b::Device::ScsiCommand::transport( TransportDirection dir,
+ m_device->usageUnlock();
+
+ struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
+- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
+- senset->error_code & SSD_ERRCODE,
+- senset->flags & SSD_KEY,
+- senset->add_sense_code,
+- senset->add_sense_code_qual );
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( senset, &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ debugError( d->ccb.csio.cdb_io.cdb_bytes[0], errorCode, senseKey,
++ addSenseCode, addSenseCodeQual );
+
+- int result = (((senset->error_code & SSD_ERRCODE)<<24) & 0xF000 |
+- ((senset->flags & SSD_KEY)<<16) & 0x0F00 |
+- (senset->add_sense_code<<8) & 0x00F0 |
+- (senset->add_sense_code_qual) & 0x000F );
++ int result = ((errorCode<<24) & 0xF000 |
++ (senseKey<<16) & 0x0F00 |
++ (addSenseCode<<8) & 0x00F0 |
++ (addSenseCodeQual) & 0x000F );
+
+ return result ? result : ret;
+ }
+@@ -152,11 +152,11 @@ int K3b::Device::ScsiCommand::transport( TransportDirection dir,
+ kDebug() << "(K3b::Device::ScsiCommand) transport failed (2): " << ret;
+ ret = -1;
+ struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
+- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
+- senset->error_code & SSD_ERRCODE,
+- senset->flags & SSD_KEY,
+- senset->add_sense_code,
+- senset->add_sense_code_qual );
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( senset, &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ debugError( d->ccb.csio.cdb_io.cdb_bytes[0], errorCode, senseKey,
++ addSenseCode, addSenseCodeQual );
+
+ if( needToClose )
+ m_device->close();
+@@ -170,11 +170,11 @@ int K3b::Device::ScsiCommand::transport( TransportDirection dir,
+ errno=EIO,-1;
+ ret = -1;
+ struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
+- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
+- senset->error_code & SSD_ERRCODE,
+- senset->flags & SSD_KEY,
+- senset->add_sense_code,
+- senset->add_sense_code_qual );
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( senset, &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ debugError( d->ccb.csio.cdb_io.cdb_bytes[0], errorCode, senseKey,
++ addSenseCode, addSenseCodeQual );
+
+ if( needToClose )
+ m_device->close();
+@@ -193,11 +193,11 @@ int K3b::Device::ScsiCommand::transport( TransportDirection dir,
+ else
+ CREAM_ON_ERRNO(((unsigned char *)&d->ccb.csio.sense_data));
+ struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
+- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
+- senset->error_code & SSD_ERRCODE,
+- senset->flags & SSD_KEY,
+- senset->add_sense_code,
+- senset->add_sense_code_qual );
++ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
++ scsi_extract_sense( senset, &errorCode, &senseKey, &addSenseCode,
++ &addSenseCodeQual );
++ debugError( d->ccb.csio.cdb_io.cdb_bytes[0], errorCode, senseKey,
++ addSenseCode, addSenseCodeQual );
+
+ if( needToClose )
+ m_device->close();
+--
+1.7.9
+
Modified: kde-extras/k3b/trunk/debian/patches/series
===================================================================
--- kde-extras/k3b/trunk/debian/patches/series 2012-02-20 09:46:19 UTC (rev 19121)
+++ kde-extras/k3b/trunk/debian/patches/series 2012-02-20 09:57:39 UTC (rev 19122)
@@ -6,3 +6,4 @@
112_dont_require_mp3.diff
113_initial_preference.diff
114_bug587996_bdr_capacity_fix.diff
+k3bscsicommand_bsd-Do-not-access-the-scsi_sense_data.patch
More information about the pkg-kde-commits
mailing list