[4443] in Moira
Moira patches for supporting krb5 1.4.1, OpenAFS 1.4.1, Oracle 10g
daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Thu May 11 16:53:57 2006
Message-Id: <200605112051.k4BKpv9w018915@brad-majors.mit.edu>
To: moiradev@MIT.EDU
Date: Thu, 11 May 2006 16:51:57 -0400
From: Garry Zacheiss <zacheiss@MIT.EDU>
These are all the patches necessary for moira to build cleanly on a 9.4
machine against Oracle 10.2.0.2, MIT krb5 1.4.1, and OpenAFS 1.4.1. I
alsoc leaned up an autoconf warning in the configure.in file.
The most interesting change is the added definition of __sparc in the
Pro*C defines. This is because the Solaris 10 header files break if you
don't have __sparc or __sparcv9 defined (rlim_t, lloff_t, and a bunch of
other typedefs don't happen) and Pro*C doesn't define it (although it
does define sparc).
For the time being, I am building all of the moira server binaries as 32
bit apps, not 64bit, because compiling them as 64bit apps has no obvious
benefit and feels like tempting fate.
Garry
Index: configure.in
===================================================================
RCS file: /mit/moiradev/repository/moira/configure.in,v
retrieving revision 1.43
diff -u -r1.43 configure.in
--- configure.in 20 Jul 2004 08:10:17 -0000 1.43
+++ configure.in 11 May 2006 20:33:43 -0000
@@ -102,11 +102,10 @@
fi
COMPILE_ET=compile_et],
[AC_MSG_RESULT(util/et)
- COM_ERR_SUBDIR=util/et;
MR_INCLUDE(`pwd`/util/et)
MR_LIBS(`pwd`/util/et)
COMPILE_ET=`pwd`/util/et/compile_et
- AC_CONFIG_SUBDIRS($COM_ERR_SUBDIR)])
+ AC_CONFIG_SUBDIRS(util/et)])
AC_SUBST(COM_ERR_SUBDIR)
AC_SUBST(COMPILE_ET)
@@ -149,7 +148,7 @@
REG_SVR_INCLUDES=-I$krb5/include
REG_SVR_LIBS=-L$krb5/lib
fi
- REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -ldyn -lkrb4 -ldes425 -lkrb5 -l${crypto} -lresolv"
+ REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -lkrb4 -ldes425 -lkrb5 -l${crypto} -lresolv"
else
REG_SVR_DEFS=-DKRB4
REG_SVR_LIBS=-lkadm
@@ -247,15 +246,21 @@
2.2.4.0.0)
SQL_LIBS="-L$oracle/lib -lclntsh -lxa -lsql -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 `cat $oracle/rdbms/lib/sysliblist` -lm -lthread"
;;
- *)
+ 8.1.7.4.0)
SQL_LIBS="-L$oracle/lib -lclntsh `cat $oracle/lib/sysliblist` -R$oracle/lib -laio -lm -lthread"
;;
+ 10.2.0.2.0)
+ SQL_LIBS="-L$oracle/lib32 -lclntsh `cat $oracle/lib32/ldflags` `cat $oracle/lib32/sysliblist` -R$oracle/lib32 -laio -lposix4 -lm -lthread"
+ ;;
+ *)
+ AC_MSG_ERROR(Unsupported Oracle release)
+ ;;
esac
SVRSUBDIRS='$(SVRDIRS)'
SERVER_OUTPUT_FILES="db/Makefile server/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/Makefile incremental/Makefile incremental/mailman/Makefile reg_svr/Makefile regtape/Makefile"
PRO_C=$oracle/bin/proc
PRO_C_OPTS=CODE=ANSI_C
- PRO_C_DEFS="DEFINE=_PROC_ $PRO_C_DEFS"
+ PRO_C_DEFS="DEFINE=_PROC_ DEFINE=__sparc $PRO_C_DEFS"
fi
AC_SUBST(PRO_C)
AC_SUBST(PRO_C_DEFS)
@@ -327,7 +332,7 @@
fi
AC_CHECK_LIB(sys, pioctl, :,
[AC_MSG_ERROR(AFS libraries not found)],
- $AFS_LIBS -lrx -llwp -lsys)
+ $AFS_LIBS -lrx -llwp -lsys -lafsutil)
MR_DEFINE(HAVE_AFS)
AFS_SUBDIRS="afs"
Index: afssync/ubik.c
===================================================================
RCS file: /mit/moiradev/repository/moira/afssync/ubik.c,v
retrieving revision 1.5
diff -u -r1.5 ubik.c
--- afssync/ubik.c 30 Apr 2002 01:59:32 -0000 1.5
+++ afssync/ubik.c 11 May 2006 20:33:43 -0000
@@ -6,11 +6,29 @@
#include <lock.h>
#define UBIK_INTERNALS
#include <stds.h>
-#include <ubik.h>
#include <rx/xdr.h>
#include "print.h"
#include "prserver.h"
+/* Stolen bits of ubik.h. */
+
+struct ubik_version {
+ afs_int32 epoch;
+ afs_int32 counter;
+};
+typedef struct ubik_version ubik_version;
+
+/* ubik header file structure */
+struct ubik_hdr {
+ afs_int32 magic; /* magic number */
+ short pad1; /* some 0-initd padding */
+ short size; /* header allocation size */
+ struct ubik_version version; /* the version for this file */
+};
+
+#define HDRSIZE 64 /* bytes of header per dbfile */
+#define UBIK_MAGIC 0x354545
+
extern int dbase_fd;
struct ubik_dbase *dbase;