From 9da1f6a22c08f163191b7efcde7e25f012259df3 Mon Sep 17 00:00:00 2001 From: Quentin Smith Date: Mon, 14 Jul 2025 01:23:13 -0400 Subject: [PATCH] openafs: Fix builds with withTsm = true TSM moved its headers, and the existing patch doesn't quite cleanly apply to the current OpenAFS source. --- pkgs/servers/openafs/1.8/default.nix | 2 +- pkgs/servers/openafs/1.8/tsmbac.patch | 31 +++++++++++++++++++-------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix index c42153725736..76c0d2f64597 100644 --- a/pkgs/servers/openafs/1.8/default.nix +++ b/pkgs/servers/openafs/1.8/default.nix @@ -104,7 +104,7 @@ stdenv.mkDerivation { ) '' + optionalString withTsm '' - export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsm-client}/lib64/sample -DXBSA_TSMLIB=\\\"${tsm-client}/lib64/libApiTSM64.so\\\"" + export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsm-client}/opt/tivoli/tsm/client/api/bin64/sample -DXBSA_TSMLIB=\\\"${tsm-client}/lib64/libApiTSM64.so\\\"" ''; buildFlags = [ "all_nolibafs" ]; diff --git a/pkgs/servers/openafs/1.8/tsmbac.patch b/pkgs/servers/openafs/1.8/tsmbac.patch index f68c777b6f09..3ece29d99928 100644 --- a/pkgs/servers/openafs/1.8/tsmbac.patch +++ b/pkgs/servers/openafs/1.8/tsmbac.patch @@ -1,18 +1,31 @@ -diff -ru openafs-1.8.0/src/butc/afsxbsa.c openafs-1.8.0.new/src/butc/afsxbsa.c ---- openafs-1.8.0/src/butc/afsxbsa.c 2018-04-06 03:21:12.000000000 +0200 -+++ openafs-1.8.0.new/src/butc/afsxbsa.c 2018-06-12 16:26:26.272522305 +0200 -@@ -651,7 +651,7 @@ +diff -ru openafs-1.8.13.2/src/butc/afsxbsa.c openafs-1.8.13.2.new/src/butc/afsxbsa.c +--- openafs-1.8.13.2/src/butc/afsxbsa.c 2025-01-23 12:12:55.000000000 -0500 ++++ openafs-1.8.13.2.new/src/butc/afsxbsa.c 2025-07-13 19:30:19.513895421 -0400 +@@ -631,7 +631,7 @@ #if defined(AFS_AIX_ENV) dynlib = dlopen("/usr/lib/libApiDS.a(dsmapish.o)", RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER); - #elif defined (AFS_AMD64_LINUX26_ENV) + #elif defined (AFS_AMD64_LINUX_ENV) - dynlib = dlopen("/usr/lib64/libApiTSM64.so", RTLD_NOW | RTLD_LOCAL); + dynlib = dlopen(XBSA_TSMLIB, RTLD_NOW | RTLD_LOCAL); - #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX26_ENV) + #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX_ENV) dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL); #else -diff -ru openafs-1.8.0/src/cf/tivoli.m4 openafs-1.8.0.new/src/cf/tivoli.m4 ---- openafs-1.8.0/src/cf/tivoli.m4 2018-04-06 03:21:12.000000000 +0200 -+++ openafs-1.8.0.new/src/cf/tivoli.m4 2018-06-12 16:26:26.072522485 +0200 +diff -ru openafs-1.8.13.2/src/butc/lwps.c openafs-1.8.13.2.new/src/butc/lwps.c +--- openafs-1.8.13.2/src/butc/lwps.c 2025-01-23 12:12:55.000000000 -0500 ++++ openafs-1.8.13.2.new/src/butc/lwps.c 2025-07-14 01:02:51.409677422 -0400 +@@ -53,7 +53,7 @@ + /* XBSA Global Parameters */ + extern afs_int32 xbsaType; + #ifdef xbsa +-struct butx_transactionInfo butxInfo; ++extern struct butx_transactionInfo butxInfo; + #endif + + static struct TapeBlock { /* A 16KB tapeblock */ +Only in openafs-1.8.13.2.new/src/butc: lwps.c~ +diff -ru openafs-1.8.13.2/src/cf/tivoli.m4 openafs-1.8.13.2.new/src/cf/tivoli.m4 +--- openafs-1.8.13.2/src/cf/tivoli.m4 2025-01-23 12:12:55.000000000 -0500 ++++ openafs-1.8.13.2.new/src/cf/tivoli.m4 2025-07-13 19:30:39.350794275 -0400 @@ -1,45 +1,7 @@ AC_DEFUN([OPENAFS_TIVOLI_TESTS],[ dnl check for tivoli