c71cccb
%global srcname ClusterShell
S. Thiell fd5a99e
69d16b8
%{!?python2_shortver: %global python2_shortver %(%{__python2} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
69d16b8
%{!?python3_shortver: %global python3_shortver %(%{__python3} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
69d16b8
S. Thiell fd5a99e
Name:          clustershell
c71cccb
Version:       1.7.81
69d16b8
Release:       2%{?dist}
S. Thiell fd5a99e
Summary:       Python framework for efficient cluster administration
S. Thiell fd5a99e
c206bb5
License:       LGPLv2+
84b5e81
URL:           http://cea-hpc.github.io/clustershell/
c71cccb
Source0:       https://files.pythonhosted.org/packages/source/C/%{srcname}/%{srcname}-%{version}.tar.gz
S. Thiell fd5a99e
BuildArch:     noarch
69d16b8
Requires:      python2-%{name} = %{version}-%{release}
69d16b8
69d16b8
%description
69d16b8
ClusterShell is a set of tools and a Python library to execute commands
69d16b8
on cluster nodes in parallel depending on selected engine and worker
69d16b8
mechanisms. Advanced node sets and node groups handling methods are provided
69d16b8
to ease and improve the daily administration of large compute clusters or
69d16b8
server farms. Command line utilities like clush, clubak and nodeset (or
69d16b8
cluset) allow traditional shell scripts to take benefit of the features
69d16b8
offered by the library.
69d16b8
69d16b8
69d16b8
%package -n python2-%{name}
69d16b8
Summary:       ClusterShell module for Python 2
69d16b8
c71cccb
BuildRequires: python-devel
c71cccb
BuildRequires: python-setuptools
c71cccb
Requires:      python-setuptools
c71cccb
Requires:      PyYAML
S. Thiell fd5a99e
69d16b8
%{?python_provide:%python_provide python2-%{name}}
69d16b8
69d16b8
%description -n python2-%{name}
69d16b8
ClusterShell Python 2 module and related command line tools.
69d16b8
69d16b8
69d16b8
%package -n python%{python3_pkgversion}-%{name}
69d16b8
Summary:       ClusterShell module for Python 3
69d16b8
69d16b8
BuildRequires: python%{python3_pkgversion}-devel
69d16b8
BuildRequires: python%{python3_pkgversion}-setuptools
69d16b8
Requires:      python%{python3_pkgversion}-setuptools
69d16b8
Requires:      python%{python3_pkgversion}-PyYAML
69d16b8
69d16b8
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
69d16b8
69d16b8
%description -n python%{python3_pkgversion}-%{name}
69d16b8
ClusterShell Python 3 module and related command line tools.
69d16b8
S. Thiell fd5a99e
S. Thiell fd5a99e
%package -n vim-%{name}
S. Thiell fd5a99e
Summary:       VIM files for ClusterShell
S. Thiell fd5a99e
Group:         System Environment/Base
S. Thiell fd5a99e
Requires:      clustershell = %{version}-%{release}, vim-common
S. Thiell fd5a99e
S. Thiell fd5a99e
%description -n vim-%{name}
S. Thiell fd5a99e
Syntax highlighting in the VIM editor for ClusterShell configuration files.
S. Thiell fd5a99e
S. Thiell fd5a99e
S. Thiell fd5a99e
%prep
c71cccb
%setup -q -n %{srcname}-%{version}
S. Thiell fd5a99e
S. Thiell fd5a99e
%build
69d16b8
%{__python3} setup.py build
69d16b8
%{__python2} setup.py build
S. Thiell fd5a99e
S. Thiell fd5a99e
%install
0e5dc78
# install library (lib), scripts (bin) and config (etc)
69d16b8
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
69d16b8
69d16b8
pushd %{buildroot}%{_bindir}
69d16b8
for i in clubak cluset clush nodeset; do
69d16b8
  mv $i $i-%{python3_shortver}
69d16b8
done
69d16b8
popd
69d16b8
69d16b8
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
69d16b8
0e5dc78
# move config dir away from default setuptools /usr prefix (if rpm-building as user)
0e5dc78
[ -d %{buildroot}/usr/etc ] && mv %{buildroot}/usr/etc %{buildroot}/%{_sysconfdir}
S. Thiell fd5a99e
S. Thiell fd5a99e
# man pages
S. Thiell fd5a99e
install -d %{buildroot}/%{_mandir}/{man1,man5}
S. Thiell fd5a99e
install -p -m 0644 doc/man/man1/clubak.1 %{buildroot}/%{_mandir}/man1/
c206bb5
install -p -m 0644 doc/man/man1/cluset.1 %{buildroot}/%{_mandir}/man1/
S. Thiell fd5a99e
install -p -m 0644 doc/man/man1/clush.1 %{buildroot}/%{_mandir}/man1/
S. Thiell fd5a99e
install -p -m 0644 doc/man/man1/nodeset.1 %{buildroot}/%{_mandir}/man1/
S. Thiell fd5a99e
install -p -m 0644 doc/man/man5/clush.conf.5 %{buildroot}/%{_mandir}/man5/
S. Thiell fd5a99e
install -p -m 0644 doc/man/man5/groups.conf.5 %{buildroot}/%{_mandir}/man5/
S. Thiell fd5a99e
S. Thiell fd5a99e
# vim addons
S. Thiell fd5a99e
%define vimdatadir %{_datadir}/vim/vimfiles
S. Thiell fd5a99e
install -d %{buildroot}/%{vimdatadir}/{ftdetect,syntax}
S. Thiell fd5a99e
install -p -m 0644 doc/extras/vim/ftdetect/clustershell.vim %{buildroot}/%{vimdatadir}/ftdetect/
S. Thiell fd5a99e
install -p -m 0644 doc/extras/vim/syntax/clushconf.vim %{buildroot}/%{vimdatadir}/syntax/
S. Thiell fd5a99e
install -p -m 0644 doc/extras/vim/syntax/groupsconf.vim %{buildroot}/%{vimdatadir}/syntax/
S. Thiell fd5a99e
S. Thiell fd5a99e
%clean
S. Thiell fd5a99e
rm -rf %{buildroot}
S. Thiell fd5a99e
69d16b8
%files -n python2-%{name}
69d16b8
%{_bindir}/clubak
69d16b8
%{_bindir}/cluset
69d16b8
%{_bindir}/clush
69d16b8
%{_bindir}/nodeset
69d16b8
%{python2_sitelib}/ClusterShell/
69d16b8
%{python2_sitelib}/ClusterShell-*-py?.?.egg-info
69d16b8
69d16b8
%files -n python%{python3_pkgversion}-%{name}
69d16b8
%{_bindir}/clubak-%{python3_shortver}
69d16b8
%{_bindir}/cluset-%{python3_shortver}
69d16b8
%{_bindir}/clush-%{python3_shortver}
69d16b8
%{_bindir}/nodeset-%{python3_shortver}
69d16b8
%{python3_sitelib}/ClusterShell/
69d16b8
%{python3_sitelib}/ClusterShell-*-py?.?.egg-info
69d16b8
69d16b8
%files -n %{name}
c206bb5
%doc ChangeLog COPYING.LGPLv2.1 README.md
b71dc00
%doc doc/examples
0e5dc78
%doc doc/sphinx
S. Thiell fd5a99e
%{_mandir}/man1/clubak.1*
c206bb5
%{_mandir}/man1/cluset.1*
S. Thiell fd5a99e
%{_mandir}/man1/clush.1*
S. Thiell fd5a99e
%{_mandir}/man1/nodeset.1*
S. Thiell fd5a99e
%{_mandir}/man5/clush.conf.5*
S. Thiell fd5a99e
%{_mandir}/man5/groups.conf.5*
S. Thiell fd5a99e
%dir %{_sysconfdir}/clustershell
0e5dc78
%dir %{_sysconfdir}/clustershell/groups.d
0e5dc78
%dir %{_sysconfdir}/clustershell/groups.conf.d
S. Thiell fd5a99e
%config(noreplace) %{_sysconfdir}/clustershell/clush.conf
S. Thiell fd5a99e
%config(noreplace) %{_sysconfdir}/clustershell/groups.conf
0e5dc78
%ghost %{_sysconfdir}/clustershell/groups
0e5dc78
%config(noreplace) %{_sysconfdir}/clustershell/groups.d/local.cfg
Stephane Thiell 097caa2
%doc %{_sysconfdir}/clustershell/groups.conf.d/README
Stephane Thiell 097caa2
%doc %{_sysconfdir}/clustershell/groups.conf.d/*.conf.example
0e5dc78
%doc %{_sysconfdir}/clustershell/groups.d/README
0e5dc78
%doc %{_sysconfdir}/clustershell/groups.d/*.yaml.example
0e5dc78
%doc %{_sysconfdir}/clustershell/topology.conf.example
S. Thiell fd5a99e
S. Thiell fd5a99e
%files -n vim-%{name}
S. Thiell fd5a99e
%defattr(-,root,root,-)
S. Thiell fd5a99e
%{vimdatadir}/ftdetect/clustershell.vim
S. Thiell fd5a99e
%{vimdatadir}/syntax/clushconf.vim
S. Thiell fd5a99e
%{vimdatadir}/syntax/groupsconf.vim
S. Thiell fd5a99e
S. Thiell fd5a99e
%changelog
69d16b8
* Sat Sep  2 2017 Stephane Thiell <sthiell@stanford.edu> 1.7.81-2
69d16b8
- create separate packages for python2 and python3 modules
69d16b8
c71cccb
* Fri Sep  1 2017 Stephane Thiell <sthiell@stanford.edu> 1.7.81-1
c71cccb
- update to 1.7.81 (1.8 beta1)
c71cccb
2e28631
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-3
2e28631
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2e28631
7790bf7
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-2
7790bf7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
7790bf7
c206bb5
* Wed Dec 21 2016 Stephane Thiell <sthiell@stanford.edu> 1.7.3-1
c206bb5
- update to 1.7.3
c206bb5
0f67dc5
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-2
0f67dc5
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
0f67dc5
edf830a
* Mon Jun 20 2016 Stephane Thiell <sthiell@stanford.edu> 1.7.2-1
edf830a
- update to 1.7.2
edf830a
84b5e81
* Mon Feb 29 2016 Stephane Thiell <sthiell@stanford.edu> 1.7.1-1
84b5e81
- update to 1.7.1
84b5e81
be5085e
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.7-2
be5085e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
be5085e
0e5dc78
* Tue Nov 10 2015 Stephane Thiell <sthiell@stanford.edu> 1.7-1
0e5dc78
- update to 1.7
0e5dc78
0457b69
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-7
0457b69
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
0457b69
2016e42
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-6
2016e42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2016e42
b71dc00
* Wed Aug 21 2013 Ville Skyttä <ville.skytta@iki.fi> - 1.6-5
b71dc00
- Use special %%doc to install docs (#993703).
b71dc00
a58eaf8
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-4
a58eaf8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
a58eaf8
e74cdbb
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
e74cdbb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
e74cdbb
06b1ae5
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-2
06b1ae5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
06b1ae5
Stephane Thiell 097caa2
* Sun Apr 08 2012 Stephane Thiell <stephane.thiell@cea.fr> 1.6-1
Stephane Thiell 097caa2
- update to 1.6
cae252e
Stephane Thiell 69d91b3
* Thu Jun 09 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.5.1-1
Stephane Thiell 69d91b3
- update to 1.5.1
Stephane Thiell 69d91b3
Stephane Thiell cf77a31
* Wed Jun 08 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.5-1
Stephane Thiell cf77a31
- update to 1.5
Stephane Thiell cf77a31
Stephane Thiell 7878915
* Sat Mar 19 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.4.3-1
Stephane Thiell 7878915
- update to 1.4.3
Stephane Thiell 7878915
Stephane Thiell 707c60b
* Tue Mar 15 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.4.2-1
Stephane Thiell 707c60b
- update to 1.4.2
Stephane Thiell 707c60b
Stephane Thiell 07aec60
* Sun Feb 13 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.4.1-1
Stephane Thiell 07aec60
- update to 1.4.1
Stephane Thiell 07aec60
Stephane Thiell 16fccee
* Sat Jan 15 2011 Stephane Thiell <stephane.thiell@cea.fr> 1.4-1
Stephane Thiell 16fccee
- update to 1.4
Stephane Thiell 16fccee
Stephane Thiell - DSSI/SISR/LIGS b217361
* Wed Oct 20 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3.3-1
Stephane Thiell - DSSI/SISR/LIGS b217361
- update to 1.3.3
Stephane Thiell - DSSI/SISR/LIGS b217361
S. Thiell fd5a99e
* Fri Sep 10 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3.2-1
S. Thiell fd5a99e
- renamed Vim subpackage to vim-clustershell
S. Thiell fd5a99e
- update to 1.3.2
S. Thiell fd5a99e
S. Thiell fd5a99e
* Sun Sep 05 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3.1-2
S. Thiell fd5a99e
- added -vim subpackage for .vim files
S. Thiell fd5a99e
S. Thiell fd5a99e
* Fri Sep 03 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3.1-1
S. Thiell fd5a99e
- removed -n from setup line
S. Thiell fd5a99e
- own clustershell config directory for proper uninstall
S. Thiell fd5a99e
- install vim syntax addons in vimfiles, thus avoiding vim version detection
S. Thiell fd5a99e
- update to 1.3.1
S. Thiell fd5a99e
S. Thiell fd5a99e
* Sun Aug 22 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3-4
S. Thiell fd5a99e
- fixed BuildRoot tag in accordance with EPEL guidelines
S. Thiell fd5a99e
- python_sitelib definition: prefer global vs define
S. Thiell fd5a99e
- preserve timestamps and fix permissions when installing files
S. Thiell fd5a99e
S. Thiell fd5a99e
* Sat Aug 21 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3-3
S. Thiell fd5a99e
- use a full URL to the package in Source0
S. Thiell fd5a99e
S. Thiell fd5a99e
* Fri Aug 20 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3-2
S. Thiell fd5a99e
- various improvements per first review request
S. Thiell fd5a99e
S. Thiell fd5a99e
* Thu Aug 19 2010 Stephane Thiell <stephane.thiell@cea.fr> 1.3-1
S. Thiell fd5a99e
- initial build candidate for Fedora