Blob Blame History Raw
diff -ur lcgdm-1.8.2.orig/config/Imake.rules lcgdm-1.8.2/config/Imake.rules
--- lcgdm-1.8.2.orig/config/Imake.rules	2011-12-06 15:29:45.424784129 +0100
+++ lcgdm-1.8.2/config/Imake.rules	2011-12-06 15:30:52.691786014 +0100
@@ -165,6 +165,13 @@
 	ln -s SharedLibraryTargetName(libname).rev $@.`echo rev|cut -f1 -d.`
 #endif
 
+#ifndef InstallPlugin
+#define InstallPlugin(libname,dest)			@@\
+dest/SharedLibraryTargetName(libname): dest SharedLibraryTargetName(libname)	@@\
+	-mv $@ dest/OLD-SharedLibraryTargetName(libname)	@@\
+	cp SharedLibraryTargetName(libname) $@
+#endif
+
 #ifndef MakeDir
 #define MakeDir(dirname,owner,group,mode)		@@\
 dirname:						@@\
diff -ur lcgdm-1.8.2.orig/security/Csec_api_loader.c lcgdm-1.8.2/security/Csec_api_loader.c
--- lcgdm-1.8.2.orig/security/Csec_api_loader.c	2011-12-06 14:35:18.000000000 +0100
+++ lcgdm-1.8.2/security/Csec_api_loader.c	2011-12-06 15:30:52.693786002 +0100
@@ -222,6 +222,7 @@
 void *Csec_get_shlib(Csec_context_t *ctx) {
   char filename[CA_MAXNAMELEN];
   char filename_thread[CA_MAXNAMELEN];
+  char fullpath[CA_MAXNAMELEN];
   char suffix[CA_MAXNAMELEN];
   char symname[256];
   void *handle;
@@ -302,6 +303,12 @@
                         filename_thread,
                         ctx->protocols[ctx->current_protocol].id);
       handle = dlopen(filename_thread, RTLD_NOW);
+      if (handle == NULL) {
+        strcpy(fullpath, LIBDIR);
+        strcat(fullpath, "/");
+        strcat(fullpath, filename_thread);
+        handle = dlopen(fullpath, RTLD_NOW);
+      }
     }
     
     if (handle == NULL) {
@@ -310,6 +317,12 @@
                         filename,
                         ctx->protocols[ctx->current_protocol].id);
       handle = dlopen(filename, RTLD_NOW);
+      if (handle == NULL) {
+        strcpy(fullpath, LIBDIR);
+        strcat(fullpath, "/");
+        strcat(fullpath, filename);
+        handle = dlopen(fullpath, RTLD_NOW);
+      }
     }
   
     if (handle == NULL) {
diff -ur lcgdm-1.8.2.orig/security/Imakefile lcgdm-1.8.2/security/Imakefile
--- lcgdm-1.8.2.orig/security/Imakefile	2011-12-06 15:29:45.458784131 +0100
+++ lcgdm-1.8.2/security/Imakefile	2011-12-06 15:30:52.746786015 +0100
@@ -13,7 +13,8 @@
 include FileName(..,VERSION)
 
 INCLUDES = FileName(..,h)
-LIB = InstallLibDir
+LIBBASE = InstallLibDir
+LIB = $(LIBBASE)/lcgdm
 
 #if UseKRB5
 #define KRB5Mech KRB5
@@ -179,7 +180,7 @@
 NormalLibraryTarget(security,$(SECLIB_OBJS))
 
 Csec_api_loader.Osuf: Csec_api_loader.c
-	$(CC) $(CFLAGS) -c -o Csec_api_loader.Osuf Csec_api_loader.c
+	$(CC) $(CFLAGS) -DLIBDIR='"$(LIB)"' -c -o Csec_api_loader.Osuf Csec_api_loader.c
 
 #if UseGSI
 SharedLibraryTargetName(Csec_plugin_GSI_thread): Csec_plugin_GSI_pthr.Osuf Csec_plugin_GSI_pthr_mapper.Osuf
@@ -232,11 +233,11 @@
 
 MakeDir($(LIB),root,bin,0755)
 
-InstallSharedLibrary(Csec_plugin_ID,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_GSI,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_GSI_thread,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_KRB5,$(VERSION),$(LIB))
-InstallSharedLibrary(Csec_plugin_KRB4,$(VERSION),$(LIB))
+InstallPlugin(Csec_plugin_ID,$(LIB))
+InstallPlugin(Csec_plugin_GSI,$(LIB))
+InstallPlugin(Csec_plugin_GSI_thread,$(LIB))
+InstallPlugin(Csec_plugin_KRB5,$(LIB))
+InstallPlugin(Csec_plugin_KRB4,$(LIB))
 
 MakeDir($(LIBMANDIR),root,bin,0755)