Blob Blame History Raw
Name:		dcap
Version:	2.47.5
Release:	1%{?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 export http://svn.dcache.org/dCache/tags/dcap-2.47.5-0 \
#		    dcap-2.47.5
#		tar -z -c -f dcap-2.47.5.tar.gz dcap-2.47.5
Source0:	%{name}-%{version}.tar.gz
#		Allow loading of plugins outside default library search path
Patch0:		%{name}-dlopen.patch
#		Reduce overlinking
#		http://rb.dcache.org/r/1646
Patch1:		%{name}-libs.patch
#		Fix strict aliasing warnings
#		http://rb.dcache.org/r/2632
Patch2:		%{name}-aliasing.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 -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

# The defaults optflags creates a broken binary
export CFLAGS="%optflags"
%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}/dcap_url_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
* Sat Nov 06 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.47.5-1
- New upstream release
- Drop dcap-docs.patch - implemented upstream
- Put CFLAGS back to default - the issue causing problem is fixed upstream

* Thu Jun 17 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.47.2-2
- Adjust CFLAGS so that the compiled program works correctly

* Wed Apr 07 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.47.2-1
- New upstream release
- Drop dcap-adler32.patch - implemented upstream

* Thu Mar 11 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 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 <mattias.ellert@fysast.uu.se> - 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 <mattias.ellert@fysast.uu.se> - 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 <mattias.ellert@fysast.uu.se> - 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 <mattias.ellert@fysast.uu.se> - 1.2.44-1
- Update to version 1.2.44 (svn tag 1.9.3-7)

* Thu Sep 17 2009 Mattias Ellert <mattias.ellert@fysast.uu.se> - 1.2.42-2
- Update to new svn tag 1.9.3-3

* Thu Aug 13 2009 Mattias Ellert <mattias.ellert@fysast.uu.se> - 1.2.42-1
- Initial Fedora package based on svn tag 1.9.3-1