From 100fea233dd351c7f1fe787f36c9628d2136e015 Mon Sep 17 00:00:00 2001 From: Andrew McNab Date: Sat, 12 Feb 2005 15:17:47 +0000 Subject: [PATCH] libgridsite_globus[.so|.a] --- org.gridsite.core/CHANGES | 2 + org.gridsite.core/project/configure.properties.xml | 2 +- org.gridsite.core/src/Makefile | 100 +++++++++++++++------ org.gridsite.core/src/gridsite.spec | 5 +- org.gridsite.core/src/htcp | Bin 29747 -> 29747 bytes org.gridsite.core/src/real-gridsite-admin.cgi | Bin 96256 -> 99027 bytes 6 files changed, 82 insertions(+), 27 deletions(-) diff --git a/org.gridsite.core/CHANGES b/org.gridsite.core/CHANGES index b500a1c..304408a 100644 --- a/org.gridsite.core/CHANGES +++ b/org.gridsite.core/CHANGES @@ -5,6 +5,8 @@ - Change ordering of output proxy file produced by GRSTx509CacheProxy so proxy private key is the 2nd PEM encoded block (rather than at the end.) Bug #6365 +- Add libgridsite_globus[.so|.a] in preparation for + separate Globus OpenSSL and system OpenSSL versions * Tue Feb 8 2005 Andrew McNab - ==== GridSite version 1.1.5 ==== * Tue Dec 14 2004 Andrew McNab diff --git a/org.gridsite.core/project/configure.properties.xml b/org.gridsite.core/project/configure.properties.xml index 19887fb..0d134dc 100644 --- a/org.gridsite.core/project/configure.properties.xml +++ b/org.gridsite.core/project/configure.properties.xml @@ -4,6 +4,6 @@ + value="prefix=${stage.abs.dir} GSOAPDIR=${with.gsoap.prefix} OPENSSL_GLOBUS_FLAGS=-I${with.globus.prefix}/include/gcc32 OPENSSL_GLOBUS_LIBS=-L${with.globus.prefix}/lib/ FLAVOR_GLOBUS_EXT=_gcc32" /> diff --git a/org.gridsite.core/src/Makefile b/org.gridsite.core/src/Makefile index 5df145b..3a130cf 100644 --- a/org.gridsite.core/src/Makefile +++ b/org.gridsite.core/src/Makefile @@ -1,6 +1,6 @@ # # Andrew McNab and Shiv Kaushal, University of Manchester. -# Copyright (c) 2002-4. All rights reserved. +# Copyright (c) 2002-5. All rights reserved. # # Redistribution and use in source and binary forms, with or # without modification, are permitted provided that the following @@ -48,18 +48,18 @@ ifndef MYCFLAGS export MYCFLAGS=-I. -I../interface -I/usr/include/httpd -I/usr/include/apr-0 -I/opt/glite/include endif -ifndef OPENSSL_FLAGS -export OPENSSL_FLAGS=-I/usr/include -endif +#ifndef OPENSSL_FLAGS +#export OPENSSL_FLAGS=-I/usr/include +#endif ifndef MYLDFLAGS export MYLDFLAGS=-L. # export MYLDFLAGS=-L. -L/opt/glite/lib -lvomsc endif -ifndef OPENSSL_LIBS -export OPENSSL_LIBS=-L/usr/lib -endif +#ifndef OPENSSL_GLOBUS_LIBS +#export OPENSSL_GLOBUS_LIBS=-L/usr/lib +#endif # # Build @@ -69,6 +69,10 @@ build: libgridsite.so.$(VERSION) libgridsite.a htcp mod_gridsite.so \ urlencode findproxyfile real-gridsite-admin.cgi \ # gridsite-delegation.cgi # htproxyput +build: libgridsite_globus.so.$(VERSION) libgridsite_globus.a + +# First, normal versions using system OpenSSL rather than Globus OpenSSL + libgridsite.so.$(VERSION): grst_x509.o grst_gacl.o grst_http.o gcc -shared -Wl,-soname,libgridsite.so.$(MINOR_VERSION) \ -o libgridsite.so.$(PATCH_VERSION) grst_x509.o grst_gacl.o grst_http.o @@ -77,21 +81,59 @@ libgridsite.a: grst_x509.o grst_gacl.o grst_http.o ar src libgridsite.a grst_x509.o grst_gacl.o grst_http.o grst_x509.o: grst_x509.c ../interface/gridsite.h - gcc $(MYCFLAGS) $(OPENSSL_FLAGS) \ + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ -I/usr/kerberos/include -c grst_x509.c grst_gacl.o: grst_gacl.c ../interface/gridsite.h - gcc $(MYCFLAGS) $(OPENSSL_FLAGS) \ + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ -I/usr/kerberos/include `xml2-config --cflags` -c grst_gacl.c grst_http.o: grst_http.c ../interface/gridsite.h - gcc $(MYCFLAGS) $(OPENSSL_FLAGS) \ + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ -I/usr/kerberos/include -c grst_http.c +# Then build versions using Globus OpenSSL if configured + +ifdef OPENSSL_GLOBUS_LIBS + +libgridsite_globus.so.$(VERSION): grst_x509.o grst_gacl.o grst_http.o + gcc -shared -Wl,-soname,libgridsite_globus.so.$(MINOR_VERSION) \ + -o libgridsite_globus.so.$(PATCH_VERSION) \ + grst_x509_globus.o grst_gacl_globus.o grst_http_globus.o + +libgridsite_globus.a: grst_x509_globus.o grst_gacl_globus.o grst_http_globus.o + ar src libgridsite_globus.a \ + grst_x509_globus.o grst_gacl_globus.o grst_http_globus.o + +grst_x509_globus.o: grst_x509_globus.c ../interface/gridsite.h + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ + -I/usr/kerberos/include -c grst_x509.c \ + -o grst_x509_globus.o + +grst_gacl_globus.o: grst_gacl_globus.c ../interface/gridsite.h + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ + -I/usr/kerberos/include `xml2-config --cflags` -c grst_gacl.c \ + -o grst_gacl_globus.o + +grst_http_globus.o: grst_http_globus.c ../interface/gridsite.h + gcc $(MYCFLAGS) $(OPENSSL_GLOBUS_FLAGS) \ + -I/usr/kerberos/include -c grst_http.c \ + -o grst_http_globus.o + +else + +libgridsite_globus.so.$(VERSION): libgridsite.so.$(VERSION) + cp -f libgridsite.so.$(VERSION) libgridsite_globus.so.$(VERSION) + +libgridsite_globus.a: libgridsite.a + cp -f libgridsite.a libgridsite_globus.a + +endif + urlencode: urlencode.c libgridsite.a gcc -DVERSION=\"$(PATCH_VERSION)\" $(MYCFLAGS) \ -o urlencode urlencode.c -L. \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include -lgridsite + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include -lgridsite htcp: htcp.c gcc -DVERSION=\"$(PATCH_VERSION)\" -I. -o htcp htcp.c \ @@ -99,7 +141,7 @@ htcp: htcp.c mod_gridsite.so: mod_gridsite.c mod_ssl-private.h libgridsite.a gcc $(MYCFLAGS) -shared -Wl,-soname=gridsite_module \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include \ + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include \ -I/usr/include/libxml2 \ -DVERSION=\"$(VERSION)\" -o mod_gridsite.so \ mod_gridsite.c $(MYLDFLAGS) -lxml2 -lm -lz -lgridsite @@ -110,22 +152,22 @@ real-gridsite-admin.cgi: grst_admin_main.c grst_admin_gacl.c \ grst_admin_main.c \ grst_admin_gacl.c \ grst_admin_file.c \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include \ - -DVERSION=\"$(VERSION)\" $(OPENSSL_LIBS) -lgridsite -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lz -lm + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include \ + -DVERSION=\"$(VERSION)\" $(OPENSSL_GLOBUS_LIBS) -lgridsite -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lz -lm findproxyfile: findproxyfile.c libgridsite.a gcc -DVERSION=\"$(PATCH_VERSION)\" $(MYCFLAGS) $(MYLDFLAGS) \ -o findproxyfile findproxyfile.c -L. \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include -lgridsite \ - $(OPENSSL_LIBS) -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lz -lm + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include -lgridsite \ + $(OPENSSL_GLOBUS_LIBS) -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lz -lm apidoc: doxygen Doxyfile gaclexample: gaclexample.c libgridsite.a gcc -o gaclexample gaclexample.c -I. -L. \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include -lgridsite \ - -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lz -lm + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include -lgridsite \ + -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lz -lm # # Delegation machinery, including SOAP delegation portType. To build this @@ -149,30 +191,30 @@ gridsite-delegation.cgi: grst-delegation.c delegation.h delegation.wsdl \ soapC.c soapServer.c gcc $(MYCFLAGS) $(MYLDFLAGS) -o gridsite-delegation.cgi \ grst-delegation.c \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include -I$(GSOAPDIR)/include \ + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include -I$(GSOAPDIR)/include \ -DVERSION=\"$(VERSION)\" -L$(GSOAPDIR)/lib \ soapC.c soapServer.c -lgsoap \ - -lgridsite -lcurl -lz -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lm + -lgridsite -lcurl -lz -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lm htproxyput: htproxyput.c delegation.h delegation.wsdl \ soapC.c soapServer.c gcc $(MYCFLAGS) $(MYLDFLAGS) -o htproxyput \ htproxyput.c \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include \ + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include \ -g -DVERSION=\"$(VERSION)\" \ -I$(GSOAPDIR)/include -DWITH_OPENSSL -L$(GSOAPDIR)/lib \ soapC.c soapClient.c -lgsoap \ - -lgridsite -lcurl -lz -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lm + -lgridsite -lcurl -lz -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lm proxyput-example: proxyput-example.c delegation.h delegation.wsdl \ soapC.c soapServer.c libstdsoap2.a gcc $(MYCFLAGS) $(MYLDFLAGS) -o proxyput-example \ proxyput-example.c \ - $(OPENSSL_FLAGS) -I/usr/kerberos/include \ + $(OPENSSL_GLOBUS_FLAGS) -I/usr/kerberos/include \ -g -DVERSION=\"$(VERSION)\" \ -I$(GSOAPDIR) -DWITH_OPENSSL \ soapC.c soapClient.c libstdsoap2.a \ - -lgridsite -lcurl -lz -lssl$(FLAVOR_EXT) -lcrypto$(FLAVOR_EXT) -lxml2 -lm + -lgridsite -lcurl -lz -lssl$(FLAVOR_GLOBUS_EXT) -lcrypto$(FLAVOR_GLOBUS_EXT) -lxml2 -lm clean: @@ -192,8 +234,8 @@ install: apidoc cp -f ../interface/gridsite-gacl.h $(prefix)/include cp -f urlencode $(prefix)/bin cp -f findproxyfile $(prefix)/bin - cp -f libgridsite.a $(prefix)/lib cp -f real-gridsite-admin.cgi $(prefix)/sbin + cp -f libgridsite.a $(prefix)/lib cp -f libgridsite.so.$(PATCH_VERSION) $(prefix)/lib ln -sf libgridsite.so.$(PATCH_VERSION) \ $(prefix)/lib/libgridsite.so @@ -201,6 +243,14 @@ install: apidoc $(prefix)/lib/libgridsite.so.$(MAJOR_VERSION) ln -sf libgridsite.so.$(PATCH_VERSION) \ $(prefix)/lib/libgridsite.so.$(MINOR_VERSION) + cp -f libgridsite_globus.a $(prefix)/lib + cp -f libgridsite_globus.so.$(PATCH_VERSION) $(prefix)/lib + ln -sf libgridsite_globus.so.$(PATCH_VERSION) \ + $(prefix)/lib/libgridsite_globus.so + ln -sf libgridsite_globus.so.$(PATCH_VERSION) \ + $(prefix)/lib/libgridsite_globus.so.$(MAJOR_VERSION) + ln -sf libgridsite_globus.so.$(PATCH_VERSION) \ + $(prefix)/lib/libgridsite_globus.so.$(MINOR_VERSION) cp -f doxygen/index.html \ $(prefix)/share/doc/gridsite-$(PATCH_VERSION)/doxygen-index.html cp -f doxygen/* $(prefix)/share/doc/gridsite-$(PATCH_VERSION) diff --git a/org.gridsite.core/src/gridsite.spec b/org.gridsite.core/src/gridsite.spec index e71749f..7e4a5ef 100644 --- a/org.gridsite.core/src/gridsite.spec +++ b/org.gridsite.core/src/gridsite.spec @@ -1,6 +1,6 @@ Name: gridsite Version: %(echo ${MYVERSION:-1.1.x}) -Release: 3 +Release: 1 Summary: GridSite Copyright: Modified BSD Group: System Environment/Daemons @@ -54,6 +54,8 @@ rm -f %(echo ${MYPREFIX:-/usr})/share/doc/gridsite %files %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite.so.%{version} %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite.so +%attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite_globus.so.%{version} +%attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite_globus.so %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/bin/urlencode %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/bin/findproxyfile %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/share/doc/gridsite-%{version} @@ -62,6 +64,7 @@ rm -f %(echo ${MYPREFIX:-/usr})/share/doc/gridsite %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/include/gridsite.h %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/include/gridsite-gacl.h %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite.a +%attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/libgridsite_globus.a %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/lib/httpd/modules/mod_gridsite.so %attr(-, root, root) %(echo ${MYPREFIX:-/usr})/sbin/real-gridsite-admin.cgi diff --git a/org.gridsite.core/src/htcp b/org.gridsite.core/src/htcp index ac0153b23a52348015c9bedbcc3153157cb93075..5140cf5a575d8eace96923231cda4d2091671e0b 100644 GIT binary patch delta 20 ccmdn|f^qW;#tm$CjHZ(pT1jqJuoE@|09rE#L;wH) delta 20 ccmdn|f^qW;#tm$CjK-4}T1jqJuoE@|09qdhLI3~& diff --git a/org.gridsite.core/src/real-gridsite-admin.cgi b/org.gridsite.core/src/real-gridsite-admin.cgi index 74a00102428cd5c64342d721f34b0f96e422672f..aa3f9e19ca75480470c47b1a945eab94fd9fdf39 100644 GIT binary patch delta 40063 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
  • whI!ssV?(7>?B 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 -- 1.8.2.3