[globus-rls-server/el4] Recompile for Globus Toolkit 5.2.0

Mattias Ellert ellert at fedoraproject.org
Sun Jan 8 01:20:52 UTC 2012


commit dcefe1ac8d020d35d4c9807b4b7914629464ff1f
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date:   Sat Jan 7 23:00:14 2012 +0100

    Recompile for Globus Toolkit 5.2.0

 .gitignore                    |    4 +-
 GLOBUS-RLS                    |    6 +++
 globus-rls-server-deps.patch  |   47 +++++++++++++++++++++++++
 globus-rls-server-mutex.patch |   20 +++++++++++
 globus-rls-server.spec        |   75 ++++++++++++++++++++++++++--------------
 5 files changed, 124 insertions(+), 28 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6e4d830..78c5fe2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-/globus_rls_server-4.9.tar.gz
-/globus_rls_server_setup-4.5.tar.gz
+/*.tar.gz
+/*.tar.gz
diff --git a/GLOBUS-RLS b/GLOBUS-RLS
index 1bf0782..2ff1552 100644
--- a/GLOBUS-RLS
+++ b/GLOBUS-RLS
@@ -6,6 +6,9 @@ http://www.globus.org/toolkit/docs/latest-stable/data/rls/
 Admin Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/rls/admin/
 
+User's Guide:
+http://www.globus.org/toolkit/docs/latest-stable/data/rls/user/
+
 Developer's Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/rls/developer/
 
@@ -20,3 +23,6 @@ http://www.globus.org/toolkit/docs/latest-stable/data/rls/qp/
 
 Migrating Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/rls/mig/
+
+Globus RPM packaging is supported by the Initiative for Globus in Europe:
+http://www.ige-project.eu/
diff --git a/globus-rls-server-deps.patch b/globus-rls-server-deps.patch
new file mode 100644
index 0000000..8e4a15d
--- /dev/null
+++ b/globus-rls-server-deps.patch
@@ -0,0 +1,47 @@
+diff -ur globus_rls_server-4.9.orig/pkgdata/pkg_data_src.gpt.in globus_rls_server-4.9/pkgdata/pkg_data_src.gpt.in
+--- globus_rls_server-4.9.orig/pkgdata/pkg_data_src.gpt.in	2009-10-27 05:13:56.000000000 +0100
++++ globus_rls_server-4.9/pkgdata/pkg_data_src.gpt.in	2011-12-17 10:59:06.447439447 +0100
+@@ -10,30 +10,30 @@
+ 
+         <Source_Dependencies Type="compile" >
+             <Dependency Name="globus_core">
+-                <Version><Simple_Version Major="4"/></Version></Dependency>
++                <Version><Simple_Version Major="8"/></Version></Dependency>
+             <Dependency Name="globus_common">
+-                <Version><Simple_Version Major="3"/></Version></Dependency>
++                <Version><Simple_Version Major="14"/></Version></Dependency>
+             <Dependency Name="globus_io">
+-                <Version><Simple_Version Major="3"/></Version></Dependency>
++                <Version><Simple_Version Major="9"/></Version></Dependency>
+             <Dependency Name="globus_usage">
+-                <Version><Simple_Version Major="0"/></Version></Dependency>
+-            <Dependency Name="globus_database_iodbc">
+-                <Version><Simple_Version Major ="0"/></Version></Dependency>
++                <Version><Simple_Version Major="3"/></Version></Dependency>
++            <Dependency Name="globus_gss_assist">
++                <Version><Simple_Version Major="8"/></Version></Dependency>
+             <Dependency Name="globus_rls_client">
+-                <Version><Simple_Version Major ="5"/></Version></Dependency>
++                <Version><Simple_Version Major="5"/></Version></Dependency>
+         </Source_Dependencies>
+ 
+         <Source_Dependencies Type="pgm_link" >
+             <Dependency Name="globus_common">
+-                <Version><Simple_Version Major="3"/></Version></Dependency>
++                <Version><Simple_Version Major="14"/></Version></Dependency>
+             <Dependency Name="globus_io">
+-                <Version><Simple_Version Major="3"/></Version></Dependency>
++                <Version><Simple_Version Major="9"/></Version></Dependency>
+             <Dependency Name="globus_usage">
+-                <Version><Simple_Version Major="0"/></Version></Dependency>
+-            <Dependency Name="globus_database_iodbc">
+-                <Version><Simple_Version Major ="0"/></Version></Dependency>
++                <Version><Simple_Version Major="3"/></Version></Dependency>
++            <Dependency Name="globus_gss_assist">
++                <Version><Simple_Version Major="8"/></Version></Dependency>
+             <Dependency Name="globus_rls_client">
+-                <Version><Simple_Version Major ="5"/></Version></Dependency>
++                <Version><Simple_Version Major="5"/></Version></Dependency>
+         </Source_Dependencies>
+ 
+         <With_Flavors build="yes" />
diff --git a/globus-rls-server-mutex.patch b/globus-rls-server-mutex.patch
new file mode 100644
index 0000000..b9168b6
--- /dev/null
+++ b/globus-rls-server-mutex.patch
@@ -0,0 +1,20 @@
+diff -ur globus_rls_server-4.9.orig/lrc.c globus_rls_server-4.9/lrc.c
+--- globus_rls_server-4.9.orig/lrc.c	2010-05-26 02:36:53.000000000 +0200
++++ globus_rls_server-4.9/lrc.c	2011-12-20 21:13:53.520579983 +0100
+@@ -68,7 +68,15 @@
+   globus_bool_t lrc_init_done;
+ } lrc_init_monitor_t;
+ 
+-static lrc_init_monitor_t lrc_init_monitor = { PTHREAD_MUTEX_INITIALIZER, GLOBUS_FALSE };
++static lrc_init_monitor_t lrc_init_monitor = {
++#ifdef HAVE_PTHREAD
++  { .pthread = PTHREAD_MUTEX_INITIALIZER },
++#elif HAVE_WINDOWS_THREADS
++  { .windows = 0 },
++#else
++  { .none = 0 },
++#endif
++  GLOBUS_FALSE };
+ 
+ #ifdef COUNTUPDATE
+ extern int		updatebytes;
diff --git a/globus-rls-server.spec b/globus-rls-server.spec
index ff0fe65..073e17b 100644
--- a/globus-rls-server.spec
+++ b/globus-rls-server.spec
@@ -1,14 +1,14 @@
 %ifarch alpha ia64 ppc64 s390x sparc64 x86_64
-%global flavor gcc64pthr
+%global flavor gcc64
 %else
-%global flavor gcc32pthr
+%global flavor gcc32
 %endif
 
 Name:		globus-rls-server
 %global _name %(tr - _ <<< %{name})
 Version:	4.9
 %global setupversion 4.5
-Release:	7%{?dist}
+Release:	8%{?dist}
 Summary:	Globus Toolkit - Replica Location Service Server
 
 Group:		Applications/Internet
@@ -40,18 +40,25 @@ Patch0:		%{name}-type-punned-pointer.patch
 #		Remove hardcoding of paths:
 #		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=6595
 Patch1:		%{name}-setup.patch
+#		Depend on GT 5.2.0 library versions
+Patch2:		%{name}-deps.patch
+#		Adapt to GT 5.2.0 mutex definition
+Patch3:		%{name}-mutex.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-Provides:	%{name}-setup = %{setupversion}
-Requires:	globus-common >= 11.5
-Requires:	globus-rls-client%{?_isa} >= 5.2
-BuildRequires:	grid-packaging-tools
-BuildRequires:	globus-rls-client-devel%{?_isa} >= 5.2
-BuildRequires:	globus-common-devel%{?_isa} >= 3
-BuildRequires:	globus-usage-devel%{?_isa}
+Requires:	globus-rls-client%{?_isa} >= 5.2-5
+Requires:	globus-common%{?_isa} >= 14
+Requires:	globus-usage%{?_isa} >= 3
+Requires:	globus-gss-assist%{?_isa} >= 8
+Requires:	globus-io%{?_isa} >= 9
+BuildRequires:	grid-packaging-tools >= 3.4
+BuildRequires:	globus-core%{?_isa} >= 8
+BuildRequires:	globus-rls-client-devel%{?_isa} >= 5.2-5
+BuildRequires:	globus-common-devel%{?_isa} >= 14
+BuildRequires:	globus-usage-devel%{?_isa} >= 3
+BuildRequires:	globus-gss-assist-devel%{?_isa} >= 8
+BuildRequires:	globus-io-devel%{?_isa} >= 9
 BuildRequires:	unixODBC-devel%{?_isa}
-BuildRequires:	globus-io-devel%{?_isa} >= 3
-BuildRequires:	globus-core%{?_isa} >= 4
 
 Requires(post):		chkconfig
 Requires(preun):	chkconfig
@@ -75,6 +82,8 @@ Replica Location Service Server Setup
 cd %{_name}_setup-%{setupversion}
 %patch1 -p1
 cd -
+%patch2 -p1
+%patch3 -p1
 
 %build
 # Remove files that should be replaced during bootstrap
@@ -88,9 +97,15 @@ rm -rf autom4te.cache
 sed 's!/usr/local/etc!/etc!g' -i server.c
 sed 's!/usr/local/etc!/etc!g' -i Doc/man/man8/globus-rls-server.8
 
+unset GLOBUS_LOCATION
+unset GPT_LOCATION
 %{_datadir}/globus/globus-bootstrap.sh
 
-%configure --with-flavor=%{flavor} --sysconfdir='${datadir}/globus'
+%configure --disable-static --with-flavor=%{flavor} \
+	   --with-docdir=%{_docdir}/%{name}-%{version}
+
+# Reduce overlinking
+sed 's!CC -shared !CC \${wl}--as-needed -shared !g' -i libtool
 
 make %{?_smp_mflags}
 
@@ -104,9 +119,11 @@ rm -f pkgdata/Makefile.am
 rm -f globus_automake*
 rm -rf autom4te.cache
 
+unset GLOBUS_LOCATION
+unset GPT_LOCATION
 %{_datadir}/globus/globus-bootstrap.sh
 
-%configure --without-flavor
+%configure --without-flavor --with-docdir=%{_docdir}/%{name}-%{version}
 
 make %{?_smp_mflags}
 
@@ -124,13 +141,6 @@ cd -
 # This script is intended to be sourced, not executed
 chmod 644 $RPM_BUILD_ROOT%{_datadir}/globus/setup/setup-globus-rls-server.pl
 
-# Register setup
-perl -MGrid::GPT::Setup <<EOF
-my \$metadata = new Grid::GPT::Setup(package_name => "%{_name}_setup",
-				     globusdir => "$RPM_BUILD_ROOT%{_prefix}");
-\$metadata->finish();
-EOF
-
 # Create setup files
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
 sed -e s!@libdir@!%{_libdir}!g \
@@ -152,7 +162,7 @@ GLOBUSPACKAGEDIR=$RPM_BUILD_ROOT%{_datadir}/globus/packages
 
 # Remove the SXXrls.in file
 rm $RPM_BUILD_ROOT%{_datadir}/globus/setup/SXXrls.in
-sed /SXXrls.in/d -i $GLOBUSPACKAGEDIR/%{_name}_setup/noflavor_pgm.filelist
+sed /SXXrls.in/d -i $GLOBUSPACKAGEDIR/%{_name}_setup/noflavor_data.filelist
 sed -e 's/"SXXrls", //' -e '/SXXrls/d' \
   -i $RPM_BUILD_ROOT%{_datadir}/globus/setup/setup-globus-rls-server.pl
 
@@ -194,23 +204,33 @@ sed s/libmyodbc3_r/libmyodbc5/ \
      $RPM_BUILD_ROOT%{_datadir}/globus/setup/odbc.ini.in
 %endif
 
+# Remove pkg-config files...
+rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc
+rm $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_dev.filelist
+rm $GLOBUSPACKAGEDIR/%{_name}/pkg_data_%{flavor}_dev.gpt
+rm $GLOBUSPACKAGEDIR/%{_name}_setup/noflavor_dev.filelist
+rm $GLOBUSPACKAGEDIR/%{_name}_setup/pkg_data_noflavor_dev.gpt
+
 # Generate package filelists
 cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist \
     $GLOBUSPACKAGEDIR/%{_name}/noflavor_data.filelist \
     $GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist \
     $GLOBUSPACKAGEDIR/%{_name}_setup/noflavor_pgm.filelist \
-  | sed -e s!^!%{_prefix}! -e 's!^.*/man/.*!%doc &*!' > package.filelist
+    $GLOBUSPACKAGEDIR/%{_name}_setup/noflavor_data.filelist \
+  | sed -e s!^!%{_prefix}! -e 's!^.*/man/.*!%doc &*!' \
+	-e 's!%{_prefix}%{_sysconfdir}!%config(noreplace) %{_sysconfdir}!' \
+  > package.filelist
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-if [ $1 = 1 ]; then
+if [ $1 -eq 1 ]; then
   /sbin/chkconfig --add %{name}
 fi
 
 %preun
