%global srcname hdfs %global sum HdfsCLI: API and command line interface for HDFS Name: python-%{srcname} Version: 2.1.0 Release: 5%{?dist} Summary: %{sum} License: MIT URL: https://github.com/mtth/%{srcname} Source0: https://github.com/mtth/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz BuildArch: noarch %global _description Python (2 and 3) bindings for the WebHDFS (and HttpFS) \ API, supporting both secure and insecure clusters. Command line interface to \ transfer files and start an interactive client shell, with aliases for \ convenient name-node URL caching. Additional functionality through optional \ extensions: Avro, to read and write Avro files directly from HDFS. data-frame, \ to load and save Pandas data-frames. Kerberos, to support Kerberos \ authenticated clusters. %description %{_description} %package -n python2-%{srcname} Summary: %{sum} BuildRequires: python2-devel BuildRequires: %{py2_dist setuptools} BuildRequires: %{py2_dist six} BuildRequires: %{py2_dist fastavro} BuildRequires: %{py2_dist pandas} BuildRequires: %{py2_dist requests-kerberos} BuildRequires: %{py2_dist nose} Requires: %{py2_dist six} Requires: %{py2_dist requests} Requires: %{py2_dist docopt} Requires: %{py2_dist fastavro} Requires: %{py2_dist pandas} Requires: %{py2_dist requests-kerberos} %{?python_provide:%python_provide python2-%{srcname}} %description -n python2-%{srcname} %{_description} %package -n python3-%{srcname} Summary: %{sum} BuildRequires: python3-devel BuildRequires: %{py3_dist setuptools} BuildRequires: %{py3_dist six} BuildRequires: %{py3_dist fastavro} BuildRequires: %{py3_dist pandas} BuildRequires: %{py3_dist requests-kerberos} BuildRequires: %{py3_dist nose} Requires: %{py3_dist six} Requires: %{py3_dist requests} Requires: %{py3_dist docopt} Requires: %{py3_dist fastavro} Requires: %{py3_dist pandas} Requires: %{py3_dist requests-kerberos} %{?python_provide:%python_provide python3-%{srcname}} %description -n python3-%{srcname} %{_description} %package doc Summary: Documentation for %{name} BuildRequires: %{py2_dist sphinx} # Should docs require the main package? %description doc %{_description} %prep %autosetup -n %{srcname}-%{version} rm -rf *.egg-info %build %py2_build %py3_build pushd doc PYTHONPATH=../ sphinx-build . html rm -fvr html/{.buildinfo,.doctrees} popd # Remove shebang from examples in doc for example in examples/*.py; do sed '1{\@^#!/usr/bin/env python@d}' $example > $example.new && touch -r $example $example.new && mv $example.new $example done %install %py2_install %py3_install # Remove shebang from libraries # probably easier to use find, but the wiki suggests a for loop for lib in %{buildroot}%{python2_sitelib}/%{srcname}/*.py %{buildroot}%{python2_sitelib}/%{srcname}/ext/*.py %{buildroot}%{python2_sitelib}/%{srcname}/ext/avro/*.py; do echo "Working on $lib" sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new && touch -r $lib $lib.new && mv $lib.new $lib done for lib in %{buildroot}%{python3_sitelib}/%{srcname}/*.py %{buildroot}%{python3_sitelib}/%{srcname}/ext/*.py %{buildroot}%{python3_sitelib}/%{srcname}/ext/avro/*.py; do echo "Working on $lib" sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new && touch -r $lib $lib.new && mv $lib.new $lib done # Ignore tests - require a hadoop cluster setup # https://github.com/mtth/hdfs/blob/master/.travis.yml#L10 %files -n python2-%{srcname} %license LICENSE %{python2_sitelib}/%{srcname}-%{version}-py?.?.egg-info %{python2_sitelib}/%{srcname}/ %files -n python3-%{srcname} %license LICENSE %{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info %{python3_sitelib}/%{srcname}/ %{_bindir}/%{srcname}* %files doc %doc examples AUTHORS CHANGES README.rst doc/html %license LICENSE %changelog * Tue Jun 19 2018 Miro Hrončok - 2.1.0-5 - Rebuilt for Python 3.7 * Tue Jun 19 2018 Miro Hrončok - 2.1.0-4 - Rebuilt for Python 3.7 * Fri Feb 09 2018 Fedora Release Engineering - 2.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Tue Jan 23 2018 Ankur Sinha - 2.1.0-2 - Fix doc generation - Fix summary macro - List binary files * Mon Jan 15 2018 Ankur Sinha - 0.1.0-1 - Initial build