1-
2- # OSG packaging is a bit different from Globus
3- %if "0%{?dist }" == "0.osg"
4- %define _osg 1
5- %else
6- %define _osg 0
7- %endif
8-
1+ # Have gitrev be the short hash or branch name if doing a prerelease build
2+ # %define gitrev
93
104Name: gridftp-hdfs
11- Version: 0.5.5
12- Release: 1
5+ Version: 1.0
6+ Release: 1%{?gitrev:.%{ gitrev }git}%{? dist }
137Summary: HDFS DSI plugin for GridFTP
14-
158Group: System Environment/Daemons
169License: ASL 2.0
17- URL: http://twiki.grid.iu.edu/bin/view/Storage/HadoopInstallation
18- # TODO: Check if this svn tag is the same as the source tarball available
19- # for download. That might simplify this a bit.
20- # svn co svn://t2.unl.edu/brian/gridftp_hdfs
21- # cd gridftp_hdfs
22- # ./bootstrap
23- # ./configure
24- # make dist
25- Source0: %{name }-%{version }.tar.gz
10+ URL: https://github.com/opensciencegrid/gridftp_hdfs
11+ # To create:
12+ # Release:
13+ # git archive --prefix=%{name}-%{version}/ v%{version} | gzip -n > %{name}-%{version}.tar.gz
14+ # Prerelease:
15+ # git archive --prefix=%{name}-%{version}/ %{gitrev} | gzip -n > %{name}-%{version}-%{gitrev}.tar.gz
16+ Source0: %{name }-%{version }%{?gitrev:-%{gitrev }}.tar.gz
17+
18+ Source1: globus-gridftp-server-plugin.osg-sysconfig
19+ %if 0%{?osg } > 0
20+ Source2: %{name }.conf
21+ Source3: %{name }.osg-extensions.conf
22+ %endif
23+
2624BuildRoot: %{_tmppath }/%{name }-%{version }-%{release }-root-%(%{__id_u} -n)
2725
2826BuildRequires: autoconf
2927BuildRequires: automake
3028BuildRequires: libtool
3129
32- BuildRequires: java7 -devel >= 1:1.7.0
30+ BuildRequires: java -devel >= 1:1.7.0
3331BuildRequires: jpackage-utils
3432
3533BuildRequires: hadoop-libhdfs
36- BuildRequires: globus-gridftp-server-devel
34+ # globus-gridftp-server-devel-11 needed for 2436-enable-ordered-data.patch
35+ BuildRequires: globus-gridftp-server-devel >= 11
3736BuildRequires: globus-common-devel
3837
3938BuildRequires: chrpath
@@ -46,9 +45,13 @@ Requires: hadoop-client >= 2.0.0+545
4645Requires: globus-gridftp-server-progs >= 6.38-1.3
4746%if 0%{?osg } > 0
4847Requires: xinetd
48+ Requires: globus-gridftp-osg-extensions
4949%endif
5050Requires: java >= 1:1.7.0
5151Requires: jpackage-utils
52+ # for ordered data support (SOFTWARE-2436):
53+ BuildRequires: globus-ftp-control-devel >= 7.7
54+ Requires: globus-ftp-control >= 7.7
5255
5356Requires(pre): shadow-utils
5457Requires(preun): initscripts
@@ -62,14 +65,19 @@ Requires(postun): xinetd
6265%endif
6366
6467%description
65- HDFS DSI plugin for GridFTP
68+ HDFS DSI plugin for GridFTP
6669
6770%prep
6871
6972%setup -q
7073
7174%build
7275
76+ aclocal
77+ libtoolize
78+ automake --foreign -a
79+ autoconf
80+
7381%configure --with-java= /etc/alternatives/java_sdk
7482
7583make %{?_smp_mflags }
@@ -79,15 +87,35 @@ rm -rf $RPM_BUILD_ROOT
7987
8088make DESTDIR= $RPM_BUILD_ROOT install
8189
90+ # Remove rpaths
91+ chrpath -d $RPM_BUILD_ROOT%{_libdir }/*.so
92+
8293# Remove libtool turds
8394rm -f $RPM_BUILD_ROOT%{_libdir }/*.la
8495rm -f $RPM_BUILD_ROOT%{_libdir }/*.a
8596
97+ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir }/gridftp.d
98+
8699# Remove the init script - in GT5.2, this gets bootstrapped appropriately
87- %if %_osg
88100rm $RPM_BUILD_ROOT%{_sysconfdir }/init.d/%{name }
89- %else
90101rm $RPM_BUILD_ROOT%{_sysconfdir }/sysconfig/gridftp.conf.d/%{name }-environment-bootstrap
102+
103+ %if 0%{?osg } > 0
104+ mv $RPM_BUILD_ROOT%{_sysconfdir }/sysconfig/gridftp.conf.d/%{name } $RPM_BUILD_ROOT%{_sysconfdir }/sysconfig
105+ rmdir $RPM_BUILD_ROOT%{_sysconfdir }/sysconfig/gridftp.conf.d
106+ rm $RPM_BUILD_ROOT%{_sysconfdir }/gridftp-hdfs/gridftp.conf
107+ mkdir -p $RPM_BUILD_ROOT/usr/share/osg/sysconfig
108+ install -m 644 -p %{SOURCE1 } $RPM_BUILD_ROOT/usr/share/osg/sysconfig/globus-gridftp-server-plugin
109+ install -m 644 %{SOURCE2 } $RPM_BUILD_ROOT%{_sysconfdir }/gridftp.d
110+ install -m 644 %{SOURCE3 } $RPM_BUILD_ROOT%{_sysconfdir }/gridftp.d
111+ %else
112+ rm $RPM_BUILD_ROOT%{_sysconfdir }/gridftp-hdfs/gridftp-debug.conf
113+ rm $RPM_BUILD_ROOT%{_sysconfdir }/gridftp-hdfs/gridftp-inetd.conf
114+ rm $RPM_BUILD_ROOT%{_sysconfdir }/gridftp-hdfs/gridftp.conf
115+ rm $RPM_BUILD_ROOT%{_sysconfdir }/gridftp-hdfs/replica-map.conf
116+ rm $RPM_BUILD_ROOT%{_sysconfdir }/xinetd .d/gridftp-hdfs
117+ rm $RPM_BUILD_ROOT%{_bindir }/gridftp-hdfs-standalone
118+ rm $RPM_BUILD_ROOT%{_sbindir }/gridftp-hdfs-inetd
91119%endif
92120
93121%clean
@@ -96,56 +124,164 @@ rm -rf $RPM_BUILD_ROOT
96124%post
97125/sbin/ldconfig
98126
99- %if % _osg
127+ %if 0%{? osg } > 0
100128/sbin/service globus-gridftp-server condrestart > /dev/null 2> &1 || :
101129%else
102130/sbin/chkconfig --add %{name }
103131%endif
104132
105133%preun
106134if [ " $1 " = " 0" ] ; then
135+ %if 0%{? osg} > 0
107136 /sbin/service xinetd condrestart > /dev/null 2>&1
108- %if %_osg
109- /sbin/service globus-gridftp-server condrestart > /dev/null 2>&1 || :
110- %else
111- /sbin/service %{name} stop > /dev/null 2>&1 || :
112- /sbin/chkconfig --del %{name}
113137%endif
138+ /sbin/service globus-gridftp-server condrestart > /dev/null 2>&1 || :
114139fi
115140
116141%postun
117142/sbin/ldconfig
118143if [ " $1 " -ge " 1" ]; then
144+ %if 0%{? osg} > 0
119145 /sbin/service xinetd condrestart > /dev/null 2>&1
120- %if %_osg
121- /sbin/service globus-gridftp-server condrestart > /dev/null 2>&1 || :
122- %else
123- /sbin/service gridftp-hdfs condrestart > /dev/null 2>&1 || :
124146%endif
147+ /sbin/service globus-gridftp-server condrestart > /dev/null 2>&1 || :
125148fi
126149
127150%files
128151%defattr(-,root,root,-)
152+ %if 0%{?osg } > 0
129153%{_sbindir }/gridftp-hdfs-inetd
130154%{_bindir }/gridftp-hdfs-standalone
155+ %endif
131156%{_libdir }/libglobus_gridftp_server_hdfs.so*
132157%{_datadir }/%{name }/%{name }-environment
158+ %if 0%{?osg } > 0
133159%config(noreplace) %{_sysconfdir }/xinetd .d/%{name }
134160%config(noreplace) %{_sysconfdir }/%{name }/gridftp-debug.conf
135161%config(noreplace) %{_sysconfdir }/%{name }/gridftp-inetd.conf
136- %config(noreplace) %{_sysconfdir }/%{name }/gridftp.conf
137162%config(noreplace) %{_sysconfdir }/%{name }/replica-map.conf
138- %config(noreplace) %{_sysconfdir }/sysconfig/gridftp.conf.d/%{name }
139- %if %_osg
140- %{_sysconfdir }/sysconfig/gridftp.conf.d/%{name }-environment-bootstrap
163+ %config(noreplace) %{_sysconfdir }/sysconfig/%{name }
164+ %config(noreplace) %{_sysconfdir }/gridftp.d/%{name }.conf
165+ %config(noreplace) %{_sysconfdir }/gridftp.d/%{name }.osg-extensions.conf
166+ /usr/share/osg/sysconfig/globus-gridftp-server-plugin
141167%else
142- %{_sysconfdir }/init .d/%{name }
168+ %config(noreplace) % {_sysconfdir }/sysconfig/gridftp.conf .d/%{name }
143169%endif
144170
145171%changelog
172+ * Thu Aug 24 2017 Mátyás Selmeci <matyas@cs.wisc.edu> - 1.0-1
173+ - Update to latest version from github (SOFTWARE-2856)
174+ - Remove upstreamed patches
175+
176+ * Thu Dec 22 2016 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-25.5
177+ - Bump to rebuild against globus-gridftp-server 11.8 (SOFTWARE-2436)
178+
179+ * Fri Aug 26 2016 Mátyás Selmeci <matyas@cs.wisc.edu> - 0.5.4-25.4
180+ - Add patch to enable ordered data (SOFTWARE-2436)
181+ - Adds dependency on globus-ftp-control >= 7.7
182+ - Adds build dependency on globus-gridftp-server >= 11
183+
184+ * Thu Jul 21 2016 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-25.3
185+ - Config file fixes for globus-gridftp-osg-extensions (SOFTWARE-2397)
186+
187+ * Wed Jul 20 2016 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-25.2
188+ - Use globus-gridftp-osg-extensions (SOFTWARE-2397)
189+
190+ * Thu Jun 30 2016 Brian Bockelman <bbockelm@cse.unl.edu> - 0.5.4-25.1
191+ - Fix bug with listing empty directories.
192+
193+ * Mon Feb 22 2016 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-25.osg
194+ - Rebuild against hadoop-2.0.0+1612 (SOFTWARE-2161)
195+
196+ * Tue Dec 21 2015 Edgar Fajardo <emfajard@ucsd.edu> - 0.5.4-24.osg
197+ - Update to include the patch (SOFTWARE-2107) to deal with mkdir and rename
198+
199+ * Tue Dec 8 2015 Edgar Fajardo <emfajard@ucsd.edu> - 0.5.4-23.osg
200+ - Update to include the patch (SOFTWARE-2115) to deal with load limits
201+
202+ * Wed Sep 2 2015 Edgar Fajardo <emfajard@ucsd.edu> - 0.5.4-22.osg
203+ - Update to the patch (SOFTWARE-2011) to correctly deal when replication errors
204+
205+ * Mon Aug 31 2015 Edgar Fajardo <emfajard@ucsd.edu> - 0.5.4-21.osg
206+ - Applied patch to capture stderr to the gridftp-auth log (SOFTWARE-2011)
207+
146208* Mon Aug 24 2015 Brian Bockelman <bbockelm@cse.unl.edu> - 0.5.5-1
147209- Fix checksum verification with gfal2.
148210
211+ * Mon Aug 24 2015 Edgar Fajardo <emfajard@ucsd.edu> - 0.5.4-20.osg
212+ - Changed checksum names (adler32, md5, etc) to be case-insensitive (SOFTWARE-2006)
213+
214+ * Tue Sep 30 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-19.osg
215+ - Limit concurrency to 1 for no-parallelism transfers (SOFTWARE-1495)
216+
217+ * Thu Jun 19 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-18.osg
218+ - Mutex fix for GLOBUS_THREAD_MODEL="pthread" (SOFTWARE-1495)
219+
220+ * Wed May 21 2014 Mátyás Selmeci <matyas@cs.wisc.edu> - 0.5.4-17.osg
221+ - Remove rpath (SOFTWARE-1394)
222+
223+ * Wed Apr 16 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-15.osg
224+ - Remove conflicting /etc/gridftp.d notion from non-osg builds (SOFTWARE-1439)
225+
226+ * Wed Apr 09 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-14.osg
227+ - Move hdfs-specific config into /etc/gridftp.d (SOFTWARE-1439)
228+
229+ * Thu Apr 03 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-13.osg
230+ - Update globus-gridftp-server version requirement (SOFTWARE-1412)
231+
232+ * Thu Mar 27 2014 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-12.osg
233+ - Add 1412-gridftp_d.patch to use /etc/gridftp.d config dir (SOFTWARE-1412)
234+
235+ * Tue Mar 04 2014 Mátyás Selmeci <matyas@cs.wisc.edu> 0.5.4-11.osg
236+ - Add 1410-environment.patch to fix problem with not finding libjsig.so in systems with OpenJDK (SOFTWARE-1410)
237+
238+ * Wed Jan 15 2014 Matyas Selmeci <matyas@cs.wisc.edu> - 0.5.4-10.osg
239+ - Merged upstream changes as of GT 5.2.5 (SOFTWARE-1317)
240+ - Remove gridftp-hdfs-config.patch
241+ - Remove gridftp-hdfs-classpath.patch
242+
243+ * Fri May 31 2013 Matyas Selmeci <matyas@cs.wisc.edu> - 0.5.4-9
244+ - Add hadoop-client dependency
245+
246+ * Thu May 30 2013 Matyas Selmeci <matyas@cs.wisc.edu> - 0.5.4-8
247+ - Bump to rebuild against hadoop 2.0 built with OpenJDK 7
248+
249+ * Tue Feb 26 2013 Carl Edquist <edquist@cs.wisc.edu> - 0.5.4-7
250+ - Update to build with OpenJDK 7; require java7-devel + jpackage-utils
251+
252+ * Tue Feb 19 2013 Dave Dykstra <dwd@fnal.gov> - 0.5.4-6.osg
253+ - Change sysconfig arrangement to use /usr/share/osg/sysconfig
254+ for OSG replaceable additions, and /etc/sysconfig/gridftp-hdfs
255+ for non-replaceable variables specific to gridftp-hdfs.
256+ Always include /usr/share/osg/sysconfig/globus-gridftp-server
257+ environment, which also pulls in hdfs-specific variables via
258+ a plugin file.
259+
260+ * Wed Jan 23 2013 Doug Strain <dstrain@fnal.gov> - 0.5.4-5
261+ - Rebuild for Gridftp 6.14
262+
263+ * Wed Aug 1 2012 Doug Strain <dstrain@fnal.gov> - 0.5.4-4
264+ - Added patch to LD_LIBRARY_PATH for /usr/lib/hadoop/lib/native
265+
266+ * Thu Jul 19 2012 Doug Strain <dstrain@fnal.gov> - 0.5.4-3
267+ - Changing requirements to use any version of libhdfs
268+ - Also updating hdfsDelete and gridftp-hdfs-environment
269+ - In preparation of hadoop-2.0.0 upgrade
270+
271+ * Wed May 30 2012 Doug Strain <dstrain@fnal.gov> - 0.5.3-6
272+ - Patch to hdfs stat so it actually finds uid and gid
273+ - Also, delete function was missing, so I wrote a DELE function
274+ - Fixed mkdir that was using the wrong path
275+ - This fixes uberftp issues
276+
277+ * Wed May 9 2012 Doug Strain <dstrain@fnal.gov> - 0.5.3-5
278+ - Added new LCMAPs options to sysconfig
279+ - Changed location of sysconfig information in standalone+inetd scripts
280+
281+ * Fri Apr 13 2012 Doug Strain <dstrain@fnal.gov> - 0.5.3-2
282+ - Added dist tag
283+ - Switched to using jdk for SL6
284+
149285* Tue Dec 06 2011 Brian Bockelman <bbockelm@cse.unl.edu> - 0.5.3-1
150286- Initial support for GlobusOnline.
151287
0 commit comments