-if [ $1 = 0 ]; then
+if [ $1 -eq 0 ]; then
   /sbin/service %{name} stop >/dev/null 2>&1 || :
   /sbin/chkconfig --del %{name}
 fi
@@ -227,8 +247,8 @@ fi
 %doc %{_docdir}/%{name}-%{version}/GLOBUS_LICENSE
 %doc %{_docdir}/%{name}-%{version}/README
 %dir %{_datadir}/globus/packages/%{_name}_setup
-%{_datadir}/globus/packages/setup/%{_name}_setup
 %dir %{_datadir}/globus/aggrexec
+%dir %{_datadir}/globus/setup
 %config(noreplace) %{_sysconfdir}/%{name}-odbc.ini
 %config(noreplace) %{_sysconfdir}/%{name}.conf
 %config(noreplace) %{_sysconfdir}/rls-ldif.conf
@@ -236,6 +256,9 @@ fi
 %doc %{_docdir}/%{name}-%{version}/README.Fedora
 
 %changelog
+* Fri Dec 16 2011 Mattias Ellert <mattias.ellert at fysast.uu.se> - 4.9-8
+- Recompile for Globus Toolkit 5.2.0
+
 * Sun Oct 02 2011 Mattias Ellert <mattias.ellert at fysast.uu.se> - 4.9-7
 - Update start-up script and configuration
 


More information about the scm-commits mailing list