[packages/lin_tape] - cleanup kernel version conditions
baggins
baggins at pld-linux.org
Sun Dec 14 23:29:16 CET 2025
commit 30dc2cfb1424c3160293521a64d02bcc807cd87a
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Mon Dec 15 01:28:55 2025 +0100
- cleanup kernel version conditions
kernel-5.10.patch | 20 ++++++++++
kernel-6.1.patch | 32 +++++++++++++++
lin_tape.spec | 10 ++++-
no-distro-defs.patch | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 171 insertions(+), 2 deletions(-)
---
diff --git a/lin_tape.spec b/lin_tape.spec
index a50cce8..870095a 100644
--- a/lin_tape.spec
+++ b/lin_tape.spec
@@ -17,8 +17,11 @@ Source0: %{pname}-%{version}.tgz
# Source0-md5: 86e337bd1cc2da752997d74685fc4ab5
Source1: %{pname}.fixlist
Patch0: use-module-dir.patch
-Patch2: kernel-6.15.patch
-Patch3: kernel-6.16.patch
+Patch1: no-distro-defs.patch
+Patch2: kernel-5.10.patch
+Patch3: kernel-6.1.patch
+Patch4: kernel-6.15.patch
+Patch5: kernel-6.16.patch
# System Storage, Tape systems, Tape drivers and software, Tape device drivers (Linux)
URL: http://www.ibm.com/support/fixcentral/
BuildRequires: rpmbuild(macros) >= 1.701
@@ -67,8 +70,11 @@ compatible platforms.\
%setup -q -n %{pname}-%{version}
%undos Makefile
%patch -P0 -p1
+%patch -P1 -p1
%patch -P2 -p1
%patch -P3 -p1
+%patch -P4 -p1
+%patch -P5 -p1
install -p %{SOURCE1} .
diff --git a/kernel-5.10.patch b/kernel-5.10.patch
new file mode 100644
index 0000000..5974b8c
--- /dev/null
+++ b/kernel-5.10.patch
@@ -0,0 +1,20 @@
+--- lin_tape-3.0.71/lin_tape_scsi_tape.c.orig 2025-06-30 16:30:30.000000000 +0200
++++ lin_tape-3.0.71/lin_tape_scsi_tape.c 2025-12-15 00:49:44.833317984 +0100
+@@ -11563,7 +11563,7 @@
+
+ memset(pages, '\0', drv->supported_sg_tablesize * sizeof(struct page*));
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)
+ down_read(¤t->mm->mmap_lock);
+ #else
+ down_read(¤t->mm->mmap_sem);
+@@ -11586,7 +11586,7 @@
+ mapped_pages = get_user_pages(current, current->mm,
+ (ulong)user_location, number_pages, rw, 0, pages, NULL);
+ #endif
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)
+ up_read(¤t->mm->mmap_lock);
+ #else
+ up_read(¤t->mm->mmap_sem);
diff --git a/kernel-6.1.patch b/kernel-6.1.patch
new file mode 100644
index 0000000..e6df92c
--- /dev/null
+++ b/kernel-6.1.patch
@@ -0,0 +1,32 @@
+--- lin_tape-3.0.71/lin_tape_scsi_ioctl.h~ 2025-06-30 16:30:30.000000000 +0200
++++ lin_tape-3.0.71/lin_tape_scsi_ioctl.h 2025-12-15 01:22:51.856651250 +0100
+@@ -46,6 +46,7 @@
+ #include <scsi/scsi.h> /* scsi command definition, etc. */
+ #include <scsi/scsi_ioctl.h> /* support generial scsi ioctl call*/
+ #include <scsi/scsi_cmnd.h>
++#include <scsi/sg.h>
+
+ #include "lin_tape_tape.h"
+
+--- lin_tape-3.0.71/lower.c~ 2025-12-15 01:06:34.000000000 +0100
++++ lin_tape-3.0.71/lower.c 2025-12-15 01:24:36.073317908 +0100
+@@ -276,7 +276,7 @@
+ /* Send the command */
+ if (pfo_cmd->source == PFO_SOURCE_PFO) {
+ /* SCSI Command from decide code */
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(6,0,0) || defined (RHEL96)
++#if LINUX_VERSION_CODE > KERNEL_VERSION(6,2,0)
+ result = scsi_execute_cmd(sdev, pfo_cmd->scsi_cmd,
+ pfo_cmd->data_direction==DMA_TO_DEVICE? REQ_OP_DRV_OUT:REQ_OP_DRV_IN,
+ pfo_cmd->buffer, pfo_cmd->bufflen, pfo_cmd->timeout, pfo_cmd->retries,
+--- lin_tape-3.0.71/upper.c~ 2025-12-15 01:06:34.000000000 +0100
++++ lin_tape-3.0.71/upper.c 2025-12-15 01:25:05.333317909 +0100
+@@ -936,7 +936,7 @@
+ return pfo_scsi_execute_req(fdev_num, cmd, data_direction,
+ buffer, bufflen, sshdr, timeout, retries, resid);
+ } else {
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(6,0,0) || defined(RHEL96)
++#if LINUX_VERSION_CODE > KERNEL_VERSION(6,2,0)
+ return scsi_execute_cmd(sdev, cmd, data_direction==DMA_FROM_DEVICE?REQ_OP_DRV_IN:REQ_OP_DRV_OUT,
+ buffer, bufflen, timeout, retries, NULL);
+ #else
diff --git a/no-distro-defs.patch b/no-distro-defs.patch
new file mode 100644
index 0000000..49192ed
--- /dev/null
+++ b/no-distro-defs.patch
@@ -0,0 +1,111 @@
+--- lin_tape-3.0.71/Makefile.orig 2025-12-15 00:50:47.000000000 +0100
++++ lin_tape-3.0.71/Makefile 2025-12-15 00:56:52.103317958 +0100
+@@ -19,75 +19,12 @@
+
+ lin_tape-objs := join.o lin_tape_scsi_config.o lin_tape_scsi_tape.o lin_tape_scsi_trace.o \
+ lin_tape_ioctl_tape.o lin_tape_ioctl_changer.o lin_tape_extra_ioctl.o
+-RHELRELEASE := $(shell [ -f "/etc/redhat-release" ] && echo 1 || echo 0)
+-ifeq ($(RHELRELEASE), 1)
+-KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+-KERNELVER = $(shell uname -r 2>/dev/null|sed "s/[\.-]/_/g"|sed "s/\([0-9]*_[0-9]*_[0-9]*_[0-9]*\).*/\1/")
+-EXTRA_CFLAGS += -DKERNELVERSION_${KERNELVER}
+-RHEL94 := $(shell grep -qi 9.4 /etc/*release && echo 1 || echo 0)
+-ifeq ($(RHEL94), 1)
+-EXTRA_CFLAGS += -DRHEL94
+-else
+-RHEL95 := $(shell grep -qi 9.5 /etc/*release && echo 1 || echo 0)
+-ifeq ($(RHEL95), 1)
+-EXTRA_CFLAGS += -DRHEL94
+-EXTRA_CFLAGS += -DRHEL95
+-else
+-RHEL96 := $(shell grep -qi 9.6 /etc/*release && echo 1 || echo 0)
+-ifeq ($(RHEL96), 1)
+-EXTRA_CFLAGS += -DRHEL94
+-EXTRA_CFLAGS += -DRHEL95
+-EXTRA_CFLAGS += -DRHEL96
+-endif
+-endif
+-endif
+-else
+-UBUNTURELEASE := $(shell [ -f "/etc/os-release" ] && grep -qi Ubuntu /etc/os-release && echo 1 || echo 0)
+-ifeq ($(UBUNTURELEASE), 1)
+-EXTRA_CFLAGS += -DUBUNTUVERSION
+-else
+-EXTRA_CFLAGS += -DSLESVERSION
+-KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+-KERNELVER = $(shell uname -r 2>/dev/null|sed "s/[\.-]/_/g"|sed "s/\([0-9]*_[0-9]*_[0-9]*_[0-9]*\).*/\1/")
+-EXTRA_CFLAGS += -DSLESKERNEL_${KERNELVER}
+-SLESSP2 := $(shell grep -qi SP2 /etc/*release && echo 1 || echo 0)
+-SLESSP5 := $(shell grep -qi SP5 /etc/*release && echo 1 || echo 0)
+-SLES15SP6 := $(shell grep -qi "15 SP6" /etc/*release && echo 1 || echo 0)
+-ifeq ($(SLESSP2), 1)
+-EXTRA_CFLAGS += -DSLESSP2
+-endif
+-ifeq ($(SLESSP5), 1)
+-EXTRA_CFLAGS += -DSLESSP5
+-endif
+-ifeq ($(SLES15SP6), 1)
+-EXTRA_CFLAGS += -DSLES15SP6
+-endif
+-endif
+-endif
+
+ ifeq ($(SFMP), 1)
+ EXTRA_CFLAGS += -DSFMPENABLED
+ endif
+
+ PROC := $(shell uname -m)
+-ifeq ($(UBUNTURELEASE), 0)
+-ifeq ($(PROC), ppc64)
+-EXTRA_CFLAGS += -m64
+-endif
+-
+-ifeq ($(PROC), powerpc64)
+-EXTRA_CFLAGS += -m64
+-endif
+-
+-ifeq ($(PROC), powerpc)
+-EXTRA_CFLAGS += -m64 -msoft-float
+-LDFLAGS += -melf64ppc
+-endif
+-
+-ifeq ($(PROC), x86_64)
+-EXTRA_CFLAGS += -mcmodel=kernel
+-endif
+-endif
+
+ VERSION := $(word 1,$(VERSIONRELEASE))
+ RELEASE := $(word 2,$(VERSIONRELEASE))
+--- lin_tape-3.0.71/upper.c~ 2025-06-30 16:30:30.000000000 +0200
++++ lin_tape-3.0.71/upper.c 2025-12-15 01:03:04.216651273 +0100
+@@ -312,9 +312,9 @@
+
+ #ifdef KERNELVERSION_5_14_0_70
+ if (blk_verify_command(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
+-#elif defined (UBUNTUVERSION) | LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0) || (LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0) && (LINUX_VERSION_CODE < KERNEL_VERSION(5, 14, 1) || defined(SLESSP5)))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
+ if (!scsi_cmd_allowed(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
+-#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0) && (defined(SLESVERSION) || defined(UBUNTUVERSION))
++#elif LINUX_VERSION_CODE > KERNEL_VERSION(3,12,0)
+ if (blk_verify_command(pfo_cmd->scsi_cmd, mode & FMODE_WRITE))
+ #else
+ /* RHEL 6.4 and beyond */
+--- lin_tape-3.0.71/lin_tape_scsi_tape.c~ 2025-12-15 01:06:34.000000000 +0100
++++ lin_tape-3.0.71/lin_tape_scsi_tape.c 2025-12-15 01:13:10.333317926 +0100
+@@ -11568,15 +11568,7 @@
+ #else
+ down_read(¤t->mm->mmap_sem);
+ #endif
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0) || defined(RHEL96)
+- mapped_pages = get_user_pages((ulong)user_location, number_pages,
+- rw, pages);
+-#elif LINUX_VERSION_CODE == KERNEL_VERSION(4,4,73) \
+- || (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,92) && LINUX_VERSION_CODE < KERNEL_VERSION(4,4,103)) \
+- || defined(SLESKERNEL_4_4_103_6) \
+- || (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,114) && !defined(SLESSP2)) \
+- || (LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) && defined(SLESSP2)) \
+- || defined (SLESKERNEL_4_4_103_94)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0)
+ mapped_pages = get_user_pages((unsigned long)user_location, number_pages,
+ rw, pages, NULL);
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/lin_tape.git/commitdiff/30dc2cfb1424c3160293521a64d02bcc807cd87a
More information about the pld-cvs-commit
mailing list