[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