From nobody Mon Feb 25 14:37:06 2002
Return-Path: <debbugs@master.debian.org>
Received: from pacific-carrier-annex.mit.edu by po10.mit.edu (8.9.2/4.7) id SAA06240; Fri, 15 Feb 2002 18:35:30 -0500 (EST)
Received: from master.debian.org (master.debian.org [216.234.231.5])
	by pacific-carrier-annex.mit.edu (8.9.2/8.9.2) with ESMTP id SAA10887
	for <hartmans@mit.edu>; Fri, 15 Feb 2002 18:33:11 -0500 (EST)
Received: from debbugs by master.debian.org with local (Exim 3.12 1 (Debian))
	id 16brql-0002c8-00; Fri, 15 Feb 2002 17:33:07 -0600
X-Loop: owner@bugs.debian.org
Subject: Bug#134173: openafs: FTBFS: add hppa support, links non-PIC code in shlib (hppa/unstable)
Reply-To: LaMont Jones <lamont@smallone.fc.hp.com>, 134173@bugs.debian.org
Resent-From: LaMont Jones <lamont@smallone.fc.hp.com>
Resent-To: debian-bugs-dist@lists.debian.org
Resent-CC: Sam Hartman <hartmans@debian.org>, openafs@packages.qa.debian.org
Resent-Date: Fri, 15 Feb 2002 23:33:05 GMT
Resent-Message-ID: <handler.134173.B.10138158219498@bugs.debian.org>
X-Debian-PR-Message: report 134173
X-Debian-PR-Package: openafs
X-Debian-PR-Keywords: patch
Received: via spool by submit@bugs.debian.org id=B.10138158219498
          (code B ref -1); Fri, 15 Feb 2002 23:33:05 GMT
From: LaMont Jones <lamont@smallone.fc.hp.com>
To: submit@bugs.debian.org
X-Mailer: bug 3.3.10
Message-Id: <20020215232947.1E9B71C010@smallone.fc.hp.com>
Date: Fri, 15 Feb 2002 16:29:47 -0700 (MST)
Delivered-To: submit@bugs.debian.org
Resent-Sender: Debian BTS <debbugs@master.debian.org>
Lines: 224
Xref: tir-na-nogth.mit.edu mail.personal:6134 mail.openafs:6577

Package: openafs
Version: 1.2.3final2-1
Severity: important
Tags: patch

Policy requires that shared libs be built from PIC code only.  The link
of pam_afs.so.1 includes libkauth.a, which is non-PIC code.

The patch below adds hppa support (at least as far as building up to the
link error above..)

lamont


diff -urP t/openafs-1.2.3final2/debian/sysname openafs-1.2.3final2/debian/sysname
--- t/openafs-1.2.3final2/debian/sysname	Fri Feb 15 16:28:53 2002
+++ openafs-1.2.3final2/debian/sysname	Fri Feb 15 16:08:11 2002
@@ -9,6 +9,9 @@
     ia64)
     echo ia64_linux24
 ;;
+    parisc*)
+	echo hppa_linux24
+	;;
     ppc)
 	echo ppc_linux22
 	;;
diff -urP t/openafs-1.2.3final2/src/config/Makefile.hppa_linux24.in openafs-1.2.3final2/src/config/Makefile.hppa_linux24.in
--- t/openafs-1.2.3final2/src/config/Makefile.hppa_linux24.in	Wed Dec 31 17:00:00 1969
+++ openafs-1.2.3final2/src/config/Makefile.hppa_linux24.in	Fri Feb 15 16:15:02 2002
@@ -0,0 +1,43 @@
+# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
+AFS_OSTYPE = LINUX
+
+# Base directory for linux kernel source. Actually a prefix which is complete
+# when LINUX_VERS is appended to it.
+LINUX_SRCDIR = /usr/src/linux-
+# Default list of Linux kernels to build. Build will run only if all
+# can be built. To build a different set, specify LINUX_VERS to make.
+LINUX_VERS = @LINUX_VERSION@
+
+#
+# compilation and link editor flags
+DBG=-g
+OPTMZ=-O2
+PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
+# Put -O2 here to _ensure_ all Makefiles pick it up.
+XCFLAGS= -O2
+MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
+XLDFLAGS=
+SHARE_LDFLAGS = -shared -Xlinker -x
+SHLIB_SUFFIX=so
+SHLIB_CFLAGS=
+#
+# libraries
+MTLIBS=-lpthread
+TXLIBS= /usr/lib/libncurses.so
+XLIBS= @LIB_AFSDB@
+#
+# programs
+AR=ar
+AS=as
+CP=cp
+LD=ld
+MT_CC=cc
+MV=mv
+RANLIB=ranlib
+RM=rm
+INSTALL=${TOP_SRCDIR}/pinstall/pinstall
+#
+# Other OS specific requirements
+#
+YACC = bison -y
+LEX = flex -l
diff -urP t/openafs-1.2.3final2/src/config/param.hppa_linux24.h openafs-1.2.3final2/src/config/param.hppa_linux24.h
--- t/openafs-1.2.3final2/src/config/param.hppa_linux24.h	Wed Dec 31 17:00:00 1969
+++ openafs-1.2.3final2/src/config/param.hppa_linux24.h	Fri Feb 15 16:15:02 2002
@@ -0,0 +1,70 @@
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously hppa specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define AFS_LINUX20_ENV        1
+#define AFS_LINUX22_ENV        1
+#define AFS_LINUX24_ENV        1
+#define AFS_HPPA_LINUX20_ENV    1
+#define AFS_HPPA_LINUX22_ENV    1
+#define AFS_HPPA_LINUX24_ENV    1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs"    /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV  1
+#define AFS_NAMEI_ENV     1   /* User space interface to file system */
+
+#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
+#include <linux/config.h>
+#ifdef CONFIG_SMP
+#undef CONFIG_SMP
+#endif
+/* Using "AFS_SMP" to map to however many #define's are required to get
+ * MP to compile for Linux
+ */
+#ifdef AFS_SMP
+#define CONFIG_SMP
+#ifndef __SMP__
+#define __SMP__
+#endif
+#define AFS_GLOBAL_SUNLOCK
+#endif
+
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
+#endif /* __KERNEL__  && !DUMP_KERNEL*/
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME       "hppa_linux24"
+#define SYS_NAME_ID    SYS_NAME_ID_hppa_linux24
+#define AFSBIG_ENDIAN    1
+#define AFS_HAVE_FFS        1       /* Use system's ffs. */
+#define AFS_HAVE_STATVFS    0  /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV            1   /* read/write implemented via VM */
+
+#ifdef KERNEL
+#ifndef MIN
+#define MIN(A,B) ((A) < (B) ? (A) : (B))
+#endif
+#ifndef MAX
+#define MAX(A,B) ((A) > (B) ? (A) : (B))
+#endif
+#endif /* KERNEL */
+
+#endif /* AFS_PARAM_H */
diff -urP t/openafs-1.2.3final2/src/config/param.hppa_linux24_usr.h openafs-1.2.3final2/src/config/param.hppa_linux24_usr.h
--- t/openafs-1.2.3final2/src/config/param.hppa_linux24_usr.h	Wed Dec 31 17:00:00 1969
+++ openafs-1.2.3final2/src/config/param.hppa_linux24_usr.h	Fri Feb 15 16:15:02 2002
@@ -0,0 +1,54 @@
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously hppa specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define UKERNEL                        1       /* user space kernel */
+#define AFS_ENV                        1
+#define AFS_USR_LINUX20_ENV    1
+#define AFS_USR_LINUX22_ENV    1
+#define AFS_USR_LINUX24_ENV    1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs"    /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV  1
+#define AFS_NAMEI_ENV     1   /* User space interface to file system */
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME       "hppa_linux24"
+#define SYS_NAME_ID    SYS_NAME_ID_hppa_linux24
+#define AFSBIG_ENDIAN       1
+#define AFS_HAVE_FFS        1       /* Use system's ffs. */
+#define AFS_HAVE_STATVFS    0  /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV            1   /* read/write implemented via VM */
+
+#define        afsio_iov       uio_iov
+#define        afsio_iovcnt    uio_iovcnt
+#define        afsio_offset    uio_offset
+#define        afsio_seg       uio_segflg
+#define        afsio_fmode     uio_fmode
+#define        afsio_resid     uio_resid
+#define        AFS_UIOSYS      1
+#define        AFS_UIOUSER     UIO_USERSPACE
+#define        AFS_CLBYTES     MCLBYTES
+#define        AFS_MINCHANGE   2
+#define        VATTR_NULL      usr_vattr_null
+
+#define AFS_DIRENT
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#endif /* AFS_PARAM_H */
diff -urP t/openafs-1.2.3final2/src/lwp/process.c openafs-1.2.3final2/src/lwp/process.c
--- t/openafs-1.2.3final2/src/lwp/process.c	Fri Feb 15 16:28:52 2002
+++ openafs-1.2.3final2/src/lwp/process.c	Fri Feb 15 16:19:58 2002
@@ -89,7 +89,7 @@
 # else
 #  define LWP_SP JB_SP
 # endif
-#elif	defined(AFS_HPUX_ENV)
+#elif	defined(AFS_HPUX_ENV) || defined (AFS_HPPA_LINUX20_ENV)
 #define	LWP_SP	1
 #elif	defined(AFS_LINUX20_ENV)
 #if defined(AFS_PPC_LINUX20_ENV)

-- System Information
Debian Release: 3.0
Kernel Version: Linux smallone 2.4.17-64 #1 Wed Jan 30 00:23:46 MST 2002 parisc64 unknown


