# The following macros can be changed. %define disable_edg_prefix 1 %define install_flavor_libs 1 %define use_glite_include 0 # Specify the type of RPM dependencies depending on which version og Globus is used %define use_modular_globus 1 Name: voms Version: 1.7.22 Release: 3ng%{?dist} License: EGEE License URL: http://glite.web.cern.ch/glite/ Source: %{name}-%{version}.tar.gz Source1: voms_manpages-1.7.22.tar.gz Source2: README.NorduGrid Patch0: voms-openssl_portability.patch Patch1: voms-isoc90_portability.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: openssl-devel BuildRequires: mysql-devel %if %{_vendor} == "suse" BuildRequires: expat %endif %if %{_vendor} != "suse" BuildRequires: expat-devel %endif ## Difficult to name on different distributions #BuildRequires: libtool-ltdl-devel BuildRequires: gpt %if %{use_modular_globus} BuildRequires: globus_core-devel BuildRequires: globus_common-devel BuildRequires: globus_openssl-devel BuildRequires: globus_gssapi_gsi-devel BuildRequires: globus_gss_assist-devel %else BuildRequires: globus %endif Summary: Virtual Organization Membership Service Group: Grid Requires: expat %if %{use_modular_globus} Requires: globus_openssl Requires: globus_gssapi_gsi Requires: globus_gss_assist %else Requires: globus %endif Prefix: %{_prefix} %description VOMS - Virtual Organization Membership Service. %package devel Summary: Virtual Organization Membership Service Group: Grid Requires: voms %if %{_vendor} == "suse" Requires: expat %endif %if %{_vendor} != "suse" Requires: expat-devel %endif Requires: openssl-devel Requires: globus_openssl-devel Requires: globus_gssapi_gsi-devel Requires: globus_gss_assist-devel Prefix: %{_prefix} %description devel VOMS - Virtual Organization Membership Service. %package clients Summary: Virtual Organization Membership Service Group: Grid Requires: voms %if %{use_modular_globus} Requires: globus_openssl Requires: globus_gssapi_gsi Requires: globus_gss_assist %else Requires: globus %endif Prefix: %{_prefix} %description clients VOMS - Virtual Organization Membership Service. %package server Summary: Virtual Organization Membership Service Group: Grid Requires: voms Requires: mysql %if %{use_modular_globus} Requires: globus_openssl Requires: globus_gssapi_gsi Requires: globus_gss_assist %else Requires: globus %endif Prefix: %{_prefix} %description server VOMS - Virtual Organization Membership Service. %prep %setup -q -a 1 %patch0 -p 1 %patch1 -p 1 cp -p %{SOURCE2} . # # Fixes that could go into patches. However they would probably have to be remade # for every new upstream release since they touch Makefile.in's which changes often. # # Fix build-doc bug cd src/api/ccapi for i in Makefile*; do cp -p $i $i.tmp sed 's/^all-local:.*/all-local:/' < $i.tmp > $i rm -f $i.tmp done cd ../../.. # Fix libexec hardwiring - fix broken --libexecdir configure option for i in `find . -name Makefile.\* -exec grep -H ^libexecdir '{}' \;|cut -f1 -d:`; do cp -p $i $i.tmp sed 's/\(^libexecdir = \)\$(prefix)\/libexec/\1@libexecdir@/' < $i.tmp > $i rm -f $i.tmp done # Fix locations # $HOME/.edg -> $HOME/.voms for i in project/acinclude.m4 configure; do cp -p $i $i.tmp sed -e 's/\(LOCATION_DIR.*\)"\$prefix"/\1""/g' -e 's/\(USER_DIR.*\)\.edg/\1.voms/g' < $i.tmp > $i rm -f $i.tmp done # /etc/init.d -> /etc/init.d # /etc -> /etc # /etc/voms -> /etc/voms for i in src/install/Makefile.am src/install/Makefile.in; do cp -p $i $i.tmp sed -e 's!^initdir = .*!initdir = /etc/init.d!' \ -e 's!^defaultsysconfdir = .*!defaultsysconfdir = /etc!' \ -e 's!^sysconfdir = .*!sysconfdir = /etc/voms!' < $i.tmp > $i rm -f $i.tmp done %build # Detect Globus installation # - Check GLOBUS_LOCATION variable # - Otherwise see if $GLOBUS_LOCATION/bin is in the path # and use globus-makefile-header from globus_common to determine GLOBUS_LOCATION if test "x$GLOBUS_LOCATION" = "x"; then for p in `echo $PATH |tr : ' '` /opt/globus/bin; do if test -f $p/globus-makefile-header; then export GLOBUS_LOCATION=`dirname $p` break fi done fi if test -d "$GLOBUS_LOCATION"; then : else echo "GLOBUS_LOCATION not set or is not a directory" exit 1 fi # # Try to detect/guess Globus flavor # if ! test -d "$GPT_LOCATION"; then for p in `echo $PATH |tr : ' '` /opt/globus/bin; do if test -f $p/globus-makefile-header; then export GPT_LOCATION=`dirname $p` break fi done fi if test -d "$GPT_LOCATION"; then globus_flavor=`$GPT_LOCATION/sbin/gpt-flavor-configuration |grep '^[a-zA-Z0-9]*:'|cut -f1 -d:|tail -1` else globus_flavor=`gpt-flavor-configuration |grep '^[a-zA-Z0-9]*:'|cut -f1 -d:|tail -1` fi if test "$globus_flavor" = ""; then echo "Globus flavor could not be guessed" exit 1 fi # Try to use system libraries if Globus libraries are not available if ! test -r "${GLOBUS_LOCATION}/lib/libcrypto_${globus_flavor}.so" then echo "Warning: linking flavored voms against system crypto library" for i in configure project/acinclude.m4 do cp -p $i $i.tmp sed -e 's/ -lcrypto_\$flavor/ -lcrypto/' -e 's,\(.*GLOBUS_.*CFLAGS=".*\)",\1 -I/usr/kerberos/include",'< $i.tmp > $i rm -f $i.tmp done fi export LD_LIBRARY_PATH=$GLOBUS_LOCATION/lib ./configure --prefix=%{_prefix} --libdir=%{_libdir} --libexecdir=%{_libexecdir} \ --with-globus-location=$GLOBUS_LOCATION --with-globus-flavor=${globus_flavor} \ --disable-docs --disable-java make %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/grid-security/vomsdir # Install man pages cd doc mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8 for s in 1 8; do for m in *.$s; do cp -p $m $RPM_BUILD_ROOT%{_mandir}/man$s/$m done done cd .. # Remove unwanted documentation rm -fr $RPM_BUILD_ROOT%{_prefix}/share/doc %if %{disable_edg_prefix} rm -f $RPM_BUILD_ROOT%{_bindir}/edg-voms* rm -f $RPM_BUILD_ROOT%{_sbindir}/edg-voms* %endif %if !%{install_flavor_libs} rm -f $RPM_BUILD_ROOT%{_libdir}/lib*_* %endif %if %{use_glite_include} %define voms_include_dir glite/security/voms %endif %if !%{use_glite_include} %define voms_include_dir voms mv $RPM_BUILD_ROOT%{_includedir}/glite/security/voms $RPM_BUILD_ROOT%{_includedir}/%{voms_include_dir} rm -rf $RPM_BUILD_ROOT%{_includedir}/glite %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc AUTHORS INSTALL LICENSE README %doc README.NorduGrid /etc/vomses.template %dir /etc/grid-security/vomsdir %{_libdir}/libvomsapi*.so.0 %{_libdir}/libvomsapi*.so.0.0.0 %{_libdir}/libvomsc*.so.0 %{_libdir}/libvomsc*.so.0.0.0 %files clients %defattr(-,root,root,-) %{_bindir}/voms-proxy-destroy %{_bindir}/voms-proxy-info %{_bindir}/voms-proxy-init %{_bindir}/voms-proxy-fake %{_bindir}/voms-proxy-list %{_mandir}/man1/voms-proxy-destroy.1* %{_mandir}/man1/voms-proxy-info.1* %{_mandir}/man1/voms-proxy-init.1* %{_mandir}/man1/voms-proxy-fake.1* %{_mandir}/man1/voms-proxy-list.1* %if !%{disable_edg_prefix} %{_bindir}/edg-voms-proxy-destroy %{_bindir}/edg-voms-proxy-info %{_bindir}/edg-voms-proxy-init %{_bindir}/edg-voms-proxy-fake %{_bindir}/edg-voms-proxy-list %endif %files server %defattr(-,root,root,-) %{_sbindir}/voms /etc/init.d/voms /etc/voms/voms.data %{_libexecdir}/voms/mysql2oracle %{_libexecdir}/voms/upgrade1to2 %{_libexecdir}/voms/voms_install_db %{_libexecdir}/voms/test_clean %{_libexecdir}/voms/test_setup %{_libexecdir}/voms/test_start %{_libexecdir}/voms/voms_install_replica %{_mandir}/man1/voms_install_db.1* %{_mandir}/man1/voms-install-replica.1* %{_mandir}/man8/voms.8* %if !%{disable_edg_prefix} %{_sbindir}/edg-voms %{_mandir}/man8/edg-voms.8* %endif %files devel %defattr(-,root,root,-) %{_includedir}/%{voms_include_dir}/acstack.h %{_includedir}/%{voms_include_dir}/newformat.h %{_includedir}/%{voms_include_dir}/voms_api.h %{_includedir}/%{voms_include_dir}/voms_apic.h %{_includedir}/%{voms_include_dir}/voms_api_nog.h %{_includedir}/%{voms_include_dir}/voms_apic_nog.h %{_libdir}/libvomsapi*.a %{_libdir}/libvomsapi*.la %{_libdir}/libvomsapi*.so %{_libdir}/libvomsc*.a %{_libdir}/libvomsc*.la %{_libdir}/libvomsc*.so %if 0 %{_mandir}/man3/data.3* %{_mandir}/man3/voms.3* %{_mandir}/man3/voms_api.h.3* %{_mandir}/man3/voms_apic.h.3* %{_mandir}/man3/vomsdata.3* %endif %changelog * Wed Sep 12 2007 Anders Waananen - 1.7.22-3ng - Move /etc/voms/vomses back to /etc/vomses - Added more openssl portability patches with input from Aake Sandgren * Wed Sep 12 2007 Anders Waananen - 1.7.22-2ng - Added more openssl portability patches with input from Aake Sandgren * Mon Sep 10 2007 Anders Waananen - 1.7.22-1ng - Try to link against system crypto library when Globus library is not available - Make /etc/grid-security/vomsdir part of the voms sub-package - Drop RPM prefix /etc - Move the vomses.template to /etc/voms - Use dashes instead of underscore in voms-install-replica.1 man page - Do not try to link against system crypt library. Voms now does this internally. - Upstream 1.7.22 (CVS branch glite-security-voms_R_1_7_22_1) * Mon Jul 16 2007 Anders Waananen - 1.7.20-5ng - Drop voms-struct_change.patch - problem is with libxml2 * Sat Jul 14 2007 Anders Waananen - 1.7.20-4ng - Add missing openssl-devel dependency in voms-devel * Thu Jul 12 2007 Anders Waananen - 1.7.20-3ng - Add patch: - voms-struct_change.patch - Change API slightly - but now works with libxml2 * Thu Jul 8 2007 Anders Waananen - 1.7.20-2ng - Make conditinal dependency on expat-devel (OpenSuSE 10.20 has only expat) * Thu Jul 5 2007 Anders Waananen - 1.7.20-1ng - Upstream 1.7.20 (CVS branch glite-security-voms_R_1_7_20_1) * Thu Jul 5 2007 Anders Waananen - 1.7.19-2ng - Added patches: - voms-openssl_portability.patch - Support for newer OpenSSL-0.9.8 - voms-isoc90_portability.patch - Support for older compilers - Added openssl-devel build dependency * Fri Jun 22 2007 Anders Waananen - 1.7.19-1ng - Upstream 1.7.19 (CVS branch glite-security-voms_R_1_7_19_P2) - Remove patches (use shell substitutions instead) - Disable Java API build * Fri Jun 22 2007 Anders Waananen - 1.6.20-3ng - Added Globus dependencies to voms-devel * Mon Jul 24 2006 Anders Waananen - 1.6.20-2ng - Fix dependency typo: Requires -> BuildRequires * Sat May 6 2006 Anders Waananen - 1.6.20-1ng - Many changes since upstream changed quite a lot. - Added README.NorduGrid with packaging information - Patches: - voms_openssl-0.9.8.patch - Support for OpenSSL 0.9.8 - voms_noglobusopenssl-1.6.20.patch - Use system openssl rather than the one from Globus - Patch reworked for voms 1.6.20 - Dont use project based (gLite) include paths - Pseudo patches (fixes made at runtime and not from static patch files) - Fix broken --libexecdir support for configure (some systems do not have libexecdir = /libexec) - Drop all documents except man pages which are pre-generated (section 3 man pages are skipped as well) - Do not use edg- prefix (can be turned on/off through macro) - Install flavored libraries in addition to non-flavored (can be turned on/off through macro) - Put start-up script in /etc/init.d - Move configuration files from /etc to /etc * Mon Dec 19 2005 Anders Waananen - 1.6.9-2 - Add patch voms_doc.patch to disable html and ps documentation and add man-mages and pdf files to distribution (make dist) - Use rpm switch: --define "_autotools_bootstrap 1" to rebuild documentation and create "make dist" target - Add patch voms_nohardcodelibexecdir.patch which use the libexecdir from configure rather than the hardcoded prefix/libexec * Sun Nov 27 2005 Anders Waananen - 1.6.9-1 - Add patch voms_ssl_include.patch to add external openssl includes. Would be better to query globus_openssl about this * Tue Oct 18 2005 Anders Waananen - 1.6.7-1 - Modfiy voms_noglobusopenssl.patch to match upstream - Add patch voms_nops.patch to disable postscript versions of reference manual * Fri Jun 17 2005 Anders Waananen - 1.5.4-1 - Remove the following patches: - voms_namespace.patch - Fixed in upstream - voms_external_mysql++-1.4.1.patch - Obsolete since mysql++ is no longer needed - voms-no_libs.path - Fixed in upstream - Add Globus dependencies * Wed Jun 1 2005 Anders Waananen - 1.4.1-3 - Do not hardcode Globus flavor but try to guess - Remove explicit globus rpm Requirement - Use external openssl - not globus_openssl * Mon May 2 2005 Anders Waananen - 1.4.1-2 - Remove automake cache - Add explicit dependency on mysql++-devel * Sat Apr 30 2005 Anders Waananen - 1.4.1-1 - New upstream - autogen.sh -> autobuild.sh * Mon Apr 18 2005 Anders Waananen - 1.3.2-1 - Initial build.