diff --git a/examples/Dockerfile.almalinux_8ch b/examples/Dockerfile.almalinux_8ch index e84f1d965..bcee3de80 100644 --- a/examples/Dockerfile.almalinux_8ch +++ b/examples/Dockerfile.almalinux_8ch @@ -29,6 +29,7 @@ RUN dnf install -y --setopt=install_weak_deps=false \ dnf-plugin-ovl \ autoconf \ automake \ + bats \ gcc \ git \ libarchive \ @@ -43,8 +44,6 @@ RUN dnf install -y --setopt=install_weak_deps=false \ rpm-build \ rpmlint \ rsync \ - squashfs-tools \ - squashfuse \ wget \ which \ && dnf clean all diff --git a/packaging/fedora/build b/packaging/fedora/build index fb75e67cc..a282055c0 100755 --- a/packaging/fedora/build +++ b/packaging/fedora/build @@ -85,10 +85,6 @@ rpmbuild root: %(rpmbuild)s '--', 'rpmbuild', '--eval', '%{?dist}') rpms_dist = rpms_dist.split('.')[-1] - # FIXME: el8 doesn’t have bats; skip for now. - if (rpms_dist == 'el8'): - PACKAGES.remove('charliecloud-test') - # Get a clean Git checkout of the desired version. We do this by making a # temporary clone so as not to mess up the WD. git_tmp = rpm_sources + '/charliecloud' @@ -175,18 +171,24 @@ rpmbuild root: %(rpmbuild)s rpms_arch = "%s/%s" % (rpms_src, ARCH) rpms_noarch = "%s/noarch" % rpms_src rpms = {'charliecloud': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)], - 'charliecloud-builder': [rpms_noarch, '%s.noarch.rpm' % rpms_dist], + 'charliecloud-builder': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)], 'charliecloud-debuginfo': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)], 'charliecloud-doc': [rpms_noarch, '%s.noarch.rpm' % rpms_dist], 'charliecloud-test': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)]} rpm_specs = "/usr/local/src/SPECS" rpm_sources = "/usr/local/src/SOURCES" + # Set rhel macro to avoid rpmbuild issues. + rpmbuild_args += ["--define", "rhel 0"] rpmbuild_args += ["--define", "_topdir /usr/local/src"] rpmlint_args += ["--file", "%s/charliecloud.rpmlintrc" % rpm_specs] container += [CH_BASE + "/bin/ch-run", "-w", "-b", "%s:/usr/local/src" % args.rpmbuild, args.image, "--"] + # 0.36+ no longer support bats 0.4.0; remove the test package from epel7 + if (rpms_dist == 'el7'): + PACKAGES.remove("charliecloud-test") + # Build RPMs. cmd(container, "rpmbuild", rpmbuild_args, "--version") cmd(container, "rpmbuild", rpmbuild_args, "-ba", "%s/%s" % (rpm_specs, spec)) @@ -196,13 +198,13 @@ rpmbuild root: %(rpmbuild)s # Install RPMs. if (args.install): print("# uninstalling (most errors can be ignored)") - cmd_ok(container, "rpm", "--erase", PACKAGES) - print("# installing") for p in PACKAGES: + cmd_ok(container, "rpm", "--erase", "--nodeps", p) + print("# installing") rpm_path = rpms[p][0] rpm_ext = rpms[p][-1] file = '%s/%s-%s.%s' % (rpm_path, p, rpm_vr, rpm_ext) - cmd(container, "rpm", "--install", file) + cmd(container, "rpm", "--install", "--force", file) cmd(container, "rpm", "-qa", "charliecloud*") # Lint RPMs and spec file. Last so problems that don’t result in program diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index d2eac0262..3f60843c7 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -16,9 +16,15 @@ Summary: Lightweight user-defined software stacks for high-performance com License: ASL 2.0 URL: https://hpc.github.io/%{name}/ Source0: https://github.com/hpc/%{name}/releases/downloads/v%{version}/%{name}-%{version}.tar.gz -BuildRequires: gcc rsync bash -Requires: squashfuse squashfs-tools -Patch1: el7-pkgdir.patch +BuildRequires: gcc rsync bash findutils +%if 0%{?el7} +Patch0: el7-pkgdir.patch +%endif +%if 0%{!?el7} && 0%{!?el8} +Requires: fuse3 squashfuse +BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +Patch1: no-squashfuse-rpath.patch +%endif %description Charliecloud uses Linux user namespaces to run containers with no privileged @@ -34,14 +40,14 @@ For more information: https://hpc.github.io/charliecloud %package builder Summary: Charliecloud container image building tools License: ASL 2.0 and MIT -BuildArch: noarch BuildRequires: python3-devel -BuildRequires: python%{python3_pkgversion}-lark-parser BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 -Requires: python%{python3_pkgversion}-lark-parser Requires: python%{python3_pkgversion}-requests +%if 0%{!?el7} +Requires: git >= 2.28.1 +%endif Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 %description builder @@ -63,7 +69,10 @@ Html and man page documentation for %{name}. %package test Summary: Charliecloud test suite License: ASL 2.0 -Requires: %{name} %{name}-builder /usr/bin/bats +Requires: %{name} %{name}-builder +%if 0%{!?el7} +Requires: bats +%endif Obsoletes: %{name}-test < %{version}-%{release} %description test @@ -73,16 +82,25 @@ Test fixtures for %{name}. %setup -q %if 0%{?el7} -%patch1 -p1 +%patch0 -p1 +%endif + +%if 0%{!?el7} && 0%{!?el8} +%patch 1 -p1 %endif %build # Use old inlining behavior, see: # https://github.com/hpc/charliecloud/issues/735 CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS +# FIXME: use --disable test when https://github.com/hpc/charliecloud/issues/1836 +# is resolved. %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ +%if 0%{!?el7} && 0%{!?el8} + --with-libsquashfuse=/usr \ +%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else @@ -112,6 +130,13 @@ EOF %{__rm} -rf %{buildroot}%{_pkgdocdir}/html/_static/fonts %{__rm} -rf %{buildroot}%{_pkgdocdir}/html/_static/js +# Remove el7 test bits; unnecessary after #1836 is resolved. +%if 0%{?el7} +%{__rm} -f %{buildroot}%{_bindir}/ch-test +%{__rm} -rf %{buildroot}%{_libexecdir}/%{name} +%{__rm} -f %{buildroot}%{_mandir}/man1/ch-test.1* +%endif + # Use Fedora package sphinx bits. sphinxdir=%{python3_sitelib}/sphinx_rtd_theme/static ln -s "${sphinxdir}/css" %{buildroot}%{_pkgdocdir}/html/_static/css @@ -166,11 +191,13 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_pkgdocdir}/html %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} - %files test +%if 0%{?el7} +%else %{_bindir}/ch-test %{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* +%endif %changelog * Thu Apr 16 2020 - @VERSION@-@RELEASE@ diff --git a/packaging/fedora/el7-pkgdir.patch b/packaging/fedora/el7-pkgdir.patch index 1dee3889a..eab536fab 100644 --- a/packaging/fedora/el7-pkgdir.patch +++ b/packaging/fedora/el7-pkgdir.patch @@ -1,12 +1,11 @@ -diff -ru charliecloud/bin/ch-test charliecloud-lib/bin/ch-test ---- charliecloud/bin/ch-test 2020-04-07 12:19:37.054609706 -0600 -+++ charliecloud-lib/bin/ch-test 2020-04-15 16:36:55.128831767 -0600 -@@ -662,7 +662,7 @@ +--- a/bin/ch-test 2024-01-19 13:17:53.000000000 -0500 ++++ b/bin/ch-test 2024-02-09 14:37:15.388753491 -0500 +@@ -779,7 +779,7 @@ + + # Find test directories. Note some of this gets rewritten at install time. + CHTEST_DIR=${ch_base}/test +-CHTEST_EXAMPLES_DIR=${ch_base}/examples ++CHTEST_EXAMPLES_DIR=${ch_base}-${ch_version}/examples + if [[ ! -f ${ch_base}/VERSION ]]; then + # installed CHTEST_INSTALLED=yes - CHTEST_GITWD= - CHTEST_DIR=${ch_base}/libexec/charliecloud/test -- CHTEST_EXAMPLES_DIR=${ch_base}/share/doc/charliecloud/examples -+ CHTEST_EXAMPLES_DIR=${ch_base}/share/doc/charliecloud-${ch_version}/examples - else - # build dir - CHTEST_INSTALLED= diff --git a/packaging/fedora/no-squashfuse-rpath.patch b/packaging/fedora/no-squashfuse-rpath.patch new file mode 100644 index 000000000..654dfdc44 --- /dev/null +++ b/packaging/fedora/no-squashfuse-rpath.patch @@ -0,0 +1,11 @@ +--- a/configure 2024-02-09 11:26:45.647046362 -0500 ++++ b/configure 2024-02-09 11:30:18.613833446 -0500 +@@ -7137,7 +7137,7 @@ + else $as_nop + rpath_libsquashfuse= + fi +- CH_RUN_LIBS="-lsquashfuse_ll -lfuse3 $rpath_libsquashfuse $CH_RUN_LIBS" ++ CH_RUN_LIBS="-lsquashfuse_ll -lfuse3 $CH_RUN_LIBS" + else $as_nop + have_libsquashfuse=no + fi diff --git a/packaging/fedora/printf.patch b/packaging/fedora/printf.patch deleted file mode 100644 index cd6536d01..000000000 --- a/packaging/fedora/printf.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur charliecloud/bin/ch_misc.c charliecloud-patch/bin/ch_misc.c ---- charliecloud/bin/ch_misc.c 2022-01-24 13:12:23.980046774 -0500 -+++ charliecloud-patch/bin/ch_misc.c 2022-01-24 13:25:34.854133321 -0500 -@@ -252,7 +252,7 @@ - if (path == NULL) { - T_ (where = strdup(line)); - } else { -- T_ (1 <= asprintf(&where, "%s:%lu", path, lineno)); -+ T_ (1 <= asprintf(&where, "%s:%zu", path, lineno)); - } - - // Split line into variable name and value. diff --git a/packaging/fedora/upstream.diff b/packaging/fedora/upstream.diff new file mode 100644 index 000000000..6a2ec5eae --- /dev/null +++ b/packaging/fedora/upstream.diff @@ -0,0 +1,271 @@ +--- packaging/fedora/upstream.spec 2024-03-22 13:08:24.724051668 -0600 ++++ packaging/fedora/charliecloud.spec 2024-03-22 13:06:44.260632224 -0600 +@@ -10,14 +10,16 @@ + %{?el7:%global __python %__python3} + + Name: charliecloud +-Version: 0.36 +-Release: 3%{?dist} ++Version: @VERSION@ ++Release: @RELEASE@%{?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}/releases/downloads/v%{version}/%{name}-%{version}.tar.gz + BuildRequires: gcc rsync bash findutils ++%if 0%{?el7} + Patch0: el7-pkgdir.patch ++%endif + %if 0%{!?el7} && 0%{!?el8} + Requires: fuse3 squashfuse + BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +@@ -47,7 +49,6 @@ + Requires: git >= 2.28.1 + %endif + Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 +-%{?el7:BuildArch: noarch} + + %description builder + This package provides ch-image, Charliecloud's completely unprivileged container +@@ -92,6 +93,8 @@ + # Use old inlining behavior, see: + # https://github.com/hpc/charliecloud/issues/735 + CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS ++# FIXME: use --disable test when https://github.com/hpc/charliecloud/issues/1836 ++# is resolved. + %configure --docdir=%{_pkgdocdir} \ + --libdir=%{_prefix}/lib \ + --with-python=/usr/bin/python3 \ +@@ -158,6 +161,7 @@ + %{_mandir}/man1/ch-run.1* + %{_mandir}/man1/ch-run-oci.1* + %{_mandir}/man7/charliecloud.7* ++%{_mandir}/man7/ch-completion.bash.7* + %{_prefix}/lib/%{name}/base.sh + %{_prefix}/lib/%{name}/contributors.bash + %{_prefix}/lib/%{name}/version.sh +@@ -196,222 +200,5 @@ + %endif + + %changelog +-* Fri Mar 22 2024 Jordan Ogas - 0.36-3 +-- tidy conditionals; remove test files from el7 +- +-* Fri Feb 09 2024 Jordan Ogas - 0.36-2 +-- fix epel7 patch +- +-* Fri Feb 09 2024 Jordan Ogas - 0.36-1 +-- new version 0.36 +- +-* Tue Jan 23 2024 Fedora Release Engineering - 0.32-5 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +- +-* Fri Jan 19 2024 Fedora Release Engineering - 0.32-4 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +- +-* Wed Jul 19 2023 Fedora Release Engineering - 0.32-3 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild +- +-* Mon Apr 03 2023 Jordan Ogas 0.32-2 +-- fix macro conditionals +- +-* Fri Mar 31 2023 Jordan Ogas 0.32-1 +-- edit el7 patch: update ch-test path +-- add patch: prevent rpath of standard path +-- update builder package files +-- add dependency: findutils +-- add conditional dependencies: fuse3, squashfuse-devel, & git +-- new version 0.32 +- +-* Wed Jan 18 2023 Fedora Release Engineering - 0.26-3 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +- +-* Wed Jul 20 2022 Fedora Release Engineering - 0.26-2 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild +- +-* Mon Jan 24 2022 Jordan Ogas 0.26-1 +-- add printf patch for 32-bit +-- add ch-convert script +-- new version 0.26 +- +-* Wed Jan 19 2022 Fedora Release Engineering - 0.25-2 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +- +-* Mon Sep 20 2021 Jordan Ogas 0.25-1 +-- bundle python lark parser +-- new version +- +-* Thu Aug 05 2021 Jordan Ogas 0.24-12 +-- remove version numbers from Obsolete +-- remove Provides tag +-- replace package name with macro +-- tidy +- +-* Thu Jul 29 2021 Jordan Ogas 0.24-11 +-- move -builder to noarch +-- move examples back to -doc +-- add versions to obsoletes +-- use name macro +- +-* Wed Jul 28 2021 Jordan Ogas 0.24-10 +-- fix yet another typo; BuildRequires +- +-* Wed Jul 28 2021 Jordan Ogas 0.24-9 +-- add version to obsoletes +- +-* Wed Jul 28 2021 Jordan Ogas 0.24-8 +-- fix provides typo +- +-* Wed Jul 28 2021 Jordan Ogas 0.24-7 +-- add -common to obsoletes and provides +- +-* Wed Jul 28 2021 Jordan Ogas - 0.24-6 +-* revert to meta-package; separate builder to -builder +- +-* Wed Jul 21 2021 Fedora Release Engineering - 0.24-5 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +- +-* Mon Jul 19 2021 Jordan Ogas - 0.24-4 +-- fix epel7 python cache files +- +-* Mon Jul 19 2021 Jordan Ogas - 0.24-3 +-- Tidy, alphabatize files +-- Move builder exlusive python files out from -common +-- Move generic helper scripts to -common +-- Add requires runtime to -builders +- +-* Tue Jul 13 2021 Dave Love - 0.24-2 +-- Obsolete previous packge by -runtime, not -common +- +-* Wed Jun 30 2021 Dave Love - 0.24-1 +-- New version +- +-* Sun Apr 18 2021 Dave Love - 0.23-1 +-- New version +-- Split main package into runtime, builder, and common sub-packages +-- Require buildah and squashfs at run time +-- Use /lib, not /lib64 for noarch; drop lib64 patch +-- Don't BR squashfs-tools, squashfuse, buildah +-- Require squashfs-tools in -builders +- +-* Mon Mar 8 2021 Dave Love - 0.22-2 +-- Fix source0 path +-- Put man7 in base package +- +-* Tue Feb 9 2021 Dave Love - 0.22-1 +-- New version +-- update lib64.patch +-- add pull.py and push.py +-- (Build)Require python3-lark-parser, python3-requests +- +-* Wed Feb 3 2021 - 0.21-2 +-- Fix lib64.patch path for ch-image +- +-* Tue Jan 05 2021 - 0.21-1 +-- New version +-- Ship charlicloud.7 +-- Require fakeroot +-- Install fakeroot.py +-- Always ship patch1 +-- Get python3_sitelib defined +-- Move examples to -test and require sphinx_rtd_theme +-- Include __pycache__ on el7 +-- Use %%python3_pkgversion +-- BR python3, not /usr/bin/python3 +-- Fix comment capitalization and spacing +- +-* Tue Sep 22 2020 - 0.19-1 +-- Package build.py and misc.py +-- Remove unnecessary patch +-- New release +- +-* Mon Jul 27 2020 Fedora Release Engineering - 0.15-2 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +- +-* Thu Apr 16 2020 - 0.15-1 +-- Add test suite package +-- Update spec for autoconf +-- New release +- +-* Tue Jan 28 2020 Fedora Release Engineering - 0.10-2 +-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +- +-* Wed Sep 04 2019 - 0.10-1 +-- Patch doc-src/conf.py for epel +-- Fix doc-src/dev.rst +-- Fix libexec and doc install path for 0.10 changes +-- Tidy comments +-- New release +- +-* Thu Aug 22 2019 - 0.9.10-12 +-- Upate doc subpackage obsoletes +- +-* Mon Aug 19 2019 Dave love - 0.9.10-11 +-- Use canonical form for Source0 +-- Remove main package dependency from doc, and make it noarch +- +-* Fri Aug 02 2019 0.9.10-10 +-- Tidy comments; fix typ +- +-* Thu Jul 25 2019 0.9.10-9 +-- Use python site variable; fix doc file reference +- +-* Tue Jul 23 2019 0.9.10-8 +-- Remove bundled js, css, and font bits +- +-* Mon Jul 22 2019 0.9.10-6 +-- Temporarily remove test suite +- +-* 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 ++* Thu Apr 16 2020 - @VERSION@-@RELEASE@ ++- Add new charliecloud package. diff --git a/packaging/fedora/upstream.spec b/packaging/fedora/upstream.spec index 2c18743cd..d9d1fb981 100644 --- a/packaging/fedora/upstream.spec +++ b/packaging/fedora/upstream.spec @@ -10,16 +10,19 @@ %{?el7:%global __python %__python3} Name: charliecloud -Version: 0.26 -Release: 1%{?dist} +Version: 0.36 +Release: 3%{?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}/releases/downloads/v%{version}/%{name}-%{version}.tar.gz -BuildRequires: gcc rsync bash -Requires: squashfuse squashfs-tools -Patch1: el7-pkgdir.patch -Patch2: printf.patch +BuildRequires: gcc rsync bash findutils +Patch0: el7-pkgdir.patch +%if 0%{!?el7} && 0%{!?el8} +Requires: fuse3 squashfuse +BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +Patch1: no-squashfuse-rpath.patch +%endif %description Charliecloud uses Linux user namespaces to run containers with no privileged @@ -35,15 +38,16 @@ For more information: https://hpc.github.io/charliecloud %package builder Summary: Charliecloud container image building tools License: ASL 2.0 and MIT -BuildArch: noarch BuildRequires: python3-devel -BuildRequires: python%{python3_pkgversion}-lark-parser BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 -Requires: python%{python3_pkgversion}-lark-parser Requires: python%{python3_pkgversion}-requests -Provides: bundled(python%{python3_pkgversion}-lark-parser) = 0.11.3 +%if 0%{!?el7} +Requires: git >= 2.28.1 +%endif +Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 +%{?el7:BuildArch: noarch} %description builder This package provides ch-image, Charliecloud's completely unprivileged container @@ -64,7 +68,10 @@ Html and man page documentation for %{name}. %package test Summary: Charliecloud test suite License: ASL 2.0 -Requires: %{name} %{name}-builder /usr/bin/bats +Requires: %{name} %{name}-builder +%if 0%{!?el7} +Requires: bats +%endif Obsoletes: %{name}-test < %{version}-%{release} %description test @@ -74,10 +81,12 @@ Test fixtures for %{name}. %setup -q %if 0%{?el7} -%patch1 -p1 +%patch0 -p1 %endif -%patch2 -p1 +%if 0%{!?el7} && 0%{!?el8} +%patch 1 -p1 +%endif %build # Use old inlining behavior, see: @@ -86,6 +95,9 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ +%if 0%{!?el7} && 0%{!?el8} + --with-libsquashfuse=/usr \ +%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else @@ -115,6 +127,13 @@ EOF %{__rm} -rf %{buildroot}%{_pkgdocdir}/html/_static/fonts %{__rm} -rf %{buildroot}%{_pkgdocdir}/html/_static/js +# Remove el7 test bits; unnecessary after #1836 is resolved. +%if 0%{?el7} +%{__rm} -f %{buildroot}%{_bindir}/ch-test +%{__rm} -rf %{buildroot}%{_libexecdir}/%{name} +%{__rm} -f %{buildroot}%{_mandir}/man1/ch-test.1* +%endif + # Use Fedora package sphinx bits. sphinxdir=%{python3_sitelib}/sphinx_rtd_theme/static ln -s "${sphinxdir}/css" %{buildroot}%{_pkgdocdir}/html/_static/css @@ -148,14 +167,17 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_bindir}/ch-image %{_mandir}/man1/ch-image.1* %{_prefix}/lib/%{name}/build.py +%{_prefix}/lib/%{name}/build_cache.py %{_prefix}/lib/%{name}/charliecloud.py -%{_prefix}/lib/%{name}/fakeroot.py +%{_prefix}/lib/%{name}/filesystem.py +%{_prefix}/lib/%{name}/force.py +%{_prefix}/lib/%{name}/image.py %{_prefix}/lib/%{name}/lark -%{_prefix}/lib/%{name}/lark-1.1.8.dist-info -%{_prefix}/lib/%{name}/lark-stubs +%{_prefix}/lib/%{name}/lark-1.1.9.dist-info %{_prefix}/lib/%{name}/misc.py %{_prefix}/lib/%{name}/pull.py %{_prefix}/lib/%{name}/push.py +%{_prefix}/lib/%{name}/registry.py %{_prefix}/lib/%{name}/version.py %{?el7:%{_prefix}/lib/%{name}/__pycache__} @@ -166,12 +188,50 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} %files test +%if 0%{?el7} +%else %{_bindir}/ch-test -%{_libexecdir}/%{name}/test +%{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* +%endif %changelog -* Mon Jan 24 2022 Jordan Ogas - 0.36-3 +- tidy conditionals; remove test files from el7 + +* Fri Feb 09 2024 Jordan Ogas - 0.36-2 +- fix epel7 patch + +* Fri Feb 09 2024 Jordan Ogas - 0.36-1 +- new version 0.36 + +* Tue Jan 23 2024 Fedora Release Engineering - 0.32-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0.32-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 0.32-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Apr 03 2023 Jordan Ogas 0.32-2 +- fix macro conditionals + +* Fri Mar 31 2023 Jordan Ogas 0.32-1 +- edit el7 patch: update ch-test path +- add patch: prevent rpath of standard path +- update builder package files +- add dependency: findutils +- add conditional dependencies: fuse3, squashfuse-devel, & git +- new version 0.32 + +* Wed Jan 18 2023 Fedora Release Engineering - 0.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 0.26-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jan 24 2022 Jordan Ogas 0.26-1 - add printf patch for 32-bit - add ch-convert script - new version 0.26 @@ -179,7 +239,7 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js * Wed Jan 19 2022 Fedora Release Engineering - 0.25-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild -* Mon Sep 20 2021 Jordan Ogas 0.25-1 - bundle python lark parser - new version diff --git a/test/run/build-rpms.bats b/test/run/build-rpms.bats index dd0d91da7..fff55405d 100644 --- a/test/run/build-rpms.bats +++ b/test/run/build-rpms.bats @@ -33,7 +33,6 @@ setup () { [[ $output = *'charliecloud-builder'* ]] [[ $output = *'charliecloud-debuginfo-'* ]] [[ $output = *'charliecloud-doc'* ]] - [[ $output = *'charliecloud-test-'* ]] run ch-run "$img" -- rpm -ql "charliecloud" echo "$output" [[ $status -eq 0 ]] @@ -50,12 +49,6 @@ setup () { [[ $status -eq 0 ]] [[ $output = *'/usr/lib/debug/usr/bin/ch-run.debug'* ]] [[ $output = *'/usr/lib/debug/usr/libexec/charliecloud/test/sotest/lib/libsotest.so.1.0.debug'* ]] - run ch-run "$img" -- rpm -ql "charliecloud-test" - echo "$output" - [[ $status -eq 0 ]] - [[ $output = *'/usr/bin/ch-test'* ]] - [[ $output = *'/usr/libexec/charliecloud/test/Build.centos7xz'* ]] - [[ $output = *'/usr/libexec/charliecloud/test/sotest/lib/libsotest.so.1.0'* ]] run ch-run "$img" -- rpm -ql "charliecloud-doc" echo "$output" [[ $output = *'/usr/share/doc/charliecloud-'*'/html'* ]] @@ -77,7 +70,6 @@ setup () { [[ $output = *'charliecloud-'* ]] [[ $output = *'charliecloud-debuginfo-'* ]] [[ $output = *'charliecloud-doc'* ]] - [[ $output = *'charliecloud-test-'* ]] # All gone? run ch-run "$img" -- rpm -qa "charliecloud*"