From e09338aff05cba84307c33cf754fb0207e07deef Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 15:01:21 -0700 Subject: [PATCH 01/11] address merge conflicts --- packaging/fedora/build | 2 ++ packaging/fedora/charliecloud.spec | 29 ++++++++++----- packaging/fedora/el7-pkgdir.patch | 7 ++-- packaging/fedora/no-rpath.patch | 11 ++++++ packaging/fedora/printf.patch | 12 ------- packaging/fedora/upstream.spec | 57 +++++++++++++++++++++++------- 6 files changed, 81 insertions(+), 37 deletions(-) create mode 100644 packaging/fedora/no-rpath.patch delete mode 100644 packaging/fedora/printf.patch diff --git a/packaging/fedora/build b/packaging/fedora/build index fb75e67cc..dfcd0c84d 100755 --- a/packaging/fedora/build +++ b/packaging/fedora/build @@ -181,6 +181,8 @@ rpmbuild root: %(rpmbuild)s 'charliecloud-test': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)]} rpm_specs = "/usr/local/src/SPECS" rpm_sources = "/usr/local/src/SOURCES" + # Map el# to rhel# to avoid unresolved macro errors. + rpmbuild_args += ["--define", "rhel " % rpm_dist[-1]] rpmbuild_args += ["--define", "_topdir /usr/local/src"] rpmlint_args += ["--file", "%s/charliecloud.rpmlintrc" % rpm_specs] container += [CH_BASE + "/bin/ch-run", "-w", diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index d2eac0262..f04f00f92 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -17,8 +17,13 @@ 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 +Requires: squashfuse squashfs-tools findutils +Patch0: el7-pkgdir.patch +%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +BuildRequires: fuse3 fuse3-libs fuse3-devel squashfuse-devel +Requires: fuse3-libs squashfuse +Patch1: no-rpath.patch +%endif %description Charliecloud uses Linux user namespaces to run containers with no privileged @@ -34,15 +39,18 @@ 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) = 1.1.9 +Provides: bundled(python%{python3_pkgversion}-lark-parser) = 0.11.3 +%if 0%{?fedora} > 34 || 0%{?rhel} > 8 +Requires: git >= 2.28.1 +%endif +%{?el7:BuildArch: noarch} +%{?el8:Requires: git >= 2.28.1} +%{?el9:Requires: git >= 2.28.1} %description builder This package provides ch-image, Charliecloud's completely unprivileged container @@ -73,7 +81,13 @@ Test fixtures for %{name}. %setup -q %if 0%{?el7} -%patch1 -p1 +# el7 mock builds use "%patchN". +%patch0 -p1 +%endif + +%if 0%{?fedora} > 36 +# fedora/rhel use "%patch N". +%patch 1 -p1 %endif %build @@ -166,7 +180,6 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_pkgdocdir}/html %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} - %files test %{_bindir}/ch-test %{_libexecdir}/%{name} diff --git a/packaging/fedora/el7-pkgdir.patch b/packaging/fedora/el7-pkgdir.patch index 1dee3889a..ccc8bf2d2 100644 --- a/packaging/fedora/el7-pkgdir.patch +++ b/packaging/fedora/el7-pkgdir.patch @@ -1,7 +1,6 @@ -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 @@ +--- charliecloud-0.32/bin/ch-test 2023-03-22 17:36:46.000000000 -0400 ++++ charliecloud-0.32.patch/bin/ch-test 2023-04-03 10:51:53.677205658 -0400 +@@ -767,7 +767,7 @@ CHTEST_INSTALLED=yes CHTEST_GITWD= CHTEST_DIR=${ch_base}/libexec/charliecloud/test diff --git a/packaging/fedora/no-rpath.patch b/packaging/fedora/no-rpath.patch new file mode 100644 index 000000000..e6ea132db --- /dev/null +++ b/packaging/fedora/no-rpath.patch @@ -0,0 +1,11 @@ +--- charliecloud-0.32/configure 2023-03-24 18:49:49.000000000 -0400 ++++ charliecloud-0.32.patch/configure 2023-04-03 09:55:31.756259159 -0400 +@@ -5880,7 +5880,7 @@ + else + rpath_libsquashfuse= + fi +- CH_RUN_LIBS="-lsquashfuse_ll -lfuse3 $rpath_libsquashfuse $CH_RUN_LIBS" ++ CH_RUN_LIBS="-lsquashfuse_ll -lfuse3 $CH_RUN_LIBS" + else + 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.spec b/packaging/fedora/upstream.spec index 2c18743cd..cf63544e6 100644 --- a/packaging/fedora/upstream.spec +++ b/packaging/fedora/upstream.spec @@ -10,16 +10,20 @@ %{?el7:%global __python %__python3} Name: charliecloud -Version: 0.26 -Release: 1%{?dist} +Version: 0.32 +Release: 2%{?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 +Requires: squashfuse squashfs-tools findutils +Patch0: el7-pkgdir.patch +%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +BuildRequires: fuse3 fuse3-libs fuse3-devel squashfuse-devel +Requires: fuse3-libs squashfuse +Patch1: no-rpath.patch +%endif %description Charliecloud uses Linux user namespaces to run containers with no privileged @@ -35,15 +39,18 @@ 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%{?fedora} > 34 || 0%{?rhel} > 8 +Requires: git >= 2.28.1 +%endif +%{?el7:BuildArch: noarch} +%{?el8:Requires: git >= 2.28.1} +%{?el9:Requires: git >= 2.28.1} %description builder This package provides ch-image, Charliecloud's completely unprivileged container @@ -74,10 +81,12 @@ Test fixtures for %{name}. %setup -q %if 0%{?el7} -%patch1 -p1 +%patch0 -p1 %endif -%patch2 -p1 +%if 0%{?fedora} > 36 +%patch 1 -p1 +%endif %build # Use old inlining behavior, see: @@ -148,14 +157,18 @@ 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}/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__} @@ -171,7 +184,24 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_mandir}/man1/ch-test.1* %changelog -* Mon Jan 24 2022 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 +209,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 @@ -355,3 +385,4 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js * Thu Mar 14 2019 0.9.8-1 - Add initial Fedora/EPEL package + From 500d1298afcc437185726269ad6fcc7017645dd1 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Tue, 4 Apr 2023 13:45:21 -0600 Subject: [PATCH 02/11] fix rhel macro --- packaging/fedora/build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/fedora/build b/packaging/fedora/build index dfcd0c84d..d9356d8f4 100755 --- a/packaging/fedora/build +++ b/packaging/fedora/build @@ -181,8 +181,8 @@ rpmbuild root: %(rpmbuild)s 'charliecloud-test': [rpms_arch, '%s.%s.rpm' % (rpms_dist, ARCH)]} rpm_specs = "/usr/local/src/SPECS" rpm_sources = "/usr/local/src/SOURCES" - # Map el# to rhel# to avoid unresolved macro errors. - rpmbuild_args += ["--define", "rhel " % rpm_dist[-1]] + # 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", From ddf77c359f4c0a225b4537e1e4078a358a9fc7b8 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Tue, 4 Apr 2023 14:19:26 -0600 Subject: [PATCH 03/11] add 0.32-3 changes --- packaging/fedora/charliecloud.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index f04f00f92..82c344d66 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -19,7 +19,7 @@ Source0: https://github.com/hpc/%{name}/releases/downloads/v%{version}/%{n BuildRequires: gcc rsync bash Requires: squashfuse squashfs-tools findutils Patch0: el7-pkgdir.patch -%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +%if 0%{?fedora} > 36 BuildRequires: fuse3 fuse3-libs fuse3-devel squashfuse-devel Requires: fuse3-libs squashfuse Patch1: no-rpath.patch @@ -39,6 +39,7 @@ 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}-requests Requires: %{name} @@ -48,7 +49,6 @@ Provides: bundled(python%{python3_pkgversion}-lark-parser) = 0.11.3 %if 0%{?fedora} > 34 || 0%{?rhel} > 8 Requires: git >= 2.28.1 %endif -%{?el7:BuildArch: noarch} %{?el8:Requires: git >= 2.28.1} %{?el9:Requires: git >= 2.28.1} From e84e186227e666a9066ea3b7ea4ed4b3abc470d3 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 15:09:11 -0700 Subject: [PATCH 04/11] update to 0.36 --- packaging/fedora/charliecloud.spec | 30 ++++++------- packaging/fedora/el7-pkgdir.patch | 20 ++++----- ...-rpath.patch => no-squashfuse-rpath.patch} | 10 ++--- packaging/fedora/upstream.spec | 43 ++++++++++++------- 4 files changed, 57 insertions(+), 46 deletions(-) rename packaging/fedora/{no-rpath.patch => no-squashfuse-rpath.patch} (51%) diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index 82c344d66..723e9af41 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -16,13 +16,12 @@ 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 findutils +BuildRequires: gcc rsync bash findutils Patch0: el7-pkgdir.patch -%if 0%{?fedora} > 36 -BuildRequires: fuse3 fuse3-libs fuse3-devel squashfuse-devel -Requires: fuse3-libs squashfuse -Patch1: no-rpath.patch +%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +Requires: fuse3 squashfuse +BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +Patch1: no-squashfuse-rpath.patch %endif %description @@ -39,18 +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}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -Provides: bundled(python%{python3_pkgversion}-lark-parser) = 0.11.3 -%if 0%{?fedora} > 34 || 0%{?rhel} > 8 -Requires: git >= 2.28.1 +%if 1%{?el7} +Requires: git >= 2.28.1 %endif -%{?el8:Requires: git >= 2.28.1} -%{?el9:Requires: git >= 2.28.1} +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 @@ -81,12 +78,10 @@ Test fixtures for %{name}. %setup -q %if 0%{?el7} -# el7 mock builds use "%patchN". %patch0 -p1 %endif %if 0%{?fedora} > 36 -# fedora/rhel use "%patch N". %patch 1 -p1 %endif @@ -97,6 +92,9 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ +%if 0%{?fedora} > 34 || 0%{?rhel} > 8 + --with-libsquashfusei=/usr \ +%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else @@ -186,5 +184,5 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_mandir}/man1/ch-test.1* %changelog -* Thu Apr 16 2020 - @VERSION@-@RELEASE@ -- Add new charliecloud package. +-* Thu Apr 16 2020 - @VERSION@-@RELEASE@ +-- Add new charliecloud package. diff --git a/packaging/fedora/el7-pkgdir.patch b/packaging/fedora/el7-pkgdir.patch index ccc8bf2d2..eab536fab 100644 --- a/packaging/fedora/el7-pkgdir.patch +++ b/packaging/fedora/el7-pkgdir.patch @@ -1,11 +1,11 @@ ---- charliecloud-0.32/bin/ch-test 2023-03-22 17:36:46.000000000 -0400 -+++ charliecloud-0.32.patch/bin/ch-test 2023-04-03 10:51:53.677205658 -0400 -@@ -767,7 +767,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-rpath.patch b/packaging/fedora/no-squashfuse-rpath.patch similarity index 51% rename from packaging/fedora/no-rpath.patch rename to packaging/fedora/no-squashfuse-rpath.patch index e6ea132db..654dfdc44 100644 --- a/packaging/fedora/no-rpath.patch +++ b/packaging/fedora/no-squashfuse-rpath.patch @@ -1,11 +1,11 @@ ---- charliecloud-0.32/configure 2023-03-24 18:49:49.000000000 -0400 -+++ charliecloud-0.32.patch/configure 2023-04-03 09:55:31.756259159 -0400 -@@ -5880,7 +5880,7 @@ - else +--- 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 + else $as_nop have_libsquashfuse=no fi diff --git a/packaging/fedora/upstream.spec b/packaging/fedora/upstream.spec index cf63544e6..05826623f 100644 --- a/packaging/fedora/upstream.spec +++ b/packaging/fedora/upstream.spec @@ -10,19 +10,18 @@ %{?el7:%global __python %__python3} Name: charliecloud -Version: 0.32 +Version: 0.36 Release: 2%{?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 findutils +BuildRequires: gcc rsync bash findutils Patch0: el7-pkgdir.patch %if 0%{?fedora} > 36 || 0%{?rhel} > 8 -BuildRequires: fuse3 fuse3-libs fuse3-devel squashfuse-devel -Requires: fuse3-libs squashfuse -Patch1: no-rpath.patch +Requires: fuse3 squashfuse +BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +Patch1: no-squashfuse-rpath.patch %endif %description @@ -44,13 +43,11 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -Provides: bundled(python%{python3_pkgversion}-lark-parser) = 0.11.3 -%if 0%{?fedora} > 34 || 0%{?rhel} > 8 -Requires: git >= 2.28.1 +%if 1%{?el7} +Requires: git >= 2.28.1 %endif +Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 %{?el7:BuildArch: noarch} -%{?el8:Requires: git >= 2.28.1} -%{?el9:Requires: git >= 2.28.1} %description builder This package provides ch-image, Charliecloud's completely unprivileged container @@ -95,6 +92,9 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ +%if 0%{?fedora} > 34 || 0%{?rhel} > 8 + --with-libsquashfusei=/usr \ +%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else @@ -163,8 +163,7 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_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 @@ -180,10 +179,25 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %files test %{_bindir}/ch-test -%{_libexecdir}/%{name}/test +%{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* %changelog +* 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 @@ -385,4 +399,3 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js * Thu Mar 14 2019 0.9.8-1 - Add initial Fedora/EPEL package - From 7a835175316301bd09d6c57a5cf9d6ac76e66f71 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 15:11:46 -0700 Subject: [PATCH 05/11] fix typo --- packaging/fedora/charliecloud.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index 723e9af41..1a013e86d 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -184,5 +184,5 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_mandir}/man1/ch-test.1* %changelog --* Thu Apr 16 2020 - @VERSION@-@RELEASE@ --- Add new charliecloud package. +* Thu Apr 16 2020 - @VERSION@-@RELEASE@ +- Add new charliecloud package. From c29a76c99d190b91c6d9baaa667ed3cd13889e4d Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 16:41:46 -0700 Subject: [PATCH 06/11] fix rpmbuilding --- examples/Dockerfile.almalinux_8ch | 1 + packaging/fedora/build | 14 +++++++------- packaging/fedora/charliecloud.spec | 9 ++++++--- test/run/build-rpms.bats | 8 -------- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/examples/Dockerfile.almalinux_8ch b/examples/Dockerfile.almalinux_8ch index e84f1d965..b100841c1 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 \ diff --git a/packaging/fedora/build b/packaging/fedora/build index d9356d8f4..c1338d1c3 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,7 +171,7 @@ 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)]} @@ -189,6 +185,10 @@ rpmbuild root: %(rpmbuild)s "-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)) @@ -198,9 +198,9 @@ 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) diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index 1a013e86d..cc2e105fb 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -43,11 +43,10 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -%if 1%{?el7} +%if 1%{?el7} && 1%{?rhel} < 8 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 @@ -65,14 +64,16 @@ Requires: python%{python3_pkgversion}-sphinx_rtd_theme %description doc Html and man page documentation for %{name}. +%if 1%{el7} %package test Summary: Charliecloud test suite License: ASL 2.0 -Requires: %{name} %{name}-builder /usr/bin/bats +Requires: %{name} %{name}-builder bats Obsoletes: %{name}-test < %{version}-%{release} %description test Test fixtures for %{name}. +%endif %prep %setup -q @@ -178,10 +179,12 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_pkgdocdir}/html %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} +%if 1%{el7} %files test %{_bindir}/ch-test %{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* +%endif %changelog * Thu Apr 16 2020 - @VERSION@-@RELEASE@ 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*" From 0f5a839f6f1e69513843d5f87901e1cd0ddc7184 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 17:34:34 -0700 Subject: [PATCH 07/11] kludge spec to work on centos 7 --- examples/Dockerfile.almalinux_8ch | 2 -- packaging/fedora/charliecloud.spec | 17 +++++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/Dockerfile.almalinux_8ch b/examples/Dockerfile.almalinux_8ch index b100841c1..bcee3de80 100644 --- a/examples/Dockerfile.almalinux_8ch +++ b/examples/Dockerfile.almalinux_8ch @@ -44,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/charliecloud.spec b/packaging/fedora/charliecloud.spec index cc2e105fb..b4996f86d 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -17,7 +17,9 @@ 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%{?fedora} > 36 || 0%{?rhel} > 8 Requires: fuse3 squashfuse BuildRequires: fuse3-libs fuse3-devel squashfuse-devel @@ -43,8 +45,11 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -%if 1%{?el7} && 1%{?rhel} < 8 -Requires: git >= 2.28.1 +# For some reason this expressio is not respected in centos_7ch; thus, we +# just specify any git. +%if 1%{?el7} +Requires: git +#Requires: git >= 2.28.1 %endif Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 @@ -64,7 +69,7 @@ Requires: python%{python3_pkgversion}-sphinx_rtd_theme %description doc Html and man page documentation for %{name}. -%if 1%{el7} +%if 1%{?el7} %package test Summary: Charliecloud test suite License: ASL 2.0 @@ -82,7 +87,7 @@ Test fixtures for %{name}. %patch0 -p1 %endif -%if 0%{?fedora} > 36 +%if 0%{?fedora} > 36 || 0%{?rhel} > 8 %patch 1 -p1 %endif @@ -93,7 +98,7 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ -%if 0%{?fedora} > 34 || 0%{?rhel} > 8 +%if 0%{?fedora} > 34 || 0%{?rhel} > 7 --with-libsquashfusei=/usr \ %endif %if 0%{?el7} @@ -179,7 +184,7 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_pkgdocdir}/html %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} -%if 1%{el7} +%if 1%{?el7} %files test %{_bindir}/ch-test %{_libexecdir}/%{name} From e944666bd738bd1a7aac8401e62398bdaaea8343 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 9 Feb 2024 17:36:00 -0700 Subject: [PATCH 08/11] add upstream diff to show differences --- packaging/fedora/upstream.diff | 303 +++++++++++++++++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 packaging/fedora/upstream.diff diff --git a/packaging/fedora/upstream.diff b/packaging/fedora/upstream.diff new file mode 100644 index 000000000..8bbedd327 --- /dev/null +++ b/packaging/fedora/upstream.diff @@ -0,0 +1,303 @@ +--- charliecloud.spec 2024-02-09 17:33:04.983698614 -0700 ++++ upstream.spec 2024-02-09 14:32:41.000000000 -0700 +@@ -10,16 +10,14 @@ + %{?el7:%global __python %__python3} + + Name: charliecloud +-Version: @VERSION@ +-Release: @RELEASE@%{?dist} ++Version: 0.36 ++Release: 2%{?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%{?fedora} > 36 || 0%{?rhel} > 8 + Requires: fuse3 squashfuse + BuildRequires: fuse3-libs fuse3-devel squashfuse-devel +@@ -45,13 +43,11 @@ + Requires: %{name} + Requires: python3 + Requires: python%{python3_pkgversion}-requests +-# For some reason this expressio is not respected in centos_7ch; thus, we +-# just specify any git. + %if 1%{?el7} +-Requires: git +-#Requires: git >= 2.28.1 ++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 +@@ -69,16 +65,14 @@ + %description doc + Html and man page documentation for %{name}. + +-%if 1%{?el7} + %package test + Summary: Charliecloud test suite + License: ASL 2.0 +-Requires: %{name} %{name}-builder bats ++Requires: %{name} %{name}-builder /usr/bin/bats + Obsoletes: %{name}-test < %{version}-%{release} + + %description test + Test fixtures for %{name}. +-%endif + + %prep + %setup -q +@@ -87,7 +81,7 @@ + %patch0 -p1 + %endif + +-%if 0%{?fedora} > 36 || 0%{?rhel} > 8 ++%if 0%{?fedora} > 36 + %patch 1 -p1 + %endif + +@@ -98,7 +92,7 @@ + %configure --docdir=%{_pkgdocdir} \ + --libdir=%{_prefix}/lib \ + --with-python=/usr/bin/python3 \ +-%if 0%{?fedora} > 34 || 0%{?rhel} > 7 ++%if 0%{?fedora} > 34 || 0%{?rhel} > 8 + --with-libsquashfusei=/usr \ + %endif + %if 0%{?el7} +@@ -183,13 +177,225 @@ + %{_pkgdocdir}/html + %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} + +-%if 1%{?el7} + %files test + %{_bindir}/ch-test + %{_libexecdir}/%{name} + %{_mandir}/man1/ch-test.1* +-%endif + + %changelog +-* Thu Apr 16 2020 - @VERSION@-@RELEASE@ +-- Add new charliecloud package. ++* 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 From 2bb46ef326d0f2a08ef69117fdbd3195ab0fb4ea Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Mon, 12 Feb 2024 11:48:43 -0700 Subject: [PATCH 09/11] tidy --- packaging/fedora/build | 2 +- packaging/fedora/charliecloud.spec | 30 +++++++----- packaging/fedora/upstream.diff | 74 +++++++++++++++++++----------- 3 files changed, 66 insertions(+), 40 deletions(-) diff --git a/packaging/fedora/build b/packaging/fedora/build index c1338d1c3..a282055c0 100755 --- a/packaging/fedora/build +++ b/packaging/fedora/build @@ -204,7 +204,7 @@ rpmbuild root: %(rpmbuild)s 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 b4996f86d..2118107ae 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -20,7 +20,7 @@ BuildRequires: gcc rsync bash findutils %if 0%{?el7} Patch0: el7-pkgdir.patch %endif -%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +%if 0%{!?el7} && 0%{!?el8} Requires: fuse3 squashfuse BuildRequires: fuse3-libs fuse3-devel squashfuse-devel Patch1: no-squashfuse-rpath.patch @@ -45,12 +45,13 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -# For some reason this expressio is not respected in centos_7ch; thus, we -# just specify any git. -%if 1%{?el7} + +%if 0%{?el7} Requires: git -#Requires: git >= 2.28.1 +%else +Requires: git >= 2.28.1 %endif + Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 %description builder @@ -69,7 +70,6 @@ Requires: python%{python3_pkgversion}-sphinx_rtd_theme %description doc Html and man page documentation for %{name}. -%if 1%{?el7} %package test Summary: Charliecloud test suite License: ASL 2.0 @@ -78,7 +78,6 @@ Obsoletes: %{name}-test < %{version}-%{release} %description test Test fixtures for %{name}. -%endif %prep %setup -q @@ -87,7 +86,7 @@ Test fixtures for %{name}. %patch0 -p1 %endif -%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +%if 0%{!?el7} %patch 1 -p1 %endif @@ -95,15 +94,16 @@ Test fixtures for %{name}. # 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%{?fedora} > 34 || 0%{?rhel} > 7 --with-libsquashfusei=/usr \ -%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else + --with-libsquashfusei=/usr \ --with-sphinx-build=%{_bindir}/sphinx-build %endif @@ -140,6 +140,13 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{__rm} -f %{buildroot}%{_pkgdocdir}/LICENSE %{__rm} -f %{buildroot}%{_pkgdocdir}/README.rst +# FIXME: 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 + %files %license LICENSE %doc README.rst %{?el7:README.EL7} @@ -184,8 +191,9 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{_pkgdocdir}/html %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} -%if 1%{?el7} %files test +%if 0%{?el7} +%else %{_bindir}/ch-test %{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* diff --git a/packaging/fedora/upstream.diff b/packaging/fedora/upstream.diff index 8bbedd327..e79e1dc73 100644 --- a/packaging/fedora/upstream.diff +++ b/packaging/fedora/upstream.diff @@ -1,6 +1,6 @@ ---- charliecloud.spec 2024-02-09 17:33:04.983698614 -0700 -+++ upstream.spec 2024-02-09 14:32:41.000000000 -0700 -@@ -10,16 +10,14 @@ +--- packaging/fedora/charliecloud.spec 2024-02-12 11:46:23.034342881 -0700 ++++ packaging/fedora/upstream.spec 2024-02-09 14:32:41.000000000 -0700 +@@ -10,17 +10,15 @@ %{?el7:%global __python %__python3} Name: charliecloud @@ -16,30 +16,29 @@ -%if 0%{?el7} Patch0: el7-pkgdir.patch -%endif - %if 0%{?fedora} > 36 || 0%{?rhel} > 8 +-%if 0%{!?el7} && 0%{!?el8} ++%if 0%{?fedora} > 36 || 0%{?rhel} > 8 Requires: fuse3 squashfuse BuildRequires: fuse3-libs fuse3-devel squashfuse-devel -@@ -45,13 +43,11 @@ + Patch1: no-squashfuse-rpath.patch +@@ -45,14 +43,11 @@ Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests --# For some reason this expressio is not respected in centos_7ch; thus, we --# just specify any git. - %if 1%{?el7} +- +-%if 0%{?el7} -Requires: git --#Requires: git >= 2.28.1 -+Requires: git >= 2.28.1 +-%else ++%if 1%{?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 -@@ -69,16 +65,14 @@ - %description doc - Html and man page documentation for %{name}. - --%if 1%{?el7} +@@ -73,7 +68,7 @@ %package test Summary: Charliecloud test suite License: ASL 2.0 @@ -48,35 +47,54 @@ Obsoletes: %{name}-test < %{version}-%{release} %description test - Test fixtures for %{name}. --%endif - - %prep - %setup -q -@@ -87,7 +81,7 @@ +@@ -86,7 +81,7 @@ %patch0 -p1 %endif --%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +-%if 0%{!?el7} +%if 0%{?fedora} > 36 %patch 1 -p1 %endif -@@ -98,7 +92,7 @@ +@@ -94,16 +89,15 @@ + # 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%{?fedora} > 34 || 0%{?rhel} > 7 +%if 0%{?fedora} > 34 || 0%{?rhel} > 8 --with-libsquashfusei=/usr \ - %endif ++%endif %if 0%{?el7} -@@ -183,13 +177,225 @@ - %{_pkgdocdir}/html + --with-sphinx-build=%{_bindir}/sphinx-build-3.6 + %else +- --with-libsquashfusei=/usr \ + --with-sphinx-build=%{_bindir}/sphinx-build + %endif + +@@ -140,13 +134,6 @@ + %{__rm} -f %{buildroot}%{_pkgdocdir}/LICENSE + %{__rm} -f %{buildroot}%{_pkgdocdir}/README.rst + +-# FIXME: 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 +- + %files + %license LICENSE + %doc README.rst %{?el7:README.EL7} +@@ -191,13 +178,224 @@ %{?el7:%exclude %{_pkgdocdir}/examples/*/__pycache__} --%if 1%{?el7} %files test +-%if 0%{?el7} +-%else %{_bindir}/ch-test %{_libexecdir}/%{name} %{_mandir}/man1/ch-test.1* From dd8a2b31a2a9bb3df6d58188b1f640c1ab4e8654 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 22 Mar 2024 13:07:00 -0600 Subject: [PATCH 10/11] update with latest --- packaging/fedora/charliecloud.spec | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packaging/fedora/charliecloud.spec b/packaging/fedora/charliecloud.spec index 2118107ae..3f60843c7 100644 --- a/packaging/fedora/charliecloud.spec +++ b/packaging/fedora/charliecloud.spec @@ -45,13 +45,9 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests - -%if 0%{?el7} -Requires: git -%else +%if 0%{!?el7} Requires: git >= 2.28.1 %endif - Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 %description builder @@ -73,7 +69,10 @@ Html and man page documentation for %{name}. %package test Summary: Charliecloud test suite License: ASL 2.0 -Requires: %{name} %{name}-builder bats +Requires: %{name} %{name}-builder +%if 0%{!?el7} +Requires: bats +%endif Obsoletes: %{name}-test < %{version}-%{release} %description test @@ -86,7 +85,7 @@ Test fixtures for %{name}. %patch0 -p1 %endif -%if 0%{!?el7} +%if 0%{!?el7} && 0%{!?el8} %patch 1 -p1 %endif @@ -99,11 +98,12 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ - --with-libsquashfusei=/usr \ +%if 0%{!?el7} && 0%{!?el8} + --with-libsquashfuse=/usr \ +%endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 %else - --with-libsquashfusei=/usr \ --with-sphinx-build=%{_bindir}/sphinx-build %endif @@ -130,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 @@ -140,13 +147,6 @@ ln -s "${sphinxdir}/js" %{buildroot}%{_pkgdocdir}/html/_static/js %{__rm} -f %{buildroot}%{_pkgdocdir}/LICENSE %{__rm} -f %{buildroot}%{_pkgdocdir}/README.rst -# FIXME: 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 - %files %license LICENSE %doc README.rst %{?el7:README.EL7} From 9decf8bdcf2bba0e28cab5c6df0747c6efc94705 Mon Sep 17 00:00:00 2001 From: Jordan Ogas Date: Fri, 22 Mar 2024 13:11:41 -0600 Subject: [PATCH 11/11] update upstream --- packaging/fedora/upstream.diff | 540 +++++++++++++++------------------ packaging/fedora/upstream.spec | 30 +- 2 files changed, 268 insertions(+), 302 deletions(-) diff --git a/packaging/fedora/upstream.diff b/packaging/fedora/upstream.diff index e79e1dc73..6a2ec5eae 100644 --- a/packaging/fedora/upstream.diff +++ b/packaging/fedora/upstream.diff @@ -1,321 +1,271 @@ ---- packaging/fedora/charliecloud.spec 2024-02-12 11:46:23.034342881 -0700 -+++ packaging/fedora/upstream.spec 2024-02-09 14:32:41.000000000 -0700 -@@ -10,17 +10,15 @@ +--- 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: @VERSION@ --Release: @RELEASE@%{?dist} -+Version: 0.36 -+Release: 2%{?dist} +-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} ++%if 0%{?el7} Patch0: el7-pkgdir.patch --%endif --%if 0%{!?el7} && 0%{!?el8} -+%if 0%{?fedora} > 36 || 0%{?rhel} > 8 ++%endif + %if 0%{!?el7} && 0%{!?el8} Requires: fuse3 squashfuse BuildRequires: fuse3-libs fuse3-devel squashfuse-devel - Patch1: no-squashfuse-rpath.patch -@@ -45,14 +43,11 @@ - Requires: %{name} - Requires: python3 - Requires: python%{python3_pkgversion}-requests -- --%if 0%{?el7} --Requires: git --%else -+%if 1%{?el7} +@@ -47,7 +49,6 @@ Requires: git >= 2.28.1 %endif -- Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 -+%{?el7:BuildArch: noarch} +-%{?el7:BuildArch: noarch} %description builder This package provides ch-image, Charliecloud's completely unprivileged container -@@ -73,7 +68,7 @@ - %package test - Summary: Charliecloud test suite - License: ASL 2.0 --Requires: %{name} %{name}-builder bats -+Requires: %{name} %{name}-builder /usr/bin/bats - Obsoletes: %{name}-test < %{version}-%{release} - - %description test -@@ -86,7 +81,7 @@ - %patch0 -p1 - %endif - --%if 0%{!?el7} -+%if 0%{?fedora} > 36 - %patch 1 -p1 - %endif - -@@ -94,16 +89,15 @@ +@@ -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. ++# 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%{?fedora} > 34 || 0%{?rhel} > 8 - --with-libsquashfusei=/usr \ -+%endif - %if 0%{?el7} - --with-sphinx-build=%{_bindir}/sphinx-build-3.6 - %else -- --with-libsquashfusei=/usr \ - --with-sphinx-build=%{_bindir}/sphinx-build +@@ -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 -@@ -140,13 +134,6 @@ - %{__rm} -f %{buildroot}%{_pkgdocdir}/LICENSE - %{__rm} -f %{buildroot}%{_pkgdocdir}/README.rst - --# FIXME: 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 -- - %files - %license LICENSE - %doc README.rst %{?el7:README.EL7} -@@ -191,13 +178,224 @@ - %{?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@ --- Add new charliecloud package. -+* 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 +-* 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 05826623f..d9d1fb981 100644 --- a/packaging/fedora/upstream.spec +++ b/packaging/fedora/upstream.spec @@ -11,14 +11,14 @@ Name: charliecloud Version: 0.36 -Release: 2%{?dist} +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 findutils Patch0: el7-pkgdir.patch -%if 0%{?fedora} > 36 || 0%{?rhel} > 8 +%if 0%{!?el7} && 0%{!?el8} Requires: fuse3 squashfuse BuildRequires: fuse3-libs fuse3-devel squashfuse-devel Patch1: no-squashfuse-rpath.patch @@ -43,7 +43,7 @@ BuildRequires: python%{python3_pkgversion}-requests Requires: %{name} Requires: python3 Requires: python%{python3_pkgversion}-requests -%if 1%{?el7} +%if 0%{!?el7} Requires: git >= 2.28.1 %endif Provides: bundled(python%{python3_pkgversion}-lark-parser) = 1.1.9 @@ -68,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 @@ -81,7 +84,7 @@ Test fixtures for %{name}. %patch0 -p1 %endif -%if 0%{?fedora} > 36 +%if 0%{!?el7} && 0%{!?el8} %patch 1 -p1 %endif @@ -92,8 +95,8 @@ CFLAGS=${CFLAGS:-%optflags -fgnu89-inline}; export CFLAGS %configure --docdir=%{_pkgdocdir} \ --libdir=%{_prefix}/lib \ --with-python=/usr/bin/python3 \ -%if 0%{?fedora} > 34 || 0%{?rhel} > 8 - --with-libsquashfusei=/usr \ +%if 0%{!?el7} && 0%{!?el8} + --with-libsquashfuse=/usr \ %endif %if 0%{?el7} --with-sphinx-build=%{_bindir}/sphinx-build-3.6 @@ -124,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 @@ -178,11 +188,17 @@ 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} %{_mandir}/man1/ch-test.1* +%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