From 0517884e8527da75a6b67453e21eae2914ae6c88 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Mar 17 2010 18:13:04 +0000 Subject: - Add missing build requires on autotools - Fix configure to look for functions in the right libraries --- diff --git a/.cvsignore b/.cvsignore index e69de29..a7a0d64 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +dcap-2.44.0.tar.gz diff --git a/dcap-adler32.patch b/dcap-adler32.patch new file mode 100644 index 0000000..521c20b --- /dev/null +++ b/dcap-adler32.patch @@ -0,0 +1,272 @@ +Index: configure.ac +=================================================================== +--- configure.ac (revision 13655) ++++ configure.ac (working copy) +@@ -54,6 +54,7 @@ + AM_PROG_CC_C_O + AC_SEARCH_LIBS([gethostbyname], [nsl]) + AC_SEARCH_LIBS([bind], [socket]) ++AC_SEARCH_LIBS([adler32], [z]) + AC_CHECK_FUNCS([alarm]) + AC_CHECK_FUNCS([atexit]) + AC_CHECK_FUNCS([bzero]) +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am (revision 13655) ++++ src/Makefile.am (working copy) +@@ -14,7 +14,7 @@ + dcap_errno.h + + +-c_sources = debug_level.h adler32.c \ ++c_sources = debug_level.h \ + array.c \ + char2crc.c \ + dcap.c \ +Index: src/adler32.c +=================================================================== +--- src/adler32.c (revision 13655) ++++ src/adler32.c (working copy) +@@ -1,59 +0,0 @@ +-/* +- * DCAP - dCache Access Protocol client interface +- * +- * Copyright (C) 2000,2004 DESY Hamburg DMG-Division. +- * +- * AUTHOR: Tigran Mkrtchayn (tigran.mkrtchyan@desy.de) +- * +- * This program can be distributed under the terms of the GNU LGPL. +- * See the file COPYING.LIB +- * +- */ +- +- +-/* adler32.c -- compute the Adler-32 checksum of a data stream +- * Copyright (C) 1995-1996 Mark Adler +- * For conditions of distribution and use, see copyright notice in zlib.h +- */ +- +-/* Id: adler32.c,v 1.3 1999/04/23 18:30:29 cgw Exp */ +-/* +- * $Id: adler32.c,v 1.7 2005-04-25 07:56:37 tigran Exp $ +- */ +- +-#define BASE 65521L /* largest prime smaller than 65536 */ +-#define NMAX 5552 +-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ +- +-#define DO1(buf,i) {s1 += buf[i]; s2 += s1;} +-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); +-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); +-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); +-#define DO16(buf) DO8(buf,0); DO8(buf,8); +- +-/* ========================================================================= */ +-unsigned long update_adler32(unsigned long adler, const unsigned char *buf, unsigned int len) +-{ +- unsigned long s1 = adler & 0xffff; +- unsigned long s2 = (adler >> 16) & 0xffff; +- int k; +- +- if (buf == 0) return 1L; +- +- while (len > 0) { +- k = len < NMAX ? len : NMAX; +- len -= k; +- while (k >= 16) { +- DO16(buf); +- buf += 16; +- k -= 16; +- } +- if (k != 0) do { +- s1 += *buf++; +- s2 += s1; +- } while (--k); +- s1 %= BASE; +- s2 %= BASE; +- } +- return (s2 << 16) | s1; +-} +Index: src/dcap_checksum.c +=================================================================== +--- src/dcap_checksum.c (revision 13655) ++++ src/dcap_checksum.c (working copy) +@@ -16,6 +16,7 @@ + */ + + #include "dcap_shared.h" ++#include + + /* + * reserved for future +@@ -33,11 +34,10 @@ + }; + #endif + +-extern unsigned long update_adler32(unsigned long, unsigned char *, size_t); + + void update_checkSum(checkSum *sum, unsigned char *buf, size_t len) + { +- sum->sum = update_adler32(sum->sum, buf, len); ++ sum->sum = adler32(sum->sum, buf, len); + } + + +Index: src/dcap_read.c +=================================================================== +--- src/dcap_read.c (revision 13655) ++++ src/dcap_read.c (working copy) +@@ -16,14 +16,13 @@ + */ + + +- ++#include + #include "dcap_shared.h" + + ssize_t dc_real_read( struct vsp_node *node, void *buff, size_t buflen); + ssize_t dc_pread64( int fd, void *buff, size_t buflen, off64_t); + extern off64_t dc_real_lseek(struct vsp_node *node, off64_t offset, int whence); + extern int dc_real_fsync(struct vsp_node *); +-extern unsigned long update_adler32(unsigned long, unsigned char *, size_t); + + ssize_t + dc_read(int fd, void *buff, size_t buflen) +@@ -542,7 +541,7 @@ + goto out; + } + +- sum = update_adler32(sum, (unsigned char *)input_buffer, blocksize); ++ sum = adler32(sum, (unsigned char *)input_buffer, blocksize); + + dc_debug(DC_INFO, "block len = %d, checksum is: 0x%.8x",blocksize, sum ); + +Index: src/getopt.c +=================================================================== +--- src/getopt.c (revision 13655) ++++ src/getopt.c (working copy) +@@ -1,124 +0,0 @@ +-/* +- * getopt.c -- +- * +- * Standard UNIX getopt function. Code is from BSD. +- * +- * Copyright (c) 1987-2001 The Regents of the University of California. +- * All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that the following conditions are met: +- * +- * A. Redistributions of source code must retain the above copyright notice, +- * this list of conditions and the following disclaimer. +- * B. Redistributions in binary form must reproduce the above copyright notice, +- * this list of conditions and the following disclaimer in the documentation +- * and/or other materials provided with the distribution. +- * C. Neither the names of the copyright holders nor the names of its +- * contributors may be used to endorse or promote products derived from this +- * software without specific prior written permission. +- * +- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS +- * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE +- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +- * POSSIBILITY OF SUCH DAMAGE. +- */ +- +-/* #if !defined(lint) +- * static char sccsid[] = "@(#)getopt.c 8.2 (Berkeley) 4/2/94"; +- * #endif +- */ +- +-#include +-#include +-#include +- +-/* declarations to provide consistent linkage */ +-extern char *optarg; +-extern int optind; +-extern int opterr; +- +-int opterr = 1, /* if error message should be printed */ +- optind = 1, /* index into parent argv vector */ +- optopt, /* character checked for validity */ +- optreset; /* reset getopt */ +-char *optarg; /* argument associated with option */ +- +-#define BADCH (int)'?' +-#define BADARG (int)':' +-#define EMSG "" +- +-/* +- * getopt -- +- * Parse argc/argv argument vector. +- */ +-int +-getopt(nargc, nargv, ostr) +- int nargc; +- char * const *nargv; +- const char *ostr; +-{ +- static char *place = EMSG; /* option letter processing */ +- char *oli; /* option letter list index */ +- +- if (optreset || !*place) { /* update scanning pointer */ +- optreset = 0; +- if (optind >= nargc || *(place = nargv[optind]) != '-') { +- place = EMSG; +- return (EOF); +- } +- if (place[1] && *++place == '-') { /* found "--" */ +- ++optind; +- place = EMSG; +- return (EOF); +- } +- } /* option letter okay? */ +- if ((optopt = (int)*place++) == (int)':' || +- !(oli = strchr(ostr, optopt))) { +- /* +- * if the user didn't specify '-' as an option, +- * assume it means EOF. +- */ +- if (optopt == (int)'-') +- return (EOF); +- if (!*place) +- ++optind; +- if (opterr && *ostr != ':') +- (void)fprintf(stderr, +- "%s: illegal option -- %c\n", __FILE__, optopt); +- return (BADCH); +- } +- if (*++oli != ':') { /* don't need argument */ +- optarg = NULL; +- if (!*place) +- ++optind; +- } +- else { /* need an argument */ +- if (*place) /* no white space */ +- optarg = place; +- else if (nargc <= ++optind) { /* no arg */ +- place = EMSG; +- if (*ostr == ':') +- return (BADARG); +- if (opterr) +- (void)fprintf(stderr, +- "%s: option requires an argument -- %c\n", +- __FILE__, optopt); +- return (BADCH); +- } +- else /* white space */ +- optarg = nargv[optind]; +- place = EMSG; +- ++optind; +- } +- return (optopt); /* dump back option letter */ +-} +- +- diff --git a/dcap-dlopen.patch b/dcap-dlopen.patch new file mode 100644 index 0000000..2b79657 --- /dev/null +++ b/dcap-dlopen.patch @@ -0,0 +1,26 @@ +diff -ur dcap-1.9.7.1.orig/src/tunnelManager.c dcap-1.9.7.1/src/tunnelManager.c +--- dcap-1.9.7.1.orig/src/tunnelManager.c 2010-03-09 09:47:40.028551086 +0100 ++++ dcap-1.9.7.1/src/tunnelManager.c 2010-03-09 11:32:11.657304932 +0100 +@@ -84,6 +84,7 @@ + { + void *handle; + ioTunnel *tunnel; ++ char *fullpath; + + if(libname == NULL) { + dc_debug(DC_ERROR, "Bad tunnel name"); +@@ -97,6 +98,14 @@ + + handle = dlopen( libname, RTLD_NOW); + ++ if(handle == NULL) { ++ fullpath = malloc(strlen("@@LIBDIR@@/dcap/") + strlen(libname) + 1); ++ strcpy(fullpath, "@@LIBDIR@@/dcap/"); ++ strcat(fullpath, libname); ++ handle = dlopen(fullpath, RTLD_NOW); ++ free(fullpath); ++ } ++ + if(handle == NULL) { + goto fail; + } diff --git a/dcap-docs.patch b/dcap-docs.patch new file mode 100644 index 0000000..09ebe2f --- /dev/null +++ b/dcap-docs.patch @@ -0,0 +1,32 @@ +diff -ur dcap-2.44.0.orig/bootstrap.sh dcap-2.44.0/bootstrap.sh +--- dcap-2.44.0.orig/bootstrap.sh 2010-03-10 06:16:52.180550505 +0100 ++++ dcap-2.44.0/bootstrap.sh 2010-03-11 22:28:37.122885521 +0100 +@@ -1,12 +1,11 @@ + #!/bin/sh + set -x + mkdir -p config +-touch AUTHORS ChangeLog NEWS README COPYING + aclocal -I config + #aclocal-1.10 -I config + autoheader + libtoolize --automake +-automake --add-missing --copy ++automake --add-missing --copy --foreign + #automake-1.10 --add-missing --copy + autoconf + +diff -ur dcap-2.44.0.orig/Makefile.am dcap-2.44.0/Makefile.am +--- dcap-2.44.0.orig/Makefile.am 2010-03-10 06:16:52.181551538 +0100 ++++ dcap-2.44.0/Makefile.am 2010-03-11 22:27:42.281877109 +0100 +@@ -62,11 +62,6 @@ + + docfiles = \ + AUTHORS \ +- COPYING \ +- ChangeLog \ +- INSTALL \ +- NEWS \ +- README \ + COPYING.LIB \ + LICENSE + diff --git a/dcap-libs.patch b/dcap-libs.patch new file mode 100644 index 0000000..61464f6 --- /dev/null +++ b/dcap-libs.patch @@ -0,0 +1,383 @@ +diff -ur dcap-2.44.0.orig/configure.ac dcap-2.44.0/configure.ac +--- dcap-2.44.0.orig/configure.ac 2010-03-10 06:16:52.180550505 +0100 ++++ dcap-2.44.0/configure.ac 2010-03-11 22:16:16.928885522 +0100 +@@ -179,8 +179,8 @@ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_proxy_ssl, X509V3_conf_free, [ +-GLOBUS_EPEL_LIBS="-lglobus_proxy_ssl ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(crypto, X509V3_conf_free, [ ++GLOBUS_EPEL_LIBS="-lcrypto ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) +@@ -191,49 +191,49 @@ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_error, globus_module_getenv, [ +-GLOBUS_EPEL_LIBS="-lglobus_openssl_error ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(globus_common, globus_module_getenv, [ ++GLOBUS_EPEL_LIBS="-lglobus_common ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_sysconfig, globus_fifo_enqueue, [ +-GLOBUS_EPEL_LIBS="-lglobus_gsi_sysconfig ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(globus_common, globus_fifo_enqueue, [ ++GLOBUS_EPEL_LIBS="-lglobus_common ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl, globus_module_activate, [ +-GLOBUS_EPEL_LIBS="-lglobus_openssl ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(globus_common, globus_module_activate, [ ++GLOBUS_EPEL_LIBS="-lglobus_common ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_credential,globus_module_getenv, [ +-GLOBUS_EPEL_LIBS="-lglobus_gsi_credential ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(globus_common, globus_module_getenv, [ ++GLOBUS_EPEL_LIBS="-lglobus_common ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_proxy_core,X509_sign, [ +-GLOBUS_EPEL_LIBS="-lglobus_gsi_proxy_core ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(crypto, X509_sign, [ ++GLOBUS_EPEL_LIBS="-lcrypto ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_cert_utils,X509_get_subject_name, [ +-GLOBUS_EPEL_LIBS="-lglobus_gsi_cert_utils ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(crypto, X509_get_subject_name, [ ++GLOBUS_EPEL_LIBS="-lcrypto ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_callback,X509_get_subject_name, [ +-GLOBUS_EPEL_LIBS="-lglobus_gsi_callback ${GLOBUS_EPEL_LIBS}" ++AC_CHECK_LIB(crypto, X509_get_subject_name, [ ++GLOBUS_EPEL_LIBS="-lcrypto ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gssapi_gsi,gss_wrap, [ ++AC_CHECK_LIB(globus_gssapi_gsi, gss_wrap, [ + GLOBUS_EPEL_LIBS="-lglobus_gssapi_gsi ${GLOBUS_EPEL_LIBS}" + ],[ + EPEL_LIBS_NOT=1 +@@ -247,8 +247,8 @@ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_proxy_ssl_gcc64pthr, X509V3_conf_free, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_proxy_ssl_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64pthr, X509V3_conf_free, [ ++GLOBUS_GCC64PTHR_LIBS="-lcrypto_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) +@@ -259,49 +259,49 @@ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_error_gcc64pthr, globus_module_getenv, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_openssl_error_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64pthr, globus_module_getenv, [ ++GLOBUS_GCC64PTHR_LIBS="-lglobus_common_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_sysconfig_gcc64pthr, globus_fifo_enqueue, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_gsi_sysconfig_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64pthr, globus_fifo_enqueue, [ ++GLOBUS_GCC64PTHR_LIBS="-lglobus_common_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_gcc64pthr, globus_module_activate, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_openssl_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64pthr, globus_module_activate, [ ++GLOBUS_GCC64PTHR_LIBS="-lglobus_common_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_credential_gcc64pthr,globus_module_getenv, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_gsi_credential_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64pthr, globus_module_getenv, [ ++GLOBUS_GCC64PTHR_LIBS="-lglobus_common_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_proxy_core_gcc64pthr,X509_sign, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_gsi_proxy_core_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64pthr, X509_sign, [ ++GLOBUS_GCC64PTHR_LIBS="-lcrypto_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_cert_utils_gcc64pthr,X509_get_subject_name, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_gsi_cert_utils_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64pthr, X509_get_subject_name, [ ++GLOBUS_GCC64PTHR_LIBS="-lcrypto_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_callback_gcc64pthr,X509_get_subject_name, [ +-GLOBUS_GCC64PTHR_LIBS="-lglobus_gsi_callback_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64pthr, X509_get_subject_name, [ ++GLOBUS_GCC64PTHR_LIBS="-lcrypto_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gssapi_gsi_gcc64pthr,gss_wrap, [ ++AC_CHECK_LIB(globus_gssapi_gsi_gcc64pthr, gss_wrap, [ + GLOBUS_GCC64PTHR_LIBS="-lglobus_gssapi_gsi_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" + ],[ + GCC64PTHR_LIBS_NOT=1 +@@ -316,8 +316,8 @@ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_proxy_ssl_gcc64dbgpthr, X509V3_conf_free, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_proxy_ssl_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64dbgpthr, X509V3_conf_free, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lcrypto_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) +@@ -328,49 +328,49 @@ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_error_gcc64dbgpthr, globus_module_getenv, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_openssl_error_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64dbgpthr, globus_module_getenv, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_common_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_sysconfig_gcc64dbgpthr, globus_fifo_enqueue, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gsi_sysconfig_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64dbgpthr, globus_fifo_enqueue, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_common_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_gcc64dbgpthr, globus_module_activate, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_openssl_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64dbgpthr, globus_module_activate, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_common_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_credential_gcc64dbgpthr,globus_module_getenv, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gsi_credential_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc64dbgpthr,globus_module_getenv, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_common_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_proxy_core_gcc64dbgpthr,X509_sign, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gsi_proxy_core_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64dbgpthr, X509_sign, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lcrypto_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_cert_utils_gcc64dbgpthr,X509_get_subject_name, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gsi_cert_utils_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64dbgpthr, X509_get_subject_name, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lcrypto_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_callback_gcc64dbgpthr,X509_get_subject_name, [ +-GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gsi_callback_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc64dbgpthr, X509_get_subject_name, [ ++GLOBUS_GCC64DBGPTHR_LIBS="-lcrypto_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gssapi_gsi_gcc64dbgpthr,gss_wrap, [ ++AC_CHECK_LIB(globus_gssapi_gsi_gcc64dbgpthr, gss_wrap, [ + GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gssapi_gsi_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" + ],[ + GCC64DBGPTHR_LIBS_NOT=1 +@@ -388,8 +388,8 @@ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_proxy_ssl_gcc32pthr, X509V3_conf_free, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_proxy_ssl_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32pthr, X509V3_conf_free, [ ++GLOBUS_GCC32PTHR_LIBS="-lcrypto_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) +@@ -400,49 +400,49 @@ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_error_gcc32pthr, globus_module_getenv, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_openssl_error_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32pthr, globus_module_getenv, [ ++GLOBUS_GCC32PTHR_LIBS="-lglobus_common_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_sysconfig_gcc32pthr, globus_fifo_enqueue, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_gsi_sysconfig_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32pthr, globus_fifo_enqueue, [ ++GLOBUS_GCC32PTHR_LIBS="-lglobus_common_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_gcc32pthr, globus_module_activate, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_openssl_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32pthr, globus_module_activate, [ ++GLOBUS_GCC32PTHR_LIBS="-lglobus_common_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_credential_gcc32pthr,globus_module_getenv, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_gsi_credential_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32pthr, globus_module_getenv, [ ++GLOBUS_GCC32PTHR_LIBS="-lglobus_common_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_proxy_core_gcc32pthr,X509_sign, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_gsi_proxy_core_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32pthr, X509_sign, [ ++GLOBUS_GCC32PTHR_LIBS="-lcrypto_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_cert_utils_gcc32pthr,X509_get_subject_name, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_gsi_cert_utils_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32pthr, X509_get_subject_name, [ ++GLOBUS_GCC32PTHR_LIBS="-lcrypto_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_callback_gcc32pthr,X509_get_subject_name, [ +-GLOBUS_GCC32PTHR_LIBS="-lglobus_gsi_callback_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32pthr, X509_get_subject_name, [ ++GLOBUS_GCC32PTHR_LIBS="-lcrypto_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gssapi_gsi_gcc32pthr,gss_wrap, [ ++AC_CHECK_LIB(globus_gssapi_gsi_gcc32pthr, gss_wrap, [ + GLOBUS_GCC32PTHR_LIBS="-lglobus_gssapi_gsi_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" + ],[ + GCC32PTHR_LIBS_NOT=1 +@@ -456,8 +456,8 @@ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_proxy_ssl_gcc32dbgpthr, X509V3_conf_free, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_proxy_ssl_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32dbgpthr, X509V3_conf_free, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lcrypto_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) +@@ -468,49 +468,49 @@ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_error_gcc32dbgpthr, globus_module_getenv, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_openssl_error_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32dbgpthr, globus_module_getenv, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_common_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_sysconfig_gcc32dbgpthr, globus_fifo_enqueue, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gsi_sysconfig_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32dbgpthr, globus_fifo_enqueue, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_common_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_openssl_gcc32dbgpthr, globus_module_activate, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_openssl_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32dbgpthr, globus_module_activate, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_common_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_credential_gcc32dbgpthr,globus_module_getenv, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gsi_credential_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(globus_common_gcc32dbgpthr, globus_module_getenv, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_common_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_proxy_core_gcc32dbgpthr,X509_sign, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gsi_proxy_core_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32dbgpthr, X509_sign, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lcrypto_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_cert_utils_gcc32dbgpthr,X509_get_subject_name, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gsi_cert_utils_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32dbgpthr, X509_get_subject_name, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lcrypto_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gsi_callback_gcc32dbgpthr,X509_get_subject_name, [ +-GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gsi_callback_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ++AC_CHECK_LIB(crypto_gcc32dbgpthr, X509_get_subject_name, [ ++GLOBUS_GCC32DBGPTHR_LIBS="-lcrypto_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 + ]) + +-AC_CHECK_LIB(globus_gssapi_gsi_gcc32dbgpthr,gss_wrap, [ ++AC_CHECK_LIB(globus_gssapi_gsi_gcc32dbgpthr, gss_wrap, [ + GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gssapi_gsi_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" + ],[ + GCC32DBGPTHR_LIBS_NOT=1 diff --git a/dcap.spec b/dcap.spec new file mode 100644 index 0000000..794fb1b --- /dev/null +++ b/dcap.spec @@ -0,0 +1,210 @@ +Name: dcap +Version: 2.44.0 +Release: 3%{?dist} +Summary: Client Tools for dCache + +Group: Applications/Internet +# plugins/gssapi/{base64.[ch],gssIoTunnel.c,util.c} - BSD license +# the rest - LGPLv2+ license +License: LGPLv2+ and BSD +URL: http://www.dcache.org/manuals/libdcap.shtml +# The source tarfile is created from a subversion checkout: +# svn co http://svn.dcache.org/dCache/tags/dcap-2.44.0-0 \ +# dcap-2.44.0 +# tar -z -c --exclude .svn -f dcap-2.44.0.tar.gz dcap-2.44.0 +Source0: %{name}-%{version}.tar.gz +Patch0: %{name}-dlopen.patch +# Don't install empty documentation files: +# http://rb.dcache.org/r/1645 +Patch1: %{name}-docs.patch +# Drop the bundled adler32 source from zlib: +# http://rb.dcache.org/r/1628 +Patch2: %{name}-adler32.patch +# Make configure look in the correct libraries: +# http://rb.dcache.org/r/1646 +Patch3: %{name}-libs.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: globus-gssapi-gsi-devel%{?_isa} +BuildRequires: krb5-devel%{?_isa} +BuildRequires: openssl-devel%{?_isa} +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + +%description +dCache is a distributed mass storage system. +This package contains the client tools. + +%package libs +Summary: Client Libraries for dCache +Group: System Environment/Libraries +License: LGPLv2+ + +%description libs +dCache is a distributed mass storage system. +This package contains the client libraries. + +%package devel +Summary: Client Development Files for dCache +Group: Development/Libraries +License: LGPLv2+ +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +dCache is a distributed mass storage system. +This package contains the client development files. + +%package tunnel-gsi +Summary: GSI tunnel for dCache +Group: System Environment/Libraries +License: LGPLv2+ and BSD +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description tunnel-gsi +This package contains the gsi tunnel plugin library used by dcap-libs. +This library is dynamically loaded at runtime. + +%package tunnel-krb +Summary: Kerberos tunnel for dCache +Group: System Environment/Libraries +License: LGPLv2+ and BSD +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description tunnel-krb +This package contains the kerberos tunnel plugin library used by dcap-libs. +This library is dynamically loaded at runtime. + +%package tunnel-ssl +Summary: SSL tunnel for dCache +Group: System Environment/Libraries +License: LGPLv2+ +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description tunnel-ssl +This package contains the ssl tunnel plugin library used by dcap-libs. +This library is dynamically loaded at runtime. + +%package tunnel-telnet +Summary: Telnet tunnel for dCache +Group: System Environment/Libraries +License: LGPLv2+ +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description tunnel-telnet +This package contains the telnet tunnel plugin library used by dcap-libs. +This library is dynamically loaded at runtime. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p0 +%patch3 -p1 + +for f in Copyright base64.c base64.h util.c ; do + iconv -f iso-8859-1 -t utf-8 plugins/gssapi/$f -o plugins/gssapi/$f.new + mv plugins/gssapi/$f.new plugins/gssapi/$f +done + +sed 's!@@LIBDIR@@!%{_libdir}!' -i src/tunnelManager.c + +%build +chmod +x bootstrap.sh +./bootstrap.sh + +%configure \ + --with-globus-include="%{_includedir}/globus -I%{_libdir}/globus/include" \ + --with-globus-lib=/dummy +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT + +# Remove static libraries and libtool archive files +rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.a +rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la + +# Move plugins out of the default library path +mkdir $RPM_BUILD_ROOT/%{_libdir}/%{name} +mv $RPM_BUILD_ROOT/%{_libdir}/lib*Tunnel* $RPM_BUILD_ROOT/%{_libdir}/%{name} + +# We are installing the docs in the files sections +rm -rf $RPM_BUILD_ROOT/%{_docdir} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_bindir}/dccp +%{_bindir}/dcap_test +%{_bindir}/dcsuck +%{_bindir}/readv_test +%{_bindir}/wdccp + +%files libs +%defattr(-,root,root,-) +%{_libdir}/libdcap.so.* +%{_libdir}/libpdcap.so.* +%dir %{_libdir}/%{name} +%doc LICENSE COPYING.LIB AUTHORS + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libdcap.so +%{_libdir}/libpdcap.so +%{_includedir}/dc_hack.h +%{_includedir}/dcap.h +%{_includedir}/dcap_errno.h + +%files tunnel-gsi +%defattr(-,root,root,-) +%{_libdir}/%{name}/libgsiTunnel.so +%doc plugins/gssapi/Copyright + +%files tunnel-krb +%defattr(-,root,root,-) +%{_libdir}/%{name}/libgssTunnel.so +%doc plugins/gssapi/Copyright + +%files tunnel-ssl +%defattr(-,root,root,-) +%{_libdir}/%{name}/libsslTunnel.so + +%files tunnel-telnet +%defattr(-,root,root,-) +%{_libdir}/%{name}/libtelnetTunnel.so + +%changelog +* Thu Mar 11 2010 Mattias Ellert - 2.44.0-3 +- Add missing build requires on autotools +- Fix configure to look for functions in the right libraries + +* Wed Mar 10 2010 Mattias Ellert - 2.44.0-2 +- Use the adler32 function from zlib and drop the bundled source file +- Drop the zlib license tag again + +* Wed Mar 10 2010 Mattias Ellert - 2.44.0-1 +- Major revision of spec file - upstream has started using autotools +- Add zlib license tag due to the adler32 source + +* Sun Jan 3 2010 Mattias Ellert - 1.2.44-2 +- Porting to additional architectures +- Add BSD license tags for the tunnel-gsi and tunnel-krb sub packages + +* Thu Dec 17 2009 Mattias Ellert - 1.2.44-1 +- Update to version 1.2.44 (svn tag 1.9.3-7) + +* Thu Sep 17 2009 Mattias Ellert - 1.2.42-2 +- Update to new svn tag 1.9.3-3 + +* Thu Aug 13 2009 Mattias Ellert - 1.2.42-1 +- Initial Fedora package based on svn tag 1.9.3-1 diff --git a/import.log b/import.log new file mode 100644 index 0000000..540041f --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +dcap-2_44_0-3_fc12:F-13:dcap-2.44.0-3.fc12.src.rpm:1268849421 diff --git a/sources b/sources index e69de29..d7f5991 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +cd6e7ae4638da51f522b5cf9a5a6deff dcap-2.44.0.tar.gz