# Charliecloud fedora package spec file # # Contributors: # Dave Love @loveshack # Michael Jennings @mej # Jordan Ogas @jogas # Reid Priedhorksy @reidpr # Don't try to compile python3 files with /usr/bin/python. %{?el7:%global __python %__python3} # Python files should specify a version, e.g., python3, python2. %define versionize_script() (sed -i 's,/env python,/env %1,g' %2) Name: charliecloud Version: 0.10 Release: 1%{?dist} Summary: Lightweight user-defined software stacks for high-performance computing License: ASL 2.0 URL: https://hpc.github.io/%{name}/ Source0: https://github.com/hpc/%{name}/archive/v%{version}.tar.gz BuildRequires: gcc rsync %if 0%{?el7} BuildRequires: /usr/bin/python2 python-sphinx python-sphinx_rtd_theme %else BuildRequires: /usr/bin/python3 python3-sphinx python3-sphinx_rtd_theme %endif %package doc Summary: %{name} html documentation. Requires: %{name}%{?_isa} = %{version}-%{release} %package test Summary: %{name} examples and test suite Requires: %{name}%{?_isa} = %{version}-%{release} Requires: bats Requires: bash Requires: wget %description Charliecloud uses Linux user namespaces to run containers with no privileged operations or daemons and minimal configuration changes on center resources. This simple approach avoids most security risks while maintaining access to the performance and functionality already on offer. Container images can be built using Docker or anything else that can generate a standard Linux filesystem tree. For more information: https://hpc.github.io/charliecloud/ %description doc Html documentation for %{name}. %description test %{name} test suite and examples. %prep %setup -q %if 0%{?el7} %{versionize_script python2 test/docs-sane} %{versionize_script python2 test/make-auto} %{versionize_script python2 test/make-perms-test} %else %{versionize_script python3 test/docs-sane} %{versionize_script python3 test/make-auto} %{versionize_script python3 test/make-perms-test} %endif %build %make_build CFLAGS="-std=c11 -pthread -g" sed -i 's@needs_sphinx@#needs_sphinx@g' doc-src/conf.py cd doc-src && make -k || : %install %make_install PREFIX=%{_prefix} cat > README.EL7 </etc/sysctl.d/51-userns.conf sysctl -p Note for versions below RHEL7.6, you will also need to enable user namespaces: grubby --args=namespace.unpriv_enable=1 --update-kernel=ALL sysctl -p Please visit https://hpc.github.io/charliecloud/ for more information. EOF # The test suite location and usage is not clear (addressed upstream # https://github.com/hpc/charliecloud/pull/447). Add a readme showing how to # interact with the test suite. cat > README.TEST < 0.10-1 - Update test suite intructions - New version * Wed Jul 10 2019 0.9.10-5 - Revert test and example install path change - Update test readme * Wed Jul 3 2019 0.9.10-4 - Add doc package * Tue Jul 2 2019 0.9.10-3 - Tidy comments - Update source URL - Build html documentation; add rsync dependency - Add el7 conditionals for documentation - Remove libexecdir definition - Add test suite README.TEST * Wed May 15 2019 0.9.10-2 - Fix comment typo - Move test suite install path * Tue May 14 2019 0.9.10-1 - New version - Fix README.EL7 sysctl command instruction - Add pre-built html documentation - Fix python dependency - Remove temporary test-package readme - Fixed capitalization of change log messages * Tue Apr 30 2019 0.9.9-4 - Move global python declaration * Mon Apr 29 2019 0.9.9-3 - Match bin files with wildcard * Mon Apr 29 2019 0.9.9-2 - Update macro comment - Fix release tag history * Tue Apr 16 2019 0.9.9-1 - New version - Move temp readme creation to install segment - Fix spec file macro * Tue Apr 02 2019 0.9.8-2 - Remove python2 build option * Thu Mar 14 2019 0.9.8-1 - Add initial Fedora/EPEL package