|
|
|
@@ -1,31 +1,22 @@
|
|
|
|
|
Name: fmf
|
|
|
|
|
Version: 0.11
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Name: fmf
|
|
|
|
|
Version: 1.7.0
|
|
|
|
|
Release: 6%{?dist}
|
|
|
|
|
|
|
|
|
|
Summary: Flexible Metadata Format
|
|
|
|
|
License: GPLv2+
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
Summary: Flexible Metadata Format
|
|
|
|
|
License: GPL-2.0-or-later
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
URL: https://github.com/psss/fmf
|
|
|
|
|
Source0: https://github.com/psss/fmf/releases/download/%{version}/fmf-%{version}.tar.gz
|
|
|
|
|
URL: https://github.com/teemtee/fmf
|
|
|
|
|
Source: %{pypi_source fmf}
|
|
|
|
|
|
|
|
|
|
# Depending on the distro, we set some defaults.
|
|
|
|
|
# Note that the bcond macros are named for the CLI option they create.
|
|
|
|
|
# "%%bcond_without" means "ENABLE by default and create a --without option"
|
|
|
|
|
# Main fmf package requires the Python module
|
|
|
|
|
BuildRequires: python3-devel
|
|
|
|
|
BuildRequires: python3dist(docutils)
|
|
|
|
|
BuildRequires: git-core
|
|
|
|
|
Requires: git-core
|
|
|
|
|
|
|
|
|
|
# Fedora or RHEL 8+
|
|
|
|
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
|
|
|
|
%bcond_with oldreqs
|
|
|
|
|
%bcond_with englocale
|
|
|
|
|
%else
|
|
|
|
|
# The automatic runtime dependency generator doesn't exist yet
|
|
|
|
|
%bcond_without oldreqs
|
|
|
|
|
# The C.UTF-8 locale doesn't exist, Python defaults to C (ASCII)
|
|
|
|
|
%bcond_without englocale
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Main tmt package requires the Python module
|
|
|
|
|
Requires: python%{python3_pkgversion}-%{name} == %{version}-%{release}
|
|
|
|
|
Obsoletes: python3-fmf < %{version}-%{release}
|
|
|
|
|
%py_provides python3-fmf
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
The fmf Python module and command line tool implement a flexible
|
|
|
|
@@ -33,78 +24,202 @@ format for defining metadata in plain text files which can be
|
|
|
|
|
stored close to the source code. Thanks to hierarchical structure
|
|
|
|
|
with support for inheritance and elasticity it provides an
|
|
|
|
|
efficient way to organize data into well-sized text documents.
|
|
|
|
|
This package contains the command line tool.
|
|
|
|
|
|
|
|
|
|
%?python_enable_dependency_generator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
Summary: %{summary}
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-pytest
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-PyYAML
|
|
|
|
|
BuildRequires: git-core
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
|
|
|
|
%if %{with oldreqs}
|
|
|
|
|
Requires: python%{python3_pkgversion}-PyYAML
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
The fmf Python module and command line tool implement a flexible
|
|
|
|
|
format for defining metadata in plain text files which can be
|
|
|
|
|
stored close to the source code. Thanks to hierarchical structure
|
|
|
|
|
with support for inheritance and elasticity it provides an
|
|
|
|
|
efficient way to organize data into well-sized text documents.
|
|
|
|
|
This package contains the Python 3 module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup
|
|
|
|
|
%autosetup -p1 -n fmf-%{version}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%generate_buildrequires
|
|
|
|
|
%pyproject_buildrequires -x tests %{?epel:-w}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%if %{with englocale}
|
|
|
|
|
export LANG=en_US.utf-8
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%py3_build
|
|
|
|
|
%pyproject_wheel
|
|
|
|
|
cp docs/header.txt man.rst
|
|
|
|
|
tail -n+7 README.rst >> man.rst
|
|
|
|
|
rst2man man.rst > fmf.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%if %{with englocale}
|
|
|
|
|
export LANG=en_US.utf-8
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%py3_install
|
|
|
|
|
%pyproject_install
|
|
|
|
|
%pyproject_save_files fmf
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_mandir}/man1
|
|
|
|
|
install -pm 644 fmf.1* %{buildroot}%{_mandir}/man1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
%if %{with englocale}
|
|
|
|
|
export LANG=en_US.utf-8
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%{__python3} -m pytest -vv -m 'not web'
|
|
|
|
|
%pyproject_check_import
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%{!?_licensedir:%global license %%doc}
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%files -f %{pyproject_files}
|
|
|
|
|
%{_mandir}/man1/*
|
|
|
|
|
%{_bindir}/%{name}
|
|
|
|
|
%doc README.rst examples
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
%{python3_sitelib}/%{name}/
|
|
|
|
|
%{python3_sitelib}/%{name}-*.egg-info
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-6
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1.7.0-5
|
|
|
|
|
- Rebuilt for Python 3.14.0rc3 bytecode
|
|
|
|
|
|
|
|
|
|
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1.7.0-4
|
|
|
|
|
- Rebuilt for Python 3.14.0rc2 bytecode
|
|
|
|
|
|
|
|
|
|
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Jun 04 2025 Python Maint <python-maint@redhat.com> - 1.7.0-2
|
|
|
|
|
- Rebuilt for Python 3.14
|
|
|
|
|
|
|
|
|
|
* Fri Mar 07 2025 Packit <hello@packit.dev> - 1.7.0-1
|
|
|
|
|
- Update to version 1.7.0
|
|
|
|
|
|
|
|
|
|
* Fri Jan 17 2025 Packit <hello@packit.dev> - 1.6.1-1
|
|
|
|
|
- Update to version 1.6.1
|
|
|
|
|
|
|
|
|
|
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jan 07 2025 Packit <hello@packit.dev> - 1.6.0-1
|
|
|
|
|
- Update to version 1.6.0
|
|
|
|
|
|
|
|
|
|
* Wed Dec 04 2024 Packit <hello@packit.dev> - 1.5.0-1
|
|
|
|
|
- Update to version 1.5.0
|
|
|
|
|
|
|
|
|
|
* Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 1.4.1-3
|
|
|
|
|
- convert license to SPDX
|
|
|
|
|
|
|
|
|
|
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jun 17 2024 Lukáš Zachar <lzachar@redhat.com> - 1.4.1-1
|
|
|
|
|
- Use local dict instead of modifying `locals()`
|
|
|
|
|
|
|
|
|
|
* Wed Jun 05 2024 Petr Šplíchal <psplicha@redhat.com> - 1.4.0-1
|
|
|
|
|
- Introduce a new page for release notes
|
|
|
|
|
- Extend the `filter()` documentation slightly
|
|
|
|
|
- Implement the '~' merge operation
|
|
|
|
|
- Support escaping `|` and `&` in `utils.filter()`
|
|
|
|
|
- Accept additional rules in the `adjust()` call (#230)
|
|
|
|
|
- Avoid `copy()` calls in `adjust()`
|
|
|
|
|
- Directive `select` to control node selection
|
|
|
|
|
- Allow filtering based on the node name
|
|
|
|
|
- Drop epel-8
|
|
|
|
|
- Fix github action
|
|
|
|
|
- Remove travis.yaml
|
|
|
|
|
- Turn schema validation method into a stand-alone function
|
|
|
|
|
- Limit number of tests run for integration with tmt (#225)
|
|
|
|
|
- Add a `Toolbelt Catalog` entry for `fmf`
|
|
|
|
|
|
|
|
|
|
* Fri Sep 29 2023 Petr Šplíchal <psplicha@redhat.com> - 1.3.0-1
|
|
|
|
|
- Allow case-insensitive context matching
|
|
|
|
|
- Move the copr repository to the `teemtee` group
|
|
|
|
|
- Fix missing file require for unit tests
|
|
|
|
|
- Add callback to adjust() to make it observable by callers
|
|
|
|
|
- Drop support for `el-8` and `python-3.6`
|
|
|
|
|
- Fix docs building on readthedocs
|
|
|
|
|
- Install `yq` needed for `tmt` integration tests
|
|
|
|
|
- Include `srpm_build_deps` in the packit config
|
|
|
|
|
- Remove `metadata` from Packit config
|
|
|
|
|
- Add missing build job to Packit config
|
|
|
|
|
- Update pre-commit checks to the latest versions
|
|
|
|
|
- Require `fmf` in tests, remove obsolete coverage
|
|
|
|
|
- Fix a typo in the merging minus sign documentation
|
|
|
|
|
|
|
|
|
|
* Thu Jul 21 2022 Lukáš Zachar <lzachar@redhat.com> - 1.2.1-1
|
|
|
|
|
- Retry if shallow clone fails
|
|
|
|
|
|
|
|
|
|
* Tue Jul 19 2022 Lukáš Zachar <lzachar@redhat.com> - 1.2.0-1
|
|
|
|
|
- Shallow git clone if no reference is used
|
|
|
|
|
- Select by the source of object
|
|
|
|
|
- Enable the flake8 check, fix detected issues
|
|
|
|
|
- Make when in adjust optional, add true|false expr.
|
|
|
|
|
- Version as fmf flag and module attribute
|
|
|
|
|
|
|
|
|
|
* Wed Jun 08 2022 Lukáš Zachar <lzachar@redhat.com> - 1.1.0-1
|
|
|
|
|
- Implement a directive for disabling inheritance
|
|
|
|
|
- Add support for prepending items during merging
|
|
|
|
|
- Explicitly convert context value to string
|
|
|
|
|
- Workaround s390x ruamel read issue
|
|
|
|
|
- Support reference schemas in validation function
|
|
|
|
|
- Add JSON Schema validation method
|
|
|
|
|
- Fixes blocking with symbolic link loops
|
|
|
|
|
- Use a better way to detect the default git branch
|
|
|
|
|
- Add unit tests for comma operator in context rules
|
|
|
|
|
- Add examples demonstrating the context syntax
|
|
|
|
|
|
|
|
|
|
* Thu Nov 11 2021 Petr Šplíchal <psplicha@redhat.com> - 1.0.0-1
|
|
|
|
|
- Migrate yaml parsing to ruamel.yaml
|
|
|
|
|
- Drop support for Python 2
|
|
|
|
|
- Add extra requires and enable readthedocs config (#143)
|
|
|
|
|
- Filter accept value with a colon
|
|
|
|
|
- Adjust style to fix issues revealed by pre-commit
|
|
|
|
|
- Enable pre-commit, update contribution docs
|
|
|
|
|
- Disable integration testing with tmt for centos-7
|
|
|
|
|
|
|
|
|
|
* Thu Apr 15 2021 Petr Šplíchal <psplicha@redhat.com> - 0.16.0-1
|
|
|
|
|
- Add support for empty files and virtual nodes
|
|
|
|
|
- Change outcome of CannotDecide operations
|
|
|
|
|
- Enable copr builds from master for epel-7 as well
|
|
|
|
|
- Define dict method to get child or data item
|
|
|
|
|
- Keep original adjust rules when adjusting nodes
|
|
|
|
|
- Use a deep copy when storing raw node data
|
|
|
|
|
- Fix warnings in pytest
|
|
|
|
|
|
|
|
|
|
* Fri Mar 26 2021 Petr Šplíchal <psplicha@redhat.com> - 0.15.2-1
|
|
|
|
|
- Do not use mutable objects as default arguments
|
|
|
|
|
- A bunch of adjustments for the epel-7 build
|
|
|
|
|
|
|
|
|
|
* Wed Mar 24 2021 Petr Šplíchal <psplicha@redhat.com> - 0.15-1
|
|
|
|
|
- Implement the new 'fmf clean' command
|
|
|
|
|
- Functions to manipulate cache
|
|
|
|
|
- Fetch the whole tree using utils.fetch_tree()
|
|
|
|
|
- Raise FileException on duplicate YAML keys
|
|
|
|
|
- Allow to set desired cache location
|
|
|
|
|
- Adjust support for storing modified data to disk
|
|
|
|
|
- Add support for storing modified metadata to disk
|
|
|
|
|
- Prevent exploring tests in the tmt directory
|
|
|
|
|
- Simplify special distro comparison examples
|
|
|
|
|
- Store command output in run(), fetch() exceptions
|
|
|
|
|
- Use filelock for locking, expand test coverage
|
|
|
|
|
- Adjust locking for Tree.node() and utils.fetch()
|
|
|
|
|
- Use locking to checkout/read tree
|
|
|
|
|
- Enable integration testing with tmt, some cleanup
|
|
|
|
|
- Implement a new method copy() for cloning nodes
|
|
|
|
|
- Adjust fetch() with custom destination and env
|
|
|
|
|
- Support calls fetch(destination, env) and run(env)
|
|
|
|
|
- Use the origin default branch instead of master
|
|
|
|
|
- Store commit hash if the tree is under a git repo
|
|
|
|
|
|
|
|
|
|
* Tue Jan 12 2021 Petr Šplíchal <psplicha@redhat.com> - 0.14-1
|
|
|
|
|
- Adjust context docs, fix typos, style cleanup
|
|
|
|
|
- Left vs Right side in Context matches
|
|
|
|
|
- Simplify deep merging, adjust test suite a bit
|
|
|
|
|
- Implement recursive merging of data
|
|
|
|
|
- Remove the duplicate build job from packit config
|
|
|
|
|
- Adjust 'make test' to work under virtualenv
|
|
|
|
|
- Update the adjust continue key default to True
|
|
|
|
|
|
|
|
|
|
* Wed Nov 18 2020 Petr Šplíchal <psplicha@redhat.com> - 0.13-1
|
|
|
|
|
- Enable copr builds from master, simplify config
|
|
|
|
|
- Adjust documentation for the new Context class
|
|
|
|
|
- Add documentation for the new Context class
|
|
|
|
|
- Add a new Tree.adjust() method for handling rules
|
|
|
|
|
- Context: Better operator names, comments
|
|
|
|
|
- Adjust the new Context implementation
|
|
|
|
|
- Context implementation
|
|
|
|
|
|
|
|
|
|
* Thu Jun 04 2020 Petr Šplíchal <psplicha@redhat.com> - 0.12-1
|
|
|
|
|
- Do git pull in utils.fetch
|
|
|
|
|
- Make fetch._run official as utils.run
|
|
|
|
|
|
|
|
|
|
* Tue Mar 17 2020 Petr Šplíchal <psplicha@redhat.com> - 0.11-2
|
|
|
|
|
- Enable back python2-fmf subpackage for RHEL7
|
|
|
|
|
|
|
|
|
|
* Fri Feb 14 2020 Petr Šplíchal <psplicha@redhat.com> - 0.11-1
|
|
|
|
|
- Add git to BuildRequires (now required by tests)
|
|
|
|
|
- Use coveralls to report coverage results
|
|
|
|
|