43 Commits

Author SHA1 Message Date
Petr Šplíchal a7010a89e8 Release fmf-1.3.0 2023-10-02 17:15:16 +02:00
Petr Šplíchal 8a7a321238 Install yq which is needed by some newer tests 2023-10-02 17:15:16 +02:00
Fedora Release Engineering b09044e488 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 19:58:35 +00:00
Python Maint 5d6455fdf3 Rebuilt for Python 3.12 2023-06-15 12:52:03 +02:00
Petr Šplíchal 237eb03c15 Update urls of the upstream test repositories 2023-02-06 15:34:11 +01:00
Miro Hrončok 0b07d69e08 Rebuilt to change Python shebangs to /usr/bin/python3.6 on EPEL 8
See https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject.org/thread/RE3PG72B5AX7NTACPDSBGOWCMN7I3OQJ/
2023-02-06 15:05:30 +01:00
Fedora Release Engineering 08e2b1f2cc Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 03:40:24 +00:00
Lukas Zachar 3f4f3cd4fc Release fmf-1.2.1 2022-07-21 13:22:52 +02:00
Fedora Release Engineering a3d29eef74 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 03:24:02 +00:00
Lukas Zachar 3be47d6c62 Release fmf-1.2.0 2022-07-19 11:25:05 +02:00
Python Maint 2238afd687 Rebuilt for Python 3.11 2022-06-13 19:48:34 +02:00
Petr Šplíchal d8668428d8 Run Tier 1 integration tests to speed up testing
The whole Tier 2 coverage is already executed upstream and there
is nothing special about the Fedora environment to run them again.
2022-06-09 18:06:56 +02:00
Lukas Zachar e51e5a69ba Release fmf-1.1.0 2022-06-08 18:46:45 +02:00
Fedora Release Engineering 502cfa3c19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 03:13:16 +00:00
Petr Šplíchal 379f3f2e67 Release fmf-1.0.0 2021-11-11 11:52:36 +01:00
Petr Šplíchal 33cfb90cb4 Report test results as separate plans 2021-10-11 10:50:04 +02:00
Fedora Release Engineering ee1cb0b758 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 23:10:12 +00:00
Python Maint 9cbe1d61af Rebuilt for Python 3.10 2021-06-04 20:04:25 +02:00
Petr Šplíchal 355f7f75db Release fmf-0.16.0 2021-04-15 11:38:00 +02:00
Petr Šplíchal 7e8d112424 Release fmf-0.15.2 2021-03-26 17:14:57 +01:00
Petr Šplíchal f8100e7d02 Enable tests from the upstream fmf and tmt repos 2021-03-11 21:08:13 +01:00
Fedora Release Engineering 784624a9bd - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 05:44:38 +00:00
Petr Šplíchal 918c865653 Release fmf-0.14 2021-01-12 14:43:39 +01:00
Petr Šplíchal 9767318eeb Release fmf-0.13 2020-11-18 14:34:14 +01:00
Fedora Release Engineering 7983db5a1f - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 17:39:11 +00:00
Petr Šplíchal a6118fc118 Release fmf-0.12 2020-06-04 10:24:19 +02:00
Miro Hrončok d37ca15647 Rebuilt for Python 3.9 2020-05-26 02:45:34 +02:00
Petr Šplíchal 57c6a47097 Enable back python2-fmf subpackage for RHEL7 2020-03-17 12:00:13 +01:00
Petr Šplíchal aaf2333547 Use a single spec for all branches (merge epel8) 2020-02-15 18:36:53 +01:00
Petr Šplíchal 5c7c4b4d3e Import fmf-0.11 2020-02-15 18:10:58 +01:00
Fedora Release Engineering 24f4c8687c - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 18:45:29 +00:00
Petr Šplíchal 0ed7e99de4 Remove package.cfg 2019-10-30 22:40:17 +01:00
Petr Šplíchal ff3b1910c7 Import fmf-0.10 2019-10-30 22:39:00 +01:00
Petr Šplíchal 5910de002e Import fmf-0.10 2019-10-30 22:16:28 +01:00
Petr Šplíchal c46c09d302 Merge branch 'master' into epel8 2019-09-30 16:34:06 +02:00
Gwyn Ciesla 9321c2cdfe "Adding package.cfg file" 2019-09-30 09:23:22 -05:00
Petr Šplíchal ee037332b6 Build Python 3 packages only, bump version to 0.8 2019-09-30 13:50:09 +02:00
Miro Hrončok d0045c4ffd Rebuilt for Python 3.8 2019-08-19 10:14:01 +02:00
Petr Šplíchal f908d50d0e Version bump and changelog entry for 0.7 2019-07-26 15:07:51 +02:00
Fedora Release Engineering 74c4d4849c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 00:48:35 +00:00
Fedora Release Engineering 01e5f237f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 19:56:00 +00:00
Miro Hrončok 9777ed765a Drop Python 2 subpackage on Fedora 30+ (#1647798) 2019-01-15 20:28:56 +01:00
Zbigniew Jędrzejewski-Szmek ac375e4e67 Drop explicit locale setting
Python3 now sets unicode locale automatically, this workaround
should not be necessary anymore.
2018-11-19 00:06:37 +01:00
9 changed files with 206 additions and 113 deletions
+1
View File
@@ -0,0 +1 @@
1
+15
View File
@@ -1,3 +1,18 @@
/fmf-0.4.tar.gz
/fmf-0.5.tar.gz
/fmf-0.6.tar.gz
/fmf-0.7.tar.gz
/fmf-0.8.tar.gz
/fmf-0.10.tar.gz
/fmf-0.11.tar.gz
/fmf-0.12.tar.gz
/fmf-0.13.tar.gz
/fmf-0.14.tar.gz
/fmf-0.15.tar.gz
/fmf-0.15.2.tar.gz
/fmf-0.16.0.tar.gz
/fmf-1.0.0.tar.gz
/fmf-1.1.0.tar.gz
/fmf-1.2.0.tar.gz
/fmf-1.2.1.tar.gz
/fmf-1.3.0.tar.gz
+1
View File
@@ -0,0 +1 @@
resultsdb-testcase: separate
+159 -112
View File
@@ -1,5 +1,5 @@
Name: fmf
Version: 0.6
Version: 1.3.0
Release: 1%{?dist}
Summary: Flexible Metadata Format
@@ -7,43 +7,10 @@ License: GPLv2+
BuildArch: noarch
URL: https://github.com/psss/fmf
Source: https://github.com/psss/fmf/releases/download/%{version}/fmf-%{version}.tar.gz
Source0: https://github.com/psss/fmf/releases/download/%{version}/fmf-%{version}.tar.gz
# 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"
# Fedora (py3 executable, py2 & py3 subpackage, auto build requires)
%if 0%{?fedora}
%bcond_without python2
%bcond_without python3
%bcond_with py2executable
%bcond_with oldreqs
# RHEL6 and RHEL7 (py2 executable, py2 subpackage, manual build requires)
%else
%if 0%{?rhel} <= 7
%bcond_without python2
%bcond_with python3
%bcond_without py2executable
%bcond_without oldreqs
# RHEL8+ (py3 executable, py3 subpackage, auto build requires)
%else
%bcond_with python2
%bcond_without python3
%bcond_with py2executable
%bcond_with oldreqs
%endif
%endif
# Main fmf package requires corresponding python module
%if %{with py2executable}
Requires: python2-%{name} == %{version}-%{release}
%else
# Main fmf package requires the Python module
Requires: python%{python3_pkgversion}-%{name} == %{version}-%{release}
%endif
%description
The fmf Python module and command line tool implement a flexible
@@ -56,46 +23,17 @@ This package contains the command line tool.
%?python_enable_dependency_generator
# Python 2
%if %{with python2}
%package -n python2-%{name}
Summary: %{summary}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
%if %{with oldreqs}
BuildRequires: pytest
BuildRequires: PyYAML
%else
BuildRequires: python2dist(pytest)
BuildRequires: python2dist(pyyaml)
%endif
%{?python_provide:%python_provide python2-%{name}}
%if %{with oldreqs}
Requires: PyYAML
%endif
%description -n python2-%{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 2 module.
%endif
# Python 3
%if %{with python3}
%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: python%{python3_pkgversion}-ruamel-yaml
BuildRequires: python%{python3_pkgversion}-filelock
BuildRequires: python%{python3_pkgversion}-jsonschema
BuildRequires: git-core
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
%if %{with oldreqs}
Requires: python%{python3_pkgversion}-PyYAML
%endif
Requires: git-core
%description -n python%{python3_pkgversion}-%{name}
The fmf Python module and command line tool implement a flexible
@@ -104,81 +42,190 @@ 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.
%endif
%prep
%setup -q
%autosetup
%build
export LANG=en_US.utf-8 # for Python <= 3.6 and EPEL <= 7, but harmless
%if %{with python2}
%py2_build
%endif
%if %{with python3}
%py3_build
%endif
%install
export LANG=en_US.utf-8
%if %{with python2}
%py2_install
%endif
%if %{with python3}
%py3_install
%endif
%if %{with py2executable} && %{with python3}
rm -f %{buildroot}%{_bindir}/*
%py2_install
%endif
mkdir -p %{buildroot}%{_mandir}/man1
install -pm 644 fmf.1* %{buildroot}%{_mandir}/man1
%check
export LANG=en_US.utf-8
%if %{with python2}
%{__python2} -m pytest -vv
%endif
%if %{with python3}
%{__python3} -m pytest -vv
%endif
%{__python3} -m pytest -vv -c tests/unit/pytest.ini -m 'not web'
%{!?_licensedir:%global license %%doc}
%files
%{_mandir}/man1/*
%{_bindir}/%{name}
%doc README.rst examples
%license LICENSE
%if %{with python2}
%files -n python2-%{name}
%{python2_sitelib}/%{name}/
%{python2_sitelib}/%{name}-*.egg-info
%license LICENSE
%endif
%if %{with python3}
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*.egg-info
%license LICENSE
%endif
%changelog
* 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
- Adjust Tree.node() implementation, extend tests
- Get metadata for unique id [fix #67]
- Use the fedora-all target in packit config (#72)
- Define the full fmf identifier [fix #52]
- A minor cleanup of the concept documentation
- Always ignore special system directories
- Filesystem root and inaccessible dirs [fix #70]
- Rename the 'testsets' directory to 'plans'
* Wed Oct 30 2019 Petr Šplíchal <psplicha@redhat.com> - 0.10-1
- Mock is not needed for docs, fix missing new line
- Provide a public static method Tree.init()
* Wed Oct 09 2019 Petr Šplíchal <psplicha@redhat.com> - 0.9-1
- Support custom conjunction like 'or' in listed()
- Update smoke testset to the latest L2 spec
- Fix build conditional default for englocale
- Use raw strings for regular expression patterns
* Mon Sep 30 2019 Petr Šplíchal <psplicha@redhat.com> - 0.8-1
- Update spec to build Python 3 packages only
- Move unit tests into a separate directory
- Move testsets, include a super simple smoke test
- Initial set of stories and tests
- Enable beakerlib smoke test in the testing farm
- Add a simple beakerlib test for command line help
- Clean up the docs build folder directly
- Enable packit
* Fri Jul 26 2019 Petr Šplíchal <psplicha@redhat.com> - 0.7-1
- Support both old and new yaml loader
- Add advanced python filtering [fix #55]
- Drop explicit locale setting during build and install
- Drop Python 2 subpackage on Fedora 30+ (#1647798)
- Better handle yaml errors [fix #50]
- Support reducing attributes using the "-" suffix
- Prevent extra new lines in the show() output
- Adjust FullLoader to load all strings as unicode
- Suppress yaml warnings by specifying the loader
- Support Tree.find() for non-leaf nodes as well
* Mon Oct 08 2018 Petr Šplíchal <psplicha@redhat.com> 0.6-1
- Ignore directories with no metadata defined
- Give a nice error when .fmf file exists [fix #37]
+5
View File
@@ -0,0 +1,5 @@
prepare:
- how: install
package: fmf
execute:
how: tmt
+3
View File
@@ -0,0 +1,3 @@
summary: Minimal smoke test
execute:
script: fmf --help
+16
View File
@@ -0,0 +1,16 @@
summary: Integration with tmt
discover:
how: fmf
url: https://github.com/teemtee/tmt
ref: fedora
filter: tier:1
prepare+:
- how: install
package:
- jq
- python3-pip
- tmt-all
- how: shell
script:
- pip3 install --user yq || pip3 install yq
- yq --help
+5
View File
@@ -0,0 +1,5 @@
summary: Upstream fmf tests
discover:
how: fmf
url: https://github.com/teemtee/fmf
ref: fedora
+1 -1
View File
@@ -1 +1 @@
SHA512 (fmf-0.6.tar.gz) = 92ed3a15f9c7511e1702e41df6ccbc805c8a0428938ef064acd76f60fb60da71e424c811d1a1dc67922e2b02913a68516cd8b95c8f9b17cf821e3fca47ba4a7c
SHA512 (fmf-1.3.0.tar.gz) = e7900a67c8b18a935977c36b785a93be75c79aec48f6a4b07e6ea2613d45cb331a35884b119f4cd14a083e0b4f0b9b696dec202b90378ee7d0b74eb03ca472da