]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Redo all of the patch sets and move them into a subdirectory. Add
authorRuss Allbery <rra@debian.org>
Sun, 14 Aug 2005 04:15:05 +0000 (04:15 +0000)
committerRuss Allbery <rra@debian.org>
Sun, 14 Aug 2005 04:15:05 +0000 (04:15 +0000)
explanations of the status of the various patches relative to upstream.
Add the new PAM patch.

debian/patch.001_libafs_destination_name [deleted file]
debian/patch.002_sketchy_hpux_process_c [deleted file]
debian/patch.004_bozo_permissions [deleted file]
debian/patch.006_more_bozo_permissions [deleted file]
debian/patch.hppa [deleted file]
debian/patches/README [new file with mode: 0644]
debian/patches/bos-permissions [new file with mode: 0644]
debian/patches/hpux-smp [new file with mode: 0644]
debian/patches/module-name [new file with mode: 0644]
debian/patches/os-config [new file with mode: 0644]
debian/patches/pam [new file with mode: 0644]

diff --git a/debian/patch.001_libafs_destination_name b/debian/patch.001_libafs_destination_name
deleted file mode 100644 (file)
index 728f03a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: src/libafs/MakefileProto.LINUX.in
-===================================================================
-RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/libafs/MakefileProto.LINUX.in,v
-retrieving revision 1.1.1.3
-diff -u -r1.1.1.3 MakefileProto.LINUX.in
---- src/libafs/MakefileProto.LINUX.in  14 Jul 2001 22:22:46 -0000      1.1.1.3
-+++ src/libafs/MakefileProto.LINUX.in  16 Jul 2001 09:40:24 -0000
-@@ -143,8 +143,8 @@
- LIBAFS = libafs-${CLIENT}.o
- LIBAFS_MP = libafs-${CLIENT}.mp.o
--DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS}
--DEST_LIBAFS_MP = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS_MP}
-+DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/openafs.o
-+DEST_LIBAFS_MP = ${DESTDIR}/root.client/usr/vice/etc/modload/openafs.mp.o
- libafs:       $(DEST_LIBAFS) 
diff --git a/debian/patch.002_sketchy_hpux_process_c b/debian/patch.002_sketchy_hpux_process_c
deleted file mode 100644 (file)
index 2d247c6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: src/lwp//process.c
-===================================================================
-RCS file: /afs/sipb/project/openafs/debian/cvs/openafs/src/lwp/process.c,v
-retrieving revision 1.8
-diff -u -r1.8 process.c
---- src/lwp//process.c 11 Sep 2001 15:48:27 -0000      1.8
-+++ src/lwp//process.c 25 Feb 2002 19:42:17 -0000
-@@ -92,7 +92,9 @@
- #elif defined(AFS_HPUX_ENV)
- #define       LWP_SP  1
- #elif defined(AFS_LINUX20_ENV)
--#if defined(AFS_PPC_LINUX20_ENV)
-+#if defined(AFS_PARISC_LINUX24_ENV )
-+#define       LWP_SP  1
-+#elif defined(AFS_PPC_LINUX20_ENV)
- #define LWP_SP 0
- #elif   defined(AFS_I386_LINUX20_ENV)
- #define LWP_SP 4
diff --git a/debian/patch.004_bozo_permissions b/debian/patch.004_bozo_permissions
deleted file mode 100644 (file)
index 9ddcff5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: src/bozo//bosoprocs.c
-===================================================================
-RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/bozo/bosoprocs.c,v
-retrieving revision 1.1.1.8
-diff -u -r1.1.1.8 bosoprocs.c
---- bosoprocs.c        2001/10/14 18:04:05     1.1.1.8
-+++ bosoprocs.c        2001/11/25 22:57:19
-@@ -1160,7 +1160,7 @@
- struct bozo_bosEntryStats bozo_bosEntryStats[] = {
-     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_AFS_DIRPATH    */
--    {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_ETC_DIRPATH    */
-+    {NULL, 1,1, 0700, 02}, /* AFSDIR_SERVER_ETC_DIRPATH    */
-     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_BIN_DIRPATH    */
-     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_LOGS_DIRPATH   */
-     {NULL, 1,0, 0700, 07}, /* AFSDIR_SERVER_BACKUP_DIRPATH */
diff --git a/debian/patch.006_more_bozo_permissions b/debian/patch.006_more_bozo_permissions
deleted file mode 100644 (file)
index 5263b23..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: src/bozo//bosoprocs.c
-===================================================================
-RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/bozo/bosoprocs.c,v
-retrieving revision 1.2
-diff -u -r1.2 bosoprocs.c
---- bosoprocs.c        2001/11/25 23:06:38     1.2
-+++ bosoprocs.c        2001/11/25 23:19:53
-@@ -1165,7 +1165,7 @@
-     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_LOGS_DIRPATH   */
-     {NULL, 1,0, 0700, 07}, /* AFSDIR_SERVER_BACKUP_DIRPATH */
-     {NULL, 1,1, 0700, 07}, /* AFSDIR_SERVER_DB_DIRPATH     */
--    {NULL, 1,1, 0700, 07}, /* AFSDIR_SERVER_LOCAL_DIRPATH  */
-+    {NULL, 1,1, 0700, 02}, /* AFSDIR_SERVER_LOCAL_DIRPATH  */
-     {NULL, 0,1, 0600, 07}, /* AFSDIR_SERVER_KEY_FILEPATH   */
-     {NULL, 0,1, 0600, 03}};/* AFSDIR_SERVER_ULIST_FILEPATH */
- int bozo_nbosEntryStats =
diff --git a/debian/patch.hppa b/debian/patch.hppa
deleted file mode 100644 (file)
index 7608c78..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-Index: src/pam/Makefile.in
-===================================================================
-RCS file: /afs/sipb/project/openafs/debian/cvs/openafs/src/pam/Makefile.in,v
-retrieving revision 1.9
-diff -u -r1.9 Makefile.in
---- src/pam/Makefile.in        13 Apr 2003 21:16:40 -0000      1.9
-+++ src/pam/Makefile.in        13 Apr 2003 21:28:00 -0000
-@@ -92,6 +92,8 @@
-       sun*_5*) \
-               $(LD) $(LDFLAGS) -M mapfile -o $@ \
-                       afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
-       *fbsd*) \
-@@ -121,7 +123,13 @@
-       ${INSTALL} $? $@
- ${DEST}/lib/pam_afs.krb.so.1: pam_afs.krb.so.1
--      ${INSTALL} $? $@
-+      set -x; \
-+      case "$(SYS_NAME)" in \
-+      parisc*_linux*) \
-+              echo Skipping install of $@. ;; \
-+      *) \
-+              ${INSTALL} $? $@ ;; \
-+      esac
- afs_pam_msg.o: afs_pam_msg.c afs_pam_msg.h afs_message.h
- afs_message.o: afs_message.c afs_message.h
-@@ -141,10 +149,22 @@
-       ${INSTALL} $? $@
- ${DESTDIR}${libdir}/pam_afs.krb.so.1: pam_afs.krb.so.1
--      ${INSTALL} $? $@
-+      set -x; \
-+      case "$(SYS_NAME)" in \
-+      parisc*_linux*) \
-+              echo Skipping install of $@. ;; \
-+      *) \
-+              ${INSTALL} $? $@ ;; \
-+      esac
- ${TOP_LIBDIR}/pam_afs.krb.so.1: pam_afs.krb.so.1
--      ${INSTALL} $? $@
-+      set -x; \
-+      case "$(SYS_NAME)" in \
-+      parisc*_linux*) \
-+              echo Skipping install of $@. ;; \
-+      *) \
-+              ${INSTALL} $? $@ ;; \
-+      esac
- dest:  ${DEST}/lib/pam_afs.so.1 ${DEST}/lib/pam_afs.krb.so.1
diff --git a/debian/patches/README b/debian/patches/README
new file mode 100644 (file)
index 0000000..d337dfa
--- /dev/null
@@ -0,0 +1,9 @@
+This directory contains patches relative to the upstream OpenAFS source.
+It is not used automatically as part of the build process and is not
+guaranteed to be completely up-to-date; it is intended as documentation of
+significant divergences, a place to store patches that should be sent
+upstream, and a place to document the current status of patches.
+
+Simple Debian-specific changes that aren't of interest to upstream will
+not be included here, such as updating config.{guess,sub} or changing
+paths to fit with the FHS.
diff --git a/debian/patches/bos-permissions b/debian/patches/bos-permissions
new file mode 100644 (file)
index 0000000..d26193c
--- /dev/null
@@ -0,0 +1,23 @@
+Allow a broader range of permissions on /etc/openafs/server and
+/etc/openafs/server-local because we use different permissions than
+upstream.  The /etc/openafs/server-local change would probably be
+acceptable upstream.  The /etc/openafs/server change isn't, since upstream
+supports having bos create /usr/vice/etc as links to the ETC_DIRPATH.
+
+--- openafs-1.3.87.orig/src/bozo/bosoprocs.c
++++ openafs-1.3.87/src/bozo/bosoprocs.c
+@@ -1324,12 +1324,12 @@
+ struct bozo_bosEntryStats bozo_bosEntryStats[] = {
+     {NULL, 1, 1, 0755, 02},   /* AFSDIR_SERVER_AFS_DIRPATH    */
+-    {NULL, 1, 1, 0755, 02},   /* AFSDIR_SERVER_ETC_DIRPATH    */
++    {NULL, 1, 1, 0700, 02},   /* AFSDIR_SERVER_ETC_DIRPATH    */
+     {NULL, 1, 1, 0755, 02},   /* AFSDIR_SERVER_BIN_DIRPATH    */
+     {NULL, 1, 1, 0755, 02},   /* AFSDIR_SERVER_LOGS_DIRPATH   */
+     {NULL, 1, 0, 0700, 07},   /* AFSDIR_SERVER_BACKUP_DIRPATH */
+     {NULL, 1, 1, 0700, 07},   /* AFSDIR_SERVER_DB_DIRPATH     */
+-    {NULL, 1, 1, 0700, 07},   /* AFSDIR_SERVER_LOCAL_DIRPATH  */
++    {NULL, 1, 1, 0700, 02},   /* AFSDIR_SERVER_LOCAL_DIRPATH  */
+     {NULL, 0, 1, 0600, 07},   /* AFSDIR_SERVER_KEY_FILEPATH   */
+     {NULL, 0, 1, 0600, 03}
+ };                            /* AFSDIR_SERVER_ULIST_FILEPATH */
diff --git a/debian/patches/hpux-smp b/debian/patches/hpux-smp
new file mode 100644 (file)
index 0000000..2565cd3
--- /dev/null
@@ -0,0 +1,16 @@
+A hack for 2.4 HPPA.  I don't completely understand what this does or why
+it helps (and whether it's still needed).
+
+--- openafs-1.3.87.orig/src/lwp/process.c
++++ openafs-1.3.87/src/lwp/process.c
+@@ -101,7 +101,9 @@
+ #elif defined(AFS_HPUX_ENV)
+ #define       LWP_SP  1
+ #elif defined(AFS_LINUX20_ENV)
+-#if defined(AFS_PPC_LINUX20_ENV) || defined(AFS_PPC64_LINUX20_ENV)
++#if defined(AFS_PARISC_LINUX24_ENV )
++#define       LWP_SP  1
++#elif defined(AFS_PPC_LINUX20_ENV)|| defined(AFS_PPC64_LINUX20_ENV)
+ #define LWP_SP 0
+ #elif   defined(AFS_I386_LINUX20_ENV)
+ #define LWP_SP 4
diff --git a/debian/patches/module-name b/debian/patches/module-name
new file mode 100644 (file)
index 0000000..148d2d8
--- /dev/null
@@ -0,0 +1,49 @@
+Upstream uses libafs as the module name, mostly for historic reasons.  It
+also uses a different module name depending on whether the module is built
+for SMP systems, something that Debian deals with by creating separate
+packages.  This patch changes the name of the module to openafs and
+removes the separate name for the SMP version.
+
+Probably not acceptable upstream.
+
+--- openafs-1.3.87.orig/src/libafs/MakefileProto.LINUX.in
++++ openafs-1.3.87/src/libafs/MakefileProto.LINUX.in
+@@ -216,8 +216,8 @@
+ # Below this line are targets when in the COMMON directory:
+ # For Linux there is no kernel NFS server.
+-LIBAFS = libafs-${CLIENT}.${LINUX_MODULE_EXT}
+-LIBAFS_MP = libafs-${CLIENT}.mp.${LINUX_MODULE_EXT}
++LIBAFS = openafs.${LINUX_MODULE_EXT}
++LIBAFS_MP = openafs.${LINUX_MODULE_EXT}
+ LIBAFS_EP = libafs-${CLIENT}.ep.${LINUX_MODULE_EXT}
+ LIBAFS_BM = libafs-${CLIENT}.bm.${LINUX_MODULE_EXT}
+@@ -226,10 +226,8 @@
+ INST_LIBAFS_EP = ${DESTDIR}${afskerneldir}/${LIBAFS_EP}
+ INST_LIBAFS_BM = ${DESTDIR}${afskerneldir}/${LIBAFS_BM}
+-DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
+-DEST_LIBAFS_MP = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_MP}
+-DEST_LIBAFS_EP = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_EP}
+-DEST_LIBAFS_BM = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_BM}
++DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/openafs.o
++DEST_LIBAFS_MP = ${DEST}/root.client/usr/vice/etc/modload/openafs.mp.o
+ libafs:       $(LIBAFS) 
+@@ -245,11 +243,11 @@
+       echo BM Build Complete
+ <linux26 linux_26 umlinux26>
+-${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: libafs.ko
+-      cp libafs.ko $@
++${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: openafs.ko
++      cp openafs.ko $@
+ .FORCE:
+-libafs.ko: .FORCE
++openafs.ko: .FORCE
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
+         
diff --git a/debian/patches/os-config b/debian/patches/os-config
new file mode 100644 (file)
index 0000000..77829c3
--- /dev/null
@@ -0,0 +1,150 @@
+Various changes to fix OS configuration.  Use PIC for shared library
+builds on all Linux platforms so that the shared library objects are
+useful for the PIC PAM modules, support 32-bit SPARC builds with the 2.4
+and 2.6 kernels (hopefully), and allow hppa as well as parisc (needed for
+the new config.guess).
+
+This should be okay upstream.  The PIC part has been submitted.
+
+--- openafs-1.3.87.orig/src/cf/osconf.m4
++++ openafs-1.3.87/src/cf/osconf.m4
+@@ -241,6 +241,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0"
+@@ -268,6 +269,7 @@
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
++              SHLIB_CFLAGS="-fPIC"
+               TXLIBS="/usr/lib64/libncurses.so"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+               SHLIB_LINKER="${MT_CC} -shared"
+@@ -296,6 +298,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -317,6 +320,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -337,6 +341,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -357,6 +362,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -381,6 +387,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -452,6 +459,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -530,6 +538,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+@@ -547,6 +556,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+@@ -564,6 +574,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__"
+@@ -633,38 +644,13 @@
+               SHLIB_LINKER="${CC} -shared"
+               ;;
+-      sparc64_linux22)
+-              KERN_OPTMZ=-O2
+-              LEX="flex -l"
+-              MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+-              MT_LIBS="-lpthread"
+-              PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+-              SHLIB_LDFLAGS="-shared -Xlinker -x"
+-              TXLIBS="-lncurses"
+-              XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+-              YACC="bison -y"
+-              SHLIB_LINKER="${MT_CC} -shared"
+-              ;;
+-
+-      sparc64_linux24)
+-              KERN_OPTMZ=-O2
+-              LEX="flex -l"
+-              MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+-              MT_LIBS="-lpthread"
+-              PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+-              SHLIB_LDFLAGS="-shared -Xlinker -x"
+-              TXLIBS="-lncurses"
+-              XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+-              YACC="bison -y"
+-              SHLIB_LINKER="${MT_CC} -shared"
+-              ;;
+-
+-      sparc_linux22)
++      sparc*_linux*)
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+--- openafs-1.3.87.orig/acinclude.m4
++++ openafs-1.3.87/acinclude.m4
+@@ -491,7 +491,7 @@
+               i?86-*-linux*)
+                       AFS_SYSNAME="i386_linuxXX"
+                       ;;
+-              parisc-*-linux-gnu)
++              parisc-*-linux-gnu|hppa-*-linux-gnu)
+                       AFS_SYSNAME="parisc_linuxXX"
+                       enable_pam="no"
+                       ;;
diff --git a/debian/patches/pam b/debian/patches/pam
new file mode 100644 (file)
index 0000000..50425c3
--- /dev/null
@@ -0,0 +1,197 @@
+The standard upstream source builds the PAM modules against static
+libraries, which means they contain non-PIC code.  This isn't allowed by
+Debian Policy and doesn't work on some supported platforms.
+
+Two approaches for fixing this have been tried.  One is to rebuild the
+various object files that are part of the libraries PIC and then link with
+those object files.  The other, which this implements, is to link with the
+object files used to create the libafsauthent and libafsrpc shared
+libraries (which can't be shipped since they don't have a stable API or
+correct SONAME).  The latter means that the PAM modules must also be
+linked with libpthread, but that's a feature since that means they'll work
+with sshd built threaded.
+
+Not submitted upstream yet.  The call to rx_Init should be submitted
+upstream and would probably be accepted.  Upstream would probably rather
+link the PAM modules against the shared libraries rather than accepting
+this hack, which is unsuitable for Debian until the shared libraries are
+handled more consistently.
+
+--- openafs-1.3.87.orig/src/pam/Makefile.in
++++ openafs-1.3.87/src/pam/Makefile.in
+@@ -25,7 +25,7 @@
+         afs_pam_msg.o afs_message.o AFS_component_version_number.o
+    OBJS = $(SHOBJS) test_pam.o
+ INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
+-CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS}
++CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS}
+ all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1
+@@ -39,14 +39,18 @@
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o
+ afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
+-      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
++      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV  -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
+ afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o
++
+ afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
++ktc.o: ${srcdir}/../auth/ktc.c
++      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c
++
+ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+@@ -59,8 +63,10 @@
+                       afs_setcred.o afs_auth.o afs_util.o \
+                       $(SHOBJS) $(LIBS) ;; \
+       *linux*) \
+-              $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+-                      afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
++              $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \
++                      afs_auth.o afs_util.o $(SHOBJS) \
++                      ../shlibafsauthent/[a-z]*.o ../shlibafsrpc/[a-z]*.o \
++                      $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
+@@ -68,7 +74,7 @@
+               echo No link line for system $(SYS_NAME). ;; \
+       esac
+-pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
++pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+       hp_ux* | ia64_hpux*) \
+@@ -81,7 +87,10 @@
+                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
+       *linux*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+-                      afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
++                      afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \
++                      `ls ../shlibafsauthent/[a-z]*.o | grep -v ktc.o` \
++                      ../shlibafsrpc/[a-z]*.o \
++                      $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
+@@ -104,13 +113,19 @@
+               echo No link line for system $(SYS_NAME). ;; \
+       esac
+ install:  ${DESTDIR}${libdir}/pam_afs.so.1 ${DESTDIR}${libdir}/pam_afs.krb.so.1
+ ${DEST}/lib/pam_afs.so.1: pam_afs.so.1
+       ${INSTALL} $? $@
+ ${DEST}/lib/pam_afs.krb.so.1: pam_afs.krb.so.1
+-      ${INSTALL} $? $@
++      set -x; \
++      case "$(SYS_NAME)" in \
++      parisc*_linux*) \
++              echo Skipping install of $@. ;; \
++      *) \
++              ${INSTALL} $? $@ ;; \
++      esac
+ afs_pam_msg.o: afs_pam_msg.c afs_pam_msg.h afs_message.h
+ afs_message.o: afs_message.c afs_message.h
+@@ -130,10 +145,22 @@
+       ${INSTALL} $? $@
+ ${DESTDIR}${libdir}/pam_afs.krb.so.1: pam_afs.krb.so.1
+-      ${INSTALL} $? $@
++      set -x; \
++      case "$(SYS_NAME)" in \
++      parisc*_linux*) \
++              echo Skipping install of $@. ;; \
++      *) \
++              ${INSTALL} $? $@ ;; \
++      esac
+ ${TOP_LIBDIR}/pam_afs.krb.so.1: pam_afs.krb.so.1
+-      ${INSTALL} $? $@
++      set -x; \
++      case "$(SYS_NAME)" in \
++      parisc*_linux*) \
++              echo Skipping install of $@. ;; \
++      *) \
++              ${INSTALL} $? $@ ;; \
++      esac
+ dest:  ${DEST}/lib/pam_afs.so.1 ${DEST}/lib/pam_afs.krb.so.1
+--- openafs-1.3.87.orig/src/pam/afs_setcred.c
++++ openafs-1.3.87/src/pam/afs_setcred.c
+@@ -52,7 +52,7 @@
+     int refresh_token = 0;
+     int set_expires = 0;      /* the default is to not to set the env variable */
+     int use_klog = 0;
+-    int i;
++    int i, code;
+     struct pam_conv *pam_convp = NULL;
+     char my_password_buf[256];
+     char *cell_ptr = NULL;
+@@ -281,6 +281,11 @@
+ #endif
+       }
++      if ((code = rx_Init(0)) != 0) {
++          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++          RET(PAM_AUTH_ERR);
++      }
++
+       if (flags & PAM_REFRESH_CRED) {
+           if (use_klog) {
+               auth_ok = !do_klog(user, password, "00:00:01", cell_ptr);
+--- openafs-1.3.87.orig/src/pam/afs_auth.c
++++ openafs-1.3.87/src/pam/afs_auth.c
+@@ -314,6 +314,10 @@
+           if (cpid <= 0) {    /* The child process */
+               if (logmask && LOG_MASK(LOG_DEBUG))
+                   syslog(LOG_DEBUG, "in child");
++              if ((code = rx_Init(0)) != 0) {
++                  pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++                  exit(0);
++              }
+               if (refresh_token || set_token)
+                   code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user,        /* kerberos name */
+                                                     NULL,     /* instance */
+@@ -363,6 +367,10 @@
+           pam_afs_syslog(LOG_ERR, PAMAFS_PAMERROR, errno);
+       }
+     } else {                  /* dont_fork, used by httpd */
++      if ((code = rx_Init(0)) != 0) {
++          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++          RET(PAM_AUTH_ERR);
++      }
+       if (logmask && LOG_MASK(LOG_DEBUG))
+           syslog(LOG_DEBUG, "dont_fork");
+       if (refresh_token || set_token)
+--- openafs-1.3.87.orig/Makefile.in
++++ openafs-1.3.87/Makefile.in
+@@ -507,8 +507,6 @@
+ # pthread based user space RX library
+ shlibafsrpc: rx rxkad des
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsrpc for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
+       *) \
+@@ -517,8 +515,6 @@
+ shlibafsauthent: ubik auth kauth shlibafsrpc
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsauthent for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
+       *) \