[globus-gridftp-server/el4] Update to Globus Toolkit 5.2.0 Drop patches globus-gridftp-server-etc.patch, globus-gridftp-server-p

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


commit 34d074c4ead45b4d8913f892cc964fa54ef33d70
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date:   Sat Jan 7 23:22:30 2012 +0100

    Update to Globus Toolkit 5.2.0
    Drop patches globus-gridftp-server-etc.patch,
    globus-gridftp-server-pathmax.patch and globus-gridftp-server-usr.patch
    (fixed upstream)

 .gitignore                          |    2 +-
 GLOBUS-GRIDFTP                      |    6 +
 globus-gridftp-server               |  108 +++++++++++++++----
 globus-gridftp-server-deps.patch    |  143 +++++--------------------
 globus-gridftp-server-etc.patch     |   13 ---
 globus-gridftp-server-funcgrp.patch |   10 +-
 globus-gridftp-server-pathmax.patch |  139 ------------------------
 globus-gridftp-server-usr.patch     |  126 ----------------------
 globus-gridftp-server.spec          |  197 ++++++++++++++++-------------------
 globus-gridftp-sshftp               |  105 +++++++++++++++++++
 gridftp.conf.default                |    5 -
 sources                             |    2 +-
 12 files changed, 323 insertions(+), 533 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f9625a7..f6a3a77 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/globus_gridftp_server-3.33.tar.gz
+/*.tar.gz
diff --git a/GLOBUS-GRIDFTP b/GLOBUS-GRIDFTP
index 99cac0a..9d3be67 100644
--- a/GLOBUS-GRIDFTP
+++ b/GLOBUS-GRIDFTP
@@ -6,6 +6,9 @@ http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/
 Admin Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/admin/
 
+User's Guide:
+http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/user/
+
 Developer's Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/developer/
 
@@ -20,3 +23,6 @@ http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/qp/
 
 Migrating Guide:
 http://www.globus.org/toolkit/docs/latest-stable/data/gridftp/mig/
+
+Globus RPM packaging is supported by the Initiative for Globus in Europe:
+http://www.ige-project.eu/
diff --git a/globus-gridftp-server b/globus-gridftp-server
index fbdba43..e910845 100644
--- a/globus-gridftp-server
+++ b/globus-gridftp-server
@@ -1,47 +1,65 @@
 #!/bin/bash
 #
-# globus-gridftp-server
-#
+# globus-gridftp-server - Globus GridFTP Server
 # chkconfig: - 20 80
-# description: Controls the globus-gridftp-server
+# description: The Globus GridFTP server is a process which implements the \
+#              GridFTP protocol for secure, high-performance file transfer.
 #
 ### BEGIN INIT INFO
 # Provides:          globus-gridftp-server
-# Required-Start:    $remote_fs $syslog
+# Required-Start:    $remote_fs $syslog $network
 # Required-Stop:     $remote_fs $syslog
 # Default-Stop:      0 1 2 3 4 5 6
-# Short-Description: Globus Gridftp Server
-# Description:       Globus Gridftp Server
+# Short-Description: Globus GridFTP Server
+# Description:       The Globus GridFTP server is a process which implements
+#                    the GridFTP protocol for secure, high-performance file
+#                    transfer.
 ### END INIT INFO
 
 # source function library
 . /etc/init.d/functions
 
-sbindir="/usr/sbin"
-sysconfdir="/etc"
-localstatedir="/var"
+sbindir=/usr/sbin
+sysconfdir=/etc
 
 rc=0
 conf=${sysconfdir}/gridftp.conf
-pidfile=${localstatedir}/run/globus-gridftp-server.pid
+confdir=${sysconfdir}/gridftp.d
+pidfile=/var/run/globus-gridftp-server.pid
+lockfile=/var/lock/subsys/globus-gridftp-server
 gridftpd=${sbindir}/globus-gridftp-server
 
 # Include defaults if available
 if [ -r /etc/sysconfig/globus-gridftp-server ] ; then
-  . /etc/sysconfig/globus-gridftp-server
+	. /etc/sysconfig/globus-gridftp-server
 fi
 
 start() {
 	echo -n "Starting globus-gridftp-server: "
+	rc=0
 	if [ ! -f $conf ]; then
-	  cp $conf.default $conf;
+		touch $conf
+	fi
+
+	if [ -f "$pidfile" ]; then
+		read pid < "$pidfile"
+
+		if ! kill -0 $pid; then
+			rm "$pidfile"
+		fi
 	fi
 
-	$gridftpd -S -c $conf
-	rc=$?
+	if [ ! -d $confdir ]; then
+		mkdir $confdir;
+	fi
+
+	if [ ! -f "$pidfile" ]; then
+		$gridftpd -S -c $conf -C $confdir -pidfile "${pidfile}"
+		rc=$?
+	fi
 
 	[ $rc -eq 0 ] && success || failure
-	[ $rc -eq 0 ] && touch /var/lock/subsys/globus-gridftp-server
+	[ $rc -eq 0 ] && touch ${lockfile}
 
 	echo
 	return $rc
@@ -49,13 +67,23 @@ start() {
 
 stop() {
 	echo -n "Stopping globus-gridftp-server: "
-	killall -s INT $gridftpd 2>/dev/null
-	rc=$?
-	sleep 2
-	killall -s KILL $gridftpd 2>/dev/null
+	if [ -f "$pidfile" ]; then
+		read pid < "$pidfile" 2> /dev/null
+
+		if [ "$pid" != "" -a "$pid" -gt 0 ]; then
+			if kill -0 "$pid" 2> /dev/null; then
+				kill -INT "$pid" 2>/dev/null
+				rc=$?
+				sleep 2
+				kill -0 "$pid" 2> /dev/null && kill -KILL "$pid"
+			fi
+		fi
+
+		rm -f "$pidfile"
+	fi
 
 	[ $rc -eq 0 ] && success || failure
-	[ $rc -eq 0 ] && rm /var/lock/subsys/globus-gridftp-server
+	[ $rc -eq 0 ] && rm ${lockfile}
 
 	echo
 	return $rc
@@ -66,6 +94,42 @@ restart() {
 	start
 }
 
+reload() {
+	echo -n "Reloading GridFTP configuration: "
+	read pid < "$pidfile" 2> /dev/null
+
+	if [ "$pid" != "" -a "$pid" -gt 0 ]; then
+		kill -HUP "$pid" 2>/dev/null
+		rc=$?
+	fi
+
+	[ $rc -eq 0 ] && success || failure
+
+	return $rc
+}
+
+status() {
+	if [ -f $pidfile ]; then
+		read pid < "$pidfile" 2> /dev/null
+
+		if [ "$pid" != "" -a "$pid" -gt 0 ]; then
+			if kill -0 "$pid" 2> /dev/null; then
+				echo "GridFTP server is running (pid=$pid)"
+				return 0
+			else
+				echo "Stale PID file $pidfile"
+				return 1
+			fi
+		else
+			echo "Invalid PID file $pidfile"
+			return 4
+		fi
+	else
+		echo "GridFTP server is not running"
+		return 3
+	fi
+}
+
 case "$1" in
     start)
 	start
@@ -74,14 +138,16 @@ case "$1" in
 	stop
 	;;
     status)
+	status
 	;;
     restart | force-reload)
 	restart
 	;;
     condrestart | try-restart)
-	[ -e /var/lock/subsys/globus-gridftp-server ] && restart
+	[ -e ${lockfile} ] && restart
 	;;
     reload)
+	reload
 	;;
     *)
 	echo "Usage: $0 {start|stop|status|restart|force-reload|condrestart|try-restart|reload}"
diff --git a/globus-gridftp-server-deps.patch b/globus-gridftp-server-deps.patch
index 5a45db3..d1a43ff 100644
--- a/globus-gridftp-server-deps.patch
+++ b/globus-gridftp-server-deps.patch
@@ -1,140 +1,51 @@
-diff -ur globus_gridftp_server-3.28.orig/pkgdata/pkg_data_src.gpt.in globus_gridftp_server-3.28/pkgdata/pkg_data_src.gpt.in
---- globus_gridftp_server-3.28.orig/pkgdata/pkg_data_src.gpt.in	2011-02-11 16:15:57.000000000 +0100
-+++ globus_gridftp_server-3.28/pkgdata/pkg_data_src.gpt.in	2011-04-25 11:32:58.517835969 +0200
-@@ -7,6 +7,11 @@
+diff -ur globus_gridftp_server-6.5.orig/configure.in globus_gridftp_server-6.5/configure.in
+--- globus_gridftp_server-6.5.orig/configure.in	2011-12-12 21:29:44.000000000 +0100
++++ globus_gridftp_server-6.5/configure.in	2011-12-30 04:54:16.269030050 +0100
+@@ -68,6 +68,8 @@
+ AC_CHECK_FUNCS(fgetpwent)
+ AC_C_BIGENDIAN
+ 
++GLOBUS_OPENSSL
++
+ AC_CANONICAL_BUILD
+ LDFLHACK=
+ case "$build" in
+diff -ur globus_gridftp_server-6.5.orig/pkgdata/pkg_data_src.gpt.in globus_gridftp_server-6.5/pkgdata/pkg_data_src.gpt.in
+--- globus_gridftp_server-6.5.orig/pkgdata/pkg_data_src.gpt.in	2011-12-12 20:25:23.000000000 +0100
++++ globus_gridftp_server-6.5/pkgdata/pkg_data_src.gpt.in	2011-12-30 04:52:13.989049441 +0100
+@@ -6,6 +6,11 @@
      <Version_Stability Release="Experimental" Dirt="@DIRT_TIMESTAMP at -@DIRT_BRANCH_ID@"/>
      <src_pkg>
          <Source_Dependencies Type="compile">
 +            <Dependency Name="globus_common">
 +                <Version>
-+                    <Simple_Version Major="0"/>
++                    <Simple_Version Major="14"/>
 +                </Version>
 +            </Dependency>
              <Dependency Name="globus_xio">
                  <Version>
-                     <Simple_Version Major="0"/>
-@@ -22,37 +27,34 @@
-                     <Simple_Version Major="0"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="compile">
-             <Dependency Name="globus_gridftp_server_control">
-                 <Version>
-                     <Simple_Version Major="0"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="compile">
-             <Dependency Name="globus_ftp_control">
-                 <Version>
-                     <Simple_Version Major="1"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="compile">
-             <Dependency Name="globus_authz">
-                 <Version>
-                     <Simple_Version Major="0"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="compile">
-             <Dependency Name="globus_usage">
-                 <Version>
-                     <Simple_Version Major="1"/>
-                 </Version>
+                     <Simple_Version Major="3"/>
+@@ -43,6 +48,11 @@
              </Dependency>
          </Source_Dependencies>
--	
-+
          <Source_Dependencies Type="pgm_link">
 +            <Dependency Name="globus_common">
 +                <Version>
-+                    <Simple_Version Major="0"/>
++                    <Simple_Version Major="14"/>
 +                </Version>
 +            </Dependency>
-             <Dependency Name="globus_xio"> 
-                 <Version>
-                     <Simple_Version Major="0"/>
-@@ -68,30 +70,64 @@
-                     <Simple_Version Major="0"/>
-                 </Version>
-             </Dependency>
--
--        </Source_Dependencies>
--        <Source_Dependencies Type="pgm_link">
-             <Dependency Name="globus_gridftp_server_control"> 
-                 <Version>
-                     <Simple_Version Major="0"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="pgm_link">
-             <Dependency Name="globus_ftp_control"> 
-                 <Version>
-                     <Simple_Version Major="1"/>
-                 </Version>
-             </Dependency>
--        </Source_Dependencies>
--        <Source_Dependencies Type="pgm_link">
-             <Dependency Name="globus_authz"> 
+             <Dependency Name="globus_xio">
                  <Version>
-                     <Simple_Version Major="0"/>
-                 </Version>
+                     <Simple_Version Major="3"/>
+@@ -80,6 +90,11 @@
              </Dependency>
-+            <Dependency Name="globus_usage"> 
-+                <Version>
-+                    <Simple_Version Major="1"/>
-+                </Version>
-+            </Dependency>
          </Source_Dependencies>
--        <Source_Dependencies Type="pgm_link">
-+
-+        <Source_Dependencies Type="lib_link">
+         <Source_Dependencies Type="lib_link">
 +            <Dependency Name="globus_common">
 +                <Version>
-+                    <Simple_Version Major="0"/>
-+                </Version>
-+            </Dependency>
-+            <Dependency Name="globus_xio"> 
-+                <Version>
-+                    <Simple_Version Major="0"/>
-+                </Version>
-+            </Dependency>
-+            <Dependency Name="globus_xio_gsi_driver">
-+                <Version>
-+                    <Simple_Version Major="0"/>
-+                </Version>
-+            </Dependency>
-+           <Dependency Name="globus_gfork">
-+                <Version>
-+                    <Simple_Version Major="0"/>
++                    <Simple_Version Major="14"/>
 +                </Version>
 +            </Dependency>
-+            <Dependency Name="globus_gridftp_server_control"> 
-+                <Version>
-+                    <Simple_Version Major="0"/>
-+                </Version>
-+            </Dependency>
-+            <Dependency Name="globus_ftp_control"> 
-+                <Version>
-+                    <Simple_Version Major="1"/>
-+                </Version>
-+            </Dependency>
-+            <Dependency Name="globus_authz"> 
-+                <Version>
-+                    <Simple_Version Major="0"/>
-+                </Version>
-+            </Dependency>
-             <Dependency Name="globus_usage"> 
+             <Dependency Name="globus_xio">
                  <Version>
-                     <Simple_Version Major="1"/>
-@@ -105,6 +141,7 @@
-             <cflags>@GPT_PKG_CFLAGS@</cflags>
-             <external_includes>@GPT_EXTERNAL_INCLUDES@</external_includes>
-             <external_libs>@GPT_EXTERNAL_LIBS@</external_libs>
-+            <pkg_libs>-lglobus_gridftp_server</pkg_libs>
-         </Build_Environment>
-     </src_pkg>
- </gpt_package_metadata>
+                     <Simple_Version Major="3"/>
diff --git a/globus-gridftp-server-funcgrp.patch b/globus-gridftp-server-funcgrp.patch
index d9930c4..35c870a 100644
--- a/globus-gridftp-server-funcgrp.patch
+++ b/globus-gridftp-server-funcgrp.patch
@@ -1,9 +1,9 @@
-diff -ur globus_gridftp_server-3.33.orig/pkgdata/pkg_data_src.gpt.in globus_gridftp_server-3.33/pkgdata/pkg_data_src.gpt.in
---- globus_gridftp_server-3.33.orig/pkgdata/pkg_data_src.gpt.in	2011-02-11 16:15:57.000000000 +0100
-+++ globus_gridftp_server-3.33/pkgdata/pkg_data_src.gpt.in	2011-04-25 11:41:26.302014173 +0200
-@@ -4,6 +4,7 @@
+diff -ur globus_gridftp_server-6.5.orig/pkgdata/pkg_data_src.gpt.in globus_gridftp_server-6.5/pkgdata/pkg_data_src.gpt.in
+--- globus_gridftp_server-6.5.orig/pkgdata/pkg_data_src.gpt.in	2011-12-12 20:25:23.000000000 +0100
++++ globus_gridftp_server-6.5/pkgdata/pkg_data_src.gpt.in	2011-12-14 19:32:22.325218342 +0100
+@@ -3,6 +3,7 @@
  <gpt_package_metadata Format_Version="0.02" Name="globus_gridftp_server">
-     <Aging_Version Age="3" Major="3" Minor="33"/>
+     <Aging_Version Major="6" Minor="5" Age="6"/>
      <Description>Globus GridFTP Server</Description>
 +    <Functional_Group>GridFTP</Functional_Group>
      <Version_Stability Release="Experimental" Dirt="@DIRT_TIMESTAMP at -@DIRT_BRANCH_ID@"/>
diff --git a/globus-gridftp-server.spec b/globus-gridftp-server.spec
index b3907d5..f3d2c15 100644
--- a/globus-gridftp-server.spec
+++ b/globus-gridftp-server.spec
@@ -1,76 +1,73 @@
 %ifarch alpha ia64 ppc64 s390x sparc64 x86_64
-%global flavor gcc64pthr
+%global flavor gcc64
 %else
-%global flavor gcc32pthr
+%global flavor gcc32
 %endif
 
+%{!?_initddir: %global _initddir %{_initrddir}}
+
 Name:		globus-gridftp-server
 %global _name %(tr - _ <<< %{name})
-Version:	3.33
-Release:	2%{?dist}
+Version:	6.5
+Release:	1%{?dist}
 Summary:	Globus Toolkit - Globus GridFTP Server
 
 Group:		System Environment/Libraries
 License:	ASL 2.0
 URL:		http://www.globus.org/
-#		Source is extracted from the globus toolkit installer:
-#		wget -N http://www-unix.globus.org/ftppub/gt5/5.0/5.0.4/installers/src/gt5.0.4-all-source-installer.tar.bz2
-#		tar -jxf gt5.0.4-all-source-installer.tar.bz2
-#		mv gt5.0.4-all-source-installer/source-trees/gridftp/server/src globus_gridftp_server-3.33
-#		cp -p gt5.0.4-all-source-installer/source-trees/core/source/GLOBUS_LICENSE globus_gridftp_server-3.33
-#		tar -zcf globus_gridftp_server-3.33.tar.gz globus_gridftp_server-3.33
-Source:		%{_name}-%{version}.tar.gz
+Source:		http://www.globus.org/ftppub/gt5/5.2/5.2.0/packages/src/%{_name}-%{version}.tar.gz
 Source1:	%{name}
-Source2:	gridftp.conf.default
+Source2:	globus-gridftp-sshftp
 Source3:	%{name}.8
 #		README file
 Source8:	GLOBUS-GRIDFTP
-#		Add missing dependency metadata:
-#		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=6813
 Patch0:		%{name}-deps.patch
-#		Fixes for FHS installation:
-#		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=6814
-Patch1:		%{name}-usr.patch
-#		PATH_MAX and MAXPATHLENGTH should not be defined in headers:
-#		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=6830
-Patch2:		%{name}-pathmax.patch
-#		Fix location of default config file:
-#		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=6876
-Patch3:		%{name}-etc.patch
-#		Missing functional group:
-#		http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=7167
-Patch4:		%{name}-funcgrp.patch
+Patch1:		%{name}-funcgrp.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-Requires:	globus-xio-gsi-driver%{?_isa}
-BuildRequires:	grid-packaging-tools
-BuildRequires:	globus-xio-devel%{?_isa}
-BuildRequires:	globus-authz-devel%{?_isa}
-BuildRequires:	globus-gfork-devel%{?_isa}
-BuildRequires:	globus-ftp-control-devel%{?_isa} >= 1
-BuildRequires:	globus-gridftp-server-control-devel%{?_isa}
-BuildRequires:	globus-common-devel%{?_isa}
-BuildRequires:	globus-xio-gsi-driver-devel%{?_isa}
-BuildRequires:	globus-usage-devel%{?_isa} >= 1
+Requires:	globus-xio%{?_isa} >= 3
+Requires:	globus-authz%{?_isa} >= 2
+Requires:	globus-gfork%{?_isa} >= 3
+Requires:	globus-ftp-control%{?_isa} >= 4
+Requires:	globus-gridftp-server-control%{?_isa} >= 2
+Requires:	globus-common%{?_isa} >= 14
+Requires:	globus-xio-gsi-driver%{?_isa} >= 2
+Requires:	globus-usage%{?_isa} >= 3
+BuildRequires:	grid-packaging-tools >= 3.4
+BuildRequires:	globus-core%{?_isa} >= 8
+BuildRequires:	globus-xio-devel%{?_isa} >= 3
+BuildRequires:	globus-authz-devel%{?_isa} >= 2
+BuildRequires:	globus-gfork-devel%{?_isa} >= 3
+BuildRequires:	globus-ftp-control-devel%{?_isa} >= 4
+BuildRequires:	globus-gridftp-server-control-devel%{?_isa} >= 2
+BuildRequires:	globus-common-devel%{?_isa} >= 14
+BuildRequires:	globus-xio-gsi-driver-devel%{?_isa} >= 2
+BuildRequires:	globus-usage-devel%{?_isa} >= 3
+BuildRequires:	openssl-devel%{?_isa}
 
 %package progs
 Summary:	Globus Toolkit - Globus GridFTP Server Programs
 Group:		Applications/Internet
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	globus-xio-gsi-driver%{?_isa}
+Requires:	globus-xio-gsi-driver%{?_isa} >= 2
+Requires(post):		chkconfig
+Requires(preun):	chkconfig
+Requires(preun):	initscripts
+Requires(postun):	initscripts
 
 %package devel
 Summary:	Globus Toolkit - Globus GridFTP Server Development Files
 Group:		Development/Libraries
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	globus-xio-devel%{?_isa}
-Requires:	globus-authz-devel%{?_isa}
-Requires:	globus-gfork-devel%{?_isa}
-Requires:	globus-ftp-control-devel%{?_isa} >= 1
-Requires:	globus-gridftp-server-control-devel%{?_isa}
-Requires:	globus-common-devel%{?_isa}
-Requires:	globus-xio-gsi-driver-devel%{?_isa}
-Requires:	globus-usage-devel%{?_isa} >= 1
+Requires:	globus-xio-devel%{?_isa} >= 3
+Requires:	globus-authz-devel%{?_isa} >= 2
+Requires:	globus-gfork-devel%{?_isa} >= 3
+Requires:	globus-ftp-control-devel%{?_isa} >= 4
+Requires:	globus-gridftp-server-control-devel%{?_isa} >= 2
+Requires:	globus-common-devel%{?_isa} >= 14
+Requires:	globus-xio-gsi-driver-devel%{?_isa} >= 2
+Requires:	globus-usage-devel%{?_isa} >= 3
+Requires:	openssl-devel%{?_isa}
 
 %description
 The Globus Toolkit is an open source software toolkit used for building Grid
@@ -103,9 +100,6 @@ Globus GridFTP Server Development Files
 %setup -q -n %{_name}-%{version}
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 %build
 # Remove files that should be replaced during bootstrap
@@ -115,21 +109,16 @@ rm -f pkgdata/Makefile.am
 rm -f globus_automake*
 rm -rf autom4te.cache
 
-# Remove flavor tags
-for f in `find . -name Makefile.am` ; do
-  sed -e 's!^flavorinclude_HEADERS!include_HEADERS!' \
-      -e 's!\(lib[a-zA-Z_]*\)_$(GLOBUS_FLAVOR_NAME)\.la!\1.la!g' \
-      -e 's!^\(lib[a-zA-Z_]*\)___GLOBUS_FLAVOR_NAME__la_!\1_la_!' -i $f
-done
-sed -s 's!\(lib[a-zA-Z_${}]*\)_${GLOBUS_FLAVOR_NAME}\.la!\1.la!g' \
-  -i configure.in
-sed -e "s!<With_Flavors!<With_Flavors ColocateLibraries=\"no\"!" \
-  -i pkgdata/pkg_data_src.gpt.in
-
+unset GLOBUS_LOCATION
+unset GPT_LOCATION
 %{_datadir}/globus/globus-bootstrap.sh
 
 export GRIDMAP=/etc/grid-security/grid-mapfile
-%configure --with-flavor=%{flavor} --sysconfdir=/etc/%{name}
+%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}
 
@@ -141,46 +130,34 @@ GLOBUSPACKAGEDIR=$RPM_BUILD_ROOT%{_datadir}/globus/packages
 
 # Remove libtool archives (.la files)
 find $RPM_BUILD_ROOT%{_libdir} -name 'lib*.la' -exec rm -v '{}' \;
-sed '/lib.*\.la$/d' -i $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_rtl.filelist
-
-# Remove static libraries (.a files)
-find $RPM_BUILD_ROOT%{_libdir} -name 'lib*.a' -exec rm -v '{}' \;
-sed '/lib.*\.a$/d' -i $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_dev.filelist
-
-# Generate pkg-config file from GPT metadata
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
-%{_datadir}/globus/globus-gpt2pkg-config pkgdata/pkg_data_%{flavor}_dev.gpt > \
-  $RPM_BUILD_ROOT%{_libdir}/pkgconfig/%{name}.pc
-
-# Remove buildroot from filelist
-sed s!$RPM_BUILD_ROOT!! -i $GLOBUSPACKAGEDIR/%{_name}/noflavor_data.filelist
-
-# No need for environment in gfork scripts
-sed '/ env /d' -i $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/g*
-
-# Remove .pl extension and add globus namespace
-mv $RPM_BUILD_ROOT%{_sbindir}/gridftp-password.pl \
-   $RPM_BUILD_ROOT%{_sbindir}/globus-gridftp-password
-sed s/gridftp-password.pl/globus-gridftp-password/ \
-  -i $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist
-
-# Don't use /usr/bin/env
-sed 's!/usr/bin/env perl!/usr/bin/perl!' \
-  -i $RPM_BUILD_ROOT%{_sbindir}/globus-gridftp-password
-
-# Install start-up script and configuration template
-mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}
-install -m 644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
+sed '/lib.*\.la$/d' -i $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_dev.filelist
+
+mv $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.conf.default \
+   $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.conf
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
+mv $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.xinetd.default \
+   $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/gridftp
+mv $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.gfork.default \
+   $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.gfork
+rm $GLOBUSPACKAGEDIR/%{_name}/pkg_data_noflavor_data.gpt
+rm $GLOBUSPACKAGEDIR/%{_name}/noflavor_data.filelist
+
+# No need for environment in conf files
+sed '/ env /d' -i $RPM_BUILD_ROOT%{_sysconfdir}/gridftp.gfork
+sed '/^env /d' -i $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/gridftp
+
+# Remove start-up scripts
+rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/init.d
+sed '/init\.d/d' -i $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist
+
+# Install start-up scripts
+mkdir -p $RPM_BUILD_ROOT%{_initddir}
+install -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{_initddir}
 
 # Install man page
 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
 install -m 644 -p %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man8
 
-# Install license file
-mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-install -m 644 -p GLOBUS_LICENSE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-
 # Install README file
 install -m 644 -p %{SOURCE8} \
   $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/README
@@ -188,11 +165,10 @@ install -m 644 -p %{SOURCE8} \
 # Generate package filelists
 cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_rtl.filelist \
   | sed s!^!%{_prefix}! > package.filelist
+cat $GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist \
+  | sed -e 's!/man/.*!&*!' -e 's!^!%doc %{_prefix}!' >> package.filelist
 cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist \
-    $GLOBUSPACKAGEDIR/%{_name}/noflavor_data.filelist \
-  | sed -e s!^!%{_prefix}! \
-	-e 's!%{_prefix}%{_sysconfdir}!%config(noreplace) %{_sysconfdir}!' \
-  > package-progs.filelist
+  | sed s!^!%{_prefix}! > package-progs.filelist
 cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_dev.filelist \
   | sed s!^!%{_prefix}! > package-devel.filelist
 
@@ -204,39 +180,48 @@ rm -rf $RPM_BUILD_ROOT
 %postun -p /sbin/ldconfig
 
 %post progs
-if [ $1 = 1 ]; then
+if [ $1 -eq 1 ]; then
     /sbin/chkconfig --add %{name}
+    /sbin/chkconfig --add globus-gridftp-sshftp
 fi
 
 %preun progs
-if [ $1 = 0 ]; then
+if [ $1 -eq 0 ]; then
     /sbin/chkconfig --del %{name}
+    /sbin/chkconfig --del globus-gridftp-sshftp
 fi
 
 %postun progs
 if [ $1 -ge 1 ]; then
     /sbin/service %{name} condrestart > /dev/null 2>&1 || :
+    /sbin/service globus-gridftp-sshftp condrestart > /dev/null 2>&1 || :
 fi
 
 %files -f package.filelist
 %defattr(-,root,root,-)
 %dir %{_datadir}/globus/packages/%{_name}
 %dir %{_docdir}/%{name}-%{version}
-%doc %{_docdir}/%{name}-%{version}/GLOBUS_LICENSE
 %doc %{_docdir}/%{name}-%{version}/README
 
 %files -f package-progs.filelist progs
 %defattr(-,root,root,-)
-%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/gridftp.conf
+%config(noreplace) %{_sysconfdir}/gridftp.gfork
+%config(noreplace) %{_sysconfdir}/xinetd.d/gridftp
+%{_initddir}/%{name}
+%{_initddir}/globus-gridftp-sshftp
 %{_mandir}/man8/%{name}.8*
-%{_initrddir}/%{name}
-%config(noreplace) %{_sysconfdir}/gridftp.conf.default
 
 %files -f package-devel.filelist devel
 %defattr(-,root,root,-)
-%{_libdir}/pkgconfig/%{name}.pc
 
 %changelog
+* Wed Dec 14 2011 Mattias Ellert <mattias.ellert at fysast.uu.se> - 6.5-1
+- Update to Globus Toolkit 5.2.0
+- Drop patches globus-gridftp-server-etc.patch,
+  globus-gridftp-server-pathmax.patch and globus-gridftp-server-usr.patch
+  (fixed upstream)
+
 * Sun Oct 02 2011 Mattias Ellert <mattias.ellert at fysast.uu.se> - 3.33-2
 - Update contributed manpage
 
diff --git a/globus-gridftp-sshftp b/globus-gridftp-sshftp
new file mode 100644
index 0000000..4bd2832
--- /dev/null
+++ b/globus-gridftp-sshftp
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+# globus-gridftp-sshftp
+#
+# chkconfig: - 20 80
+# description: Controls sshftp access to the globus-gridftp-server.
+#
+### BEGIN INIT INFO
+# Provides:          globus-gridftp-sshftp
+# Required-Start:    $remote_fs $syslog $network
+# Required-Stop:     $remote_fs $syslog
+# Default-Stop:      0 1 2 3 4 5 6
+# Short-Description: Globus GridFTP SSHFTP
+# Description:       sshftp access to the Globus Gridftp Server
+### END INIT INFO
+
+# source function library
+. /etc/init.d/functions
+
+sbindir=/usr/sbin
+sysconfdir=/etc
+
+rc=0
+defaultconf=${sysconfdir}/gridftp-sshftp
+enabledconf=/etc/grid-security/sshftp
+
+# Include defaults if available
+if [ -r /etc/sysconfig/globus-gridftp-sshftp ] ; then
+	. /etc/sysconfig/globus-gridftp-sshftp
+fi
+
+start() {
+	echo -n "Enabling sshftp access to globus-gridftp-server: "
+
+	if [ ! -f $defaultconf ]; then	
+	  ${sbindir}/globus-gridftp-server-enable-sshftp -out $defaultconf
+	  rc=$?
+	fi
+
+	if [ $rc -eq 0 -a ! -d /etc/grid-security ] ; then
+	  mkdir /etc/grid-security
+	  rc=$?
+	fi
+
+	if [ $rc -eq 0 -a ! -f $enabledconf ]; then
+	  ln -s $defaultconf $enabledconf
+	  rc=$?
+	fi
+
+	[ $rc -eq 0 ] && success || failure
+
+	echo
+	return $rc
+}
+
+stop() {
+	echo -n "Disabling sshftp access to globus-gridftp-server: "
+
+	if [ -L $enabledconf ]; then
+	  rm $enabledconf
+	  rc=$?
+	elif [ -f $enabledconf ]; then
+	  mv $enabledconf ${enabledconf}.save
+	  rc=$?
+	fi
+	
+	[ $rc -eq 0 ] && success || failure
+
+	echo
+	return $rc
+}
+
+case "$1" in
+    start)
+	start
+	;;
+    stop)
+	stop
+	;;
+    status)
+	if [ -f $enabledconf ]; then
+	  echo "sshftp access to globus-gridftp-server is enabled."
+	  exit 0
+	else
+	  echo "sshftp access to globus-gridftp-server is disabled."
+	  exit 3
+	fi
+	;;
+    restart|force-reload)
+	stop
+	start
+	;;
+    reload)
+	;;
+    reconfigure)
+	stop
+	${sbindir}/globus-gridftp-server-enable-sshftp -force -out $defaultconf
+	start
+	;;
+    *)
+	echo "Usage: $0 {start|stop|status|restart|reload|reconfigure}"
+	exit 1
+	;;
+esac
+exit $rc
diff --git a/sources b/sources
index dd196c4..2359e38 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0c8de721f94aec0c66fa491f439abe72  globus_gridftp_server-3.33.tar.gz
+efbba3f12e464ec0d42f6ef8b906a1c3  globus_gridftp_server-6.5.tar.gz


More information about the scm-commits mailing list