about summary refs log tree commit diff
path: root/pkgs/servers/openafs/tsmbac.patch
diff options
context:
space:
mode:
authorMichael Raitza <spacefrogg-github@meterriblecrew.net>2018-01-23 19:48:53 +0100
committerMichael Raitza <spacefrogg-github@meterriblecrew.net>2018-02-01 16:21:38 +0100
commit44a4844744d899ce74b57bca1f25e5a4ee19e63d (patch)
tree329141198a801f29a7d6f7bb4e7276ab99ce0847 /pkgs/servers/openafs/tsmbac.patch
parent8a77ae81ad4b5d7e398414676fe2d4111c29fc32 (diff)
downloadnixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar.gz
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar.bz2
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar.lz
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar.xz
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.tar.zst
nixlib-44a4844744d899ce74b57bca1f25e5a4ee19e63d.zip
openafs: Break into multiple packages with multiple outputs
Two packages:
- pkgs.linuxPackages.openafs (only kernel module)
- pkgs.openafs (client/server programs, manpages, docs)

Disable `ncurses` by default
- Only needed for debugging tools

Introduce but disable `tsmbac` by default
- IBM's on-site backup service called Tivoli Storage Manager Backup
  Client
- Make openafs ready to use tsmbac when supplied via local overlay
  (needs special patching)
- TSM is not in nixpkgs due to unclear/unfree licensing. (Binaries need
  to be modified to work with nixos)
Diffstat (limited to 'pkgs/servers/openafs/tsmbac.patch')
-rw-r--r--pkgs/servers/openafs/tsmbac.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/servers/openafs/tsmbac.patch b/pkgs/servers/openafs/tsmbac.patch
new file mode 100644
index 000000000000..412765fe8a5b
--- /dev/null
+++ b/pkgs/servers/openafs/tsmbac.patch
@@ -0,0 +1,62 @@
+diff -ru3 openafs-1.6.18.1/acinclude.m4 openafs-1.6.18.1.new/acinclude.m4
+--- openafs-1.6.18.1/acinclude.m4	2016-06-21 17:13:39.000000000 +0200
++++ openafs-1.6.18.1.new/acinclude.m4	2016-11-02 18:44:30.423039662 +0100
+@@ -1373,45 +1373,7 @@
+ 
+ dnl check for tivoli
+ AC_MSG_CHECKING(for tivoli tsm butc support)
+-XBSA_CFLAGS=""
+-if test "$enable_tivoli_tsm" = "yes"; then
+-	XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
+-	XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
+-	XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
+-	XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
+-	XBSADIR5=/usr/tivoli/tsm/client/api/bin64/sample
+-	XBSADIR6=/opt/tivoli/tsm/client/api/bin64/sample
+-
+-	if test -r "$XBSADIR3/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR4/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR5/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR5"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR6/dsmapifp.h"; then
+-		XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR6"
+-		XBSA_XLIBS="-ldl"
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR1/xbsa.h"; then
+-		XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+-		XBSA_XLIBS=""
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	elif test -r "$XBSADIR2/xbsa.h"; then
+-		XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+-		XBSA_XLIBS=""
+-		AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+-	else
+-		AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
+-	fi
+-else
+-	AC_MSG_RESULT([no])
+-fi
++AC_MSG_RESULT([yes])
+ AC_SUBST(XBSA_CFLAGS)
+ AC_SUBST(XBSA_XLIBS) 
+ 
+diff -ru3 openafs-1.6.18.1/src/butc/afsxbsa.c openafs-1.6.18.1.new/src/butc/afsxbsa.c
+--- openafs-1.6.18.1/src/butc/afsxbsa.c	2016-06-21 17:13:39.000000000 +0200
++++ openafs-1.6.18.1.new/src/butc/afsxbsa.c	2016-11-02 18:45:10.734662987 +0100
+@@ -651,7 +651,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)
+-	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)
+         dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL);
+ #else