## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 5; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Tests works with enabled network. Also possible to run tests in COPR: # https://download.copr.fedorainfracloud.org/results/atim/buildstream/fedora-35-x86_64/02660103-buildstream/builder-live.log.gz %bcond_without test Name: buildstream Summary: Build/integrate software stacks License: LGPL-2.1-or-later URL: https://buildstream.build/ Version: 1.6.9 Release: %autorelease Source0: https://github.com/apache/buildstream/archive/%{version}/buildstream-%{version}.tar.gz # https://github.com/apache/buildstream/pull/1868 Patch0: 0001-Updating-versioneer-again-properly.patch BuildRequires: bubblewrap >= 0.1.2 BuildRequires: make BuildRequires: python3-devel >= 3.5 BuildRequires: python3-pytest-runner BuildRequires: python3-sphinx BuildRequires: python3-sphinx_rtd_theme BuildRequires: python3-sphinx-click # These from plugin-requirements.in + requirements.in BuildRequires: fuse-libs BuildRequires: ostree-libs BuildRequires: python3-arpy BuildRequires: python3-click BuildRequires: python3-gobject BuildRequires: python3-grpcio >= 1.30 BuildRequires: python3-jinja2 >= 2.10 BuildRequires: python3-pluginbase BuildRequires: python3-protobuf >= 3.19 BuildRequires: python3-psutil BuildRequires: python3-ruamel-yaml >= 0.16 BuildRequires: python3-setuptools BuildRequires: python3-ujson %if %{with test} BuildRequires: zip BuildRequires: tar BuildRequires: lzip BuildRequires: git-core BuildRequires: bzr BuildRequires: ostree BuildRequires: python3-pip # These from dev-requirements.in BuildRequires: python3-pytest >= 3.7 BuildRequires: python3-pytest-datafiles BuildRequires: python3-pytest-env BuildRequires: python3-pytest-timeout BuildRequires: python3-pytest-xdist # Not available: pyftpdlib (we skip the associated tests) # We do not need linters (nor omitted coverage from cov-requirements.in); see: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters # # BuildRequires: python3-pep8 # BuildRequires: python3-pylint >= 2.10 %endif Requires: bubblewrap >= 0.1.2 Requires: fuse Requires: fuse-libs Requires: git Requires: lzip Requires: ostree-libs Requires: patch Requires: python3-arpy Requires: python3-click Requires: python3-gobject Requires: python3-grpcio >= 1.30 Requires: python3-jinja2 >= 2.10 Requires: python3-pluginbase Requires: python3-protobuf >= 3.6 Requires: python3-psutil Requires: python3-ruamel-yaml >= 0.16 Requires: python3-setuptools Requires: python3-ujson Requires: tar BuildArch: noarch %description BuildStream is a Free Software tool for building/integrating software stacks. It takes inspiration, lessons and use-cases from various projects including OBS, Reproducible Builds, Yocto, Baserock, Buildroot, Aboriginal, GNOME Continuous, JHBuild, Flatpak Builder and Android repo. BuildStream supports multiple build-systems (e.g. autotools, cmake, cpan, distutils, make, meson, qmake), and can create outputs in a range of formats (e.g. debian packages, flatpak runtimes, sysroots, system images) for multiple platforms and chipsets. %package docs Summary: BuildStream documentation %description docs BuildStream is a Free Software tool for building/integrating software stacks. It takes inspiration, lessons and use-cases from various projects including OBS, Reproducible Builds, Yocto, Baserock, Buildroot, Aboriginal, GNOME Continuous, JHBuild, Flatpak Builder and Android repo. BuildStream supports multiple build-systems (e.g. autotools, cmake, cpan, distutils, make, meson, qmake), and can create outputs in a range of formats (e.g. debian packages, flatpak runtimes, sysroots, system images) for multiple platforms and chipsets. This package provides the documentation for BuildStream. %prep %autosetup -n %{name}-%{version} -p1 %build %py3_build pushd doc make devhelp popd %install %py3_install mkdir -p %{buildroot}%{_datadir}/gtk-doc/html/ cp -pr doc/build/devhelp %{buildroot}%{_datadir}/gtk-doc/html/BuildStream %if %{with test} %check # The following fail in koji but not in a local mock build; this seems to have # something to do with sandboxing. k="${k-}${k+ and }not test_push_pull" k="${k-}${k+ and }not test_push_pull_all" k="${k-}${k+ and }not test_pull_secondary_cache" k="${k-}${k+ and }not test_push_pull_specific_remote" k="${k-}${k+ and }not test_push_pull_non_strict" k="${k-}${k+ and }not test_push_pull_track_non_strict" k="${k-}${k+ and }not test_push_pull_cross_junction" k="${k-}${k+ and }not test_pull_missing_blob" k="${k-}${k+ and }not test_pull_access_rights" k="${k-}${k+ and }not test_push" k="${k-}${k+ and }not test_push_all" k="${k-}${k+ and }not test_push_after_pull" k="${k-}${k+ and }not test_artifact_expires" k="${k-}${k+ and }not test_artifact_too_large" k="${k-}${k+ and }not test_recently_pulled_artifact_does_not_expire" k="${k-}${k+ and }not test_push_cross_junction" k="${k-}${k+ and }not test_push_already_cached" # This test expects 'arch' to be 'x86_64' or 'x86_32', so it fails when the # builder is anything but x86_64. Even 32-bit x86 fails, as 'arch' is 'i686'. # Since the package is noarch, we just skip it unconditionally. k="${k-}${k+ and }not test_project_error" # Ignored tests would require pyftpdlib, which is not packaged %pytest -vv -k "${k-}" \ --ignore=tests/frontend/mirror.py \ --ignore=tests/sources/git.py \ --ignore=tests/sources/remote.py \ --ignore=tests/sources/tar.py \ --ignore=tests/sources/zip.py \ --ignore=tests/testutils/file_server.py \ --ignore=tests/testutils/ftp_server.py \ %dnl # Some tests fail probably due new Python 3.11 %if 0%{?fedora} >= 36 --ignore=tests/frontend/compose_splits.py \ --ignore=tests/frontend/overlaps.py \ --ignore=tests/plugins/filter.py \ --ignore=tests/sources/deb.py \ --ignore=tests/sources/pip.py \ %else %endif %endif %files %doc NEWS README.rst %license COPYING %{_bindir}/bst* %{python3_sitelib}/BuildStream-%{version}*.egg-info %{python3_sitelib}/%{name}/ %{_datadir}/bash-completion/completions/bst %{_mandir}/man1/*.1* %files docs %{_datadir}/gtk-doc %changelog * Sat Sep 30 2023 Artem Polishchuk - 1.6.9-5 - license: Convert to SPDX * Tue Sep 05 2023 Robin Lee - 1.6.9-4 - Backport a patch to fix build for Python 3.12 * Tue Jul 25 2023 Python Maint - 1.6.9-3 - Rebuilt for Python 3.12 * Wed Jul 19 2023 Fedora Release Engineering - 1.6.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Feb 21 2023 Artem Polishchuk - 1.6.9-1 - chore(update): 1.6.9 * Wed Jan 18 2023 Fedora Release Engineering - 1.6.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Oct 13 2022 Artem Polishchuk - 1.6.8-1 - chore(update): 1.6.8 * Fri Aug 12 2022 Artem Polishchuk - 1.6.7-2 - fix: Previous commit * Fri Aug 12 2022 Artem Polishchuk - 1.6.7-1 - chore(update): 1.6.7 * Wed Jul 20 2022 Fedora Release Engineering - 1.6.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sun Jul 03 2022 Artem Polishchuk - 1.6.6-1 - chore(update): 1.6.6 * Wed May 11 2022 Artem Polishchuk - 1.6.5-5 - build: Update upstream URL * Sun Mar 20 2022 Artem Polishchuk - 1.6.5-1 - chore(update): 1.6.5 * Wed Jan 19 2022 Fedora Release Engineering - 1.6.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Aug 25 2021 Artem Polishchuk - 1.6.3-1 - build(update): 1.6.3 * Wed Jul 21 2021 Fedora Release Engineering - 1.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 14 2021 Artem Polishchuk - 1.6.2-1 - build(update): 1.6.2 * Fri Jun 04 2021 Python Maint - 1.6.1-3 - Rebuilt for Python 3.10 * Tue Jan 26 2021 Fedora Release Engineering - 1.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Thu Nov 12 2020 Artem Polishchuk - 1.6.1-1 - build(update): 1.6.1 * Wed Oct 7 22:26:09 EEST 2020 Artem Polishchuk - 1.6.0-2 - build(add dep): fuse | rh#1886152 * Sat Oct 3 2020 Artem Polishchuk - 1.6.0-1 - Update to 1.6.0 * Sat Aug 15 2020 Artem Polishchuk - 1.4.3-1 - Update to 1.4.3 | Fix Python 3.8 compatibility | RH#1821245 * Mon Jul 27 2020 Fedora Release Engineering - 1.4.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue May 26 2020 Miro Hrončok - 1.4.1-3 - Rebuilt for Python 3.9 * Tue Jan 28 2020 Fedora Release Engineering - 1.4.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Sep 03 2019 Mathieu Bridon - 1.4.1-1 - Update to the latest upstream release. * Mon Aug 19 2019 Miro Hrončok - 1.2.8-3 - Rebuilt for Python 3.8 * Wed Jul 24 2019 Fedora Release Engineering - 1.2.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Jul 16 2019 Mathieu Bridon - 1.2.8-1 - Update to the latest upstream release. * Tue May 21 2019 Mathieu Bridon - 1.2.7-1 - Update to the latest upstream release. * Thu May 02 2019 Mathieu Bridon - 1.2.6-1 - Update to the latest upstream release. * Mon Apr 22 2019 Mathieu Bridon - 1.2.5-1 - Update to the latest upstream release. * Thu Feb 14 2019 Mathieu Bridon - 1.2.4-1 - Update to the latest upstream release. * Thu Jan 31 2019 Fedora Release Engineering - 1.2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Dec 17 2018 Mathieu Bridon - 1.2.3-3 - Rebuild with the new release tarball https://gitlab.com/BuildStream/buildstream/issues/820 - Remove brackets around command macros, to avoid future annoyance if I add arguments to them. * Mon Dec 17 2018 Mathieu Bridon - 1.2.3-2 - Make buildstream work with click 7. * Fri Oct 05 2018 Mathieu Bridon - 1.2.3-1 - Update to the latest upstream release. * Mon Sep 24 2018 Mathieu Bridon - 1.2.2-1 - Update to the latest upstream release. * Sun Sep 23 2018 Mathieu Bridon - 1.2.1-2 - Add back the blessings dependency. https://gitlab.com/BuildStream/buildstream/merge_requests/821 * Fri Sep 21 2018 Mathieu Bridon - 1.2.1-1 - Update to the latest upstream release. * Mon Sep 03 2018 Mathieu Bridon - 1.2.0-1 - Update to the latest upstream release. * Fri Aug 24 2018 Mathieu Bridon - 1.1.7.1 - Update to the latest upstream release. * Tue Aug 14 2018 Mathieu Bridon - 1.1.6-2 - Set the minimum required version of python3-blessings. https://gitlab.com/BuildStream/buildstream/merge_requests/663 * Tue Aug 14 2018 Mathieu Bridon - 1.1.6-1 - Update to the latest upstream release. * Mon Aug 06 2018 Mathieu Bridon - 1.1.5-1 - Update to the latest upstream release. - Add some optional dependencies. * Sat Aug 04 2018 Mathieu Bridon - 1.1.4-1 - Initial package for fedora.