%{!?python3_pkgversion: %global python3_pkgversion 3} %global python3_pkgprefix python%{python3_pkgversion} %global srcname ClusterShell Name: clustershell Version: 1.9.3 Release: 1%{?dist} Summary: Python framework for efficient cluster administration License: LGPLv2+ URL: http://cea-hpc.github.io/clustershell/ Source0: https://github.com/cea-hpc/clustershell/archive/v%{version}/%{srcname}-%{version}.tar.gz BuildArch: noarch Requires: python3-%{name} = %{version}-%{release} Requires: vim-filesystem Provides: vim-clustershell = %{version}-%{release} Obsoletes: vim-clustershell < 1.7.81-4 %description ClusterShell is a set of tools and a Python library to execute commands on cluster nodes in parallel depending on selected engine and worker mechanisms. Advanced node sets and node groups handling methods are provided to ease and improve the daily administration of large compute clusters or server farms. Command line utilities like clush, clubak and nodeset (or cluset) allow traditional shell scripts to take benefit of the features offered by the library. %package -n %{python3_pkgprefix}-%{name} Summary: ClusterShell module for Python 3 BuildRequires: %{python3_pkgprefix}-devel BuildRequires: %{python3_pkgprefix}-setuptools Requires: %{python3_pkgprefix}-pyyaml Requires: %{python3_pkgprefix}-setuptools %{?python_provide:%python_provide %{python3_pkgprefix}-%{name}} %description -n %{python3_pkgprefix}-%{name} ClusterShell Python 3 module and related command line tools. %prep %setup -q -n %{srcname}-%{version} %build %{__python3} setup.py build %install %{__python3} setup.py install -O1 --skip-build --root %{buildroot} # move config dir away from default setuptools /usr prefix (if rpm-building as user) [ -d %{buildroot}/usr/etc ] && mv %{buildroot}/usr/etc %{buildroot}/%{_sysconfdir} # man pages install -d %{buildroot}/%{_mandir}/{man1,man5} install -p -m 0644 doc/man/man1/clubak.1 %{buildroot}/%{_mandir}/man1/ install -p -m 0644 doc/man/man1/cluset.1 %{buildroot}/%{_mandir}/man1/ install -p -m 0644 doc/man/man1/clush.1 %{buildroot}/%{_mandir}/man1/ install -p -m 0644 doc/man/man1/nodeset.1 %{buildroot}/%{_mandir}/man1/ install -p -m 0644 doc/man/man5/clush.conf.5 %{buildroot}/%{_mandir}/man5/ install -p -m 0644 doc/man/man5/groups.conf.5 %{buildroot}/%{_mandir}/man5/ # vim addons %define vimdatadir %{_datadir}/vim/vimfiles install -d %{buildroot}/%{vimdatadir}/{ftdetect,syntax} install -p -m 0644 doc/extras/vim/ftdetect/clustershell.vim %{buildroot}/%{vimdatadir}/ftdetect/ install -p -m 0644 doc/extras/vim/syntax/clushconf.vim %{buildroot}/%{vimdatadir}/syntax/ install -p -m 0644 doc/extras/vim/syntax/groupsconf.vim %{buildroot}/%{vimdatadir}/syntax/ install -d %{buildroot}%{bash_completions_dir} install -p -m 0644 bash_completion.d/cluset -t %{buildroot}%{bash_completions_dir} install -p -m 0644 bash_completion.d/clush -t %{buildroot}%{bash_completions_dir} pushd %{buildroot}%{bash_completions_dir} ln -s cluset nodeset popd # Unversioned python3 tools %files -n %{python3_pkgprefix}-%{name} %defattr(-,root,root,-) %{_bindir}/clubak %{_bindir}/cluset %{_bindir}/clush %{_bindir}/nodeset %{python3_sitelib}/ClusterShell/ %{python3_sitelib}/ClusterShell-*-py?.?.egg-info %files %defattr(-,root,root,-) %doc ChangeLog COPYING.LGPLv2.1 README.md %doc doc/examples %doc doc/sphinx %{_mandir}/man1/clubak.1* %{_mandir}/man1/cluset.1* %{_mandir}/man1/clush.1* %{_mandir}/man1/nodeset.1* %{_mandir}/man5/clush.conf.5* %{_mandir}/man5/groups.conf.5* %dir %{_sysconfdir}/clustershell %dir %{_sysconfdir}/clustershell/clush.conf.d %dir %{_sysconfdir}/clustershell/groups.d %dir %{_sysconfdir}/clustershell/groups.conf.d %config(noreplace) %{_sysconfdir}/clustershell/clush.conf %config(noreplace) %{_sysconfdir}/clustershell/groups.conf %ghost %{_sysconfdir}/clustershell/groups %config(noreplace) %{_sysconfdir}/clustershell/groups.d/local.cfg %doc %{_sysconfdir}/clustershell/clush.conf.d/README %doc %{_sysconfdir}/clustershell/clush.conf.d/*.conf.example %doc %{_sysconfdir}/clustershell/groups.conf.d/README %doc %{_sysconfdir}/clustershell/groups.conf.d/*.conf.example %doc %{_sysconfdir}/clustershell/groups.d/README %doc %{_sysconfdir}/clustershell/groups.d/*.yaml.example %doc %{_sysconfdir}/clustershell/topology.conf.example %{vimdatadir}/ftdetect/clustershell.vim %{vimdatadir}/syntax/clushconf.vim %{vimdatadir}/syntax/groupsconf.vim %{bash_completions_dir}/cluset %{bash_completions_dir}/clush %{bash_completions_dir}/nodeset %changelog * Fri Jan 24 2025 Stephane Thiell 1.9.3-1 - update to 1.9.3 * Fri Sep 29 2023 Stephane Thiell 1.9.2-1 - update to 1.9.2 * Fri Feb 10 2023 Stephane Thiell 1.9.1-1 - update to 1.9.1 * Sun Nov 27 2022 Stephane Thiell 1.9-1 - update to 1.9 * Wed Nov 16 2022 Stephane Thiell 1.8.4-1 - Import for epel9