# # Copyright (c) Contributors to the Apptainer project, established as # Apptainer a Series of LF Projects LLC. # For website terms of use, trademark policy, privacy policy and other # project policies see https://lfprojects.org/policies # Copyright (c) 2017-2022, SyLabs, Inc. All rights reserved. # Copyright (c) 2017, SingularityWare, LLC. All rights reserved. # # Copyright (c) 2015-2017, Gregory M. Kurtzer. All rights reserved. # # Copyright (c) 2016, The Regents of the University of California, through # Lawrence Berkeley National Laboratory (subject to receipt of any required # approvals from the U.S. Dept. of Energy). All rights reserved. # # This software is licensed under a customized 3-clause BSD license. Please # consult LICENSE file distributed with the sources of this project regarding # your rights to use or distribute this software. # # NOTICE. This Software was developed under funding from the U.S. Department of # Energy and the U.S. Government consequently retains certain rights. As such, # the U.S. Government has been granted for itself and others acting on its # behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software # to reproduce, distribute copies to the public, prepare derivative works, and # perform publicly and display publicly, and to permit other to do so. # # # Disable debugsource packages; otherwise it ends up with an empty %%files # file in debugsourcefiles.list on Fedora %undefine _debugsource_packages # This can be slightly different than %%{version}. # For example, it has dash instead of tilde for release candidates. %global package_version 1.0.3 Summary: Application and environment virtualization Name: apptainer Version: 1.0.3 Release: 2%{?dist} # See LICENSE.md for first party code (BSD-3-Clause and LBNL BSD) # See LICENSE_THIRD_PARTY.md for incorporated code (ASL 2.0) # See LICENSE_DEPENDENCIES.md for dependencies # License identifiers taken from: https://fedoraproject.org/wiki/Licensing License: BSD and LBNL BSD and ASL 2.0 URL: https://apptainer.org Source: https://github.com/%{name}/%{name}/releases/download/v%{package_version}/%{name}-%{package_version}.tar.gz # The singularity package was renamed to apptainer after version 3.8.x. # The apptainer package reset numbering at 1.0.0, so Provide corresponding # singularity versions in the next epoch. Provides: singularity = 1:%{version}-%{release} Obsoletes: singularity < 4.0 # In the singularity 2.x series there was a singularity-runtime package # that could have been installed independently, but starting in 3.x # there was only one package Provides: singularity-runtime = 1:%{version}-%{release} Obsoletes: singularity-runtime < 3.0 %if "%{_target_vendor}" == "suse" BuildRequires: binutils-gold %endif BuildRequires: golang BuildRequires: git BuildRequires: gcc BuildRequires: make BuildRequires: libseccomp-devel %if "%{_target_vendor}" == "suse" Requires: squashfs %else Requires: squashfs-tools %endif BuildRequires: cryptsetup %description Apptainer provides functionality to make portable containers that can be used across host environments. %prep %autosetup -n %{name}-%{package_version} %build %if "%{?SOURCE1}" != "" GOVERSION="$(echo %SOURCE1|sed 's,.*/,,;s/go//;s/\.src.*//')" if ! ./mlocal/scripts/check-min-go-version go $GOVERSION; then # build the go tool chain, the existing version is too old pushd .. tar -xf %SOURCE1 cd go/src ./make.bash cd ../.. export PATH=$PWD/go/bin:$PATH popd fi %endif # Not all of these parameters currently have an effect, but they might be # used someday. They are the same parameters as in the configure macro. ./mconfig -V %{version}-%{release} \ --prefix=%{_prefix} \ --exec-prefix=%{_exec_prefix} \ --bindir=%{_bindir} \ --sbindir=%{_sbindir} \ --sysconfdir=%{_sysconfdir} \ --datadir=%{_datadir} \ --includedir=%{_includedir} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --localstatedir=%{_localstatedir} \ --sharedstatedir=%{_sharedstatedir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} %make_build -C builddir V= old_config= %install %if "%{?SOURCE1}" != "" export PATH=$PWD/go/bin:$PATH %endif %make_install -C builddir V= %posttrans # clean out empty directories under /etc/singularity rmdir %{_sysconfdir}/singularity/* %{_sysconfdir}/singularity 2>/dev/null || true # Define `%%license` tag if not already defined. # This is needed for EL 7 compatibility. %{!?_licensedir:%global license %doc} %files %attr(4755, root, root) %{_libexecdir}/%{name}/bin/starter-suid %{_bindir}/%{name} %{_bindir}/singularity %{_bindir}/run-singularity %dir %{_libexecdir}/%{name} %dir %{_libexecdir}/%{name}/bin %{_libexecdir}/%{name}/bin/starter %{_libexecdir}/%{name}/cni %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/* %{_datadir}/bash-completion/completions/* %dir %{_localstatedir}/%{name} %dir %{_localstatedir}/%{name}/mnt %dir %{_localstatedir}/%{name}/mnt/session %{_mandir}/man1/%{name}* %{_mandir}/man1/singularity* %license LICENSE.md %license LICENSE_THIRD_PARTY.md %license LICENSE_DEPENDENCIES.md %doc README.md %doc CHANGELOG.md %changelog * Wed Jul 20 2022 Fedora Release Engineering - 1.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Wed Jul 6 2022 Dave Dykstra - 1.0.3 - Update to upstream 1.0.3 * Fri Jun 17 2022 Robert-André Mauchin - 1.0.2-2 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Tue May 10 2022 Dave Dykstra - 1.0.2 - Update to upstream 1.0.2 * Wed Mar 16 2022 Dave Dykstra - 1.0.1 - Update to upstream 1.0.1 - Remove patch from pr 299, not needed anymore * Thu Mar 03 2022 Dave Dykstra - 1.0.0 - Initial release from upstream 1.0.0