2 Commits

Author SHA1 Message Date
Petr Šplíchal 83f72eb381 Version bump and changelog entry for 0.5 2018-06-12 12:31:32 +02:00
Petr Šplíchal 5ef18e859d Initial fmf import [BZ#1575645] 2018-05-10 14:32:59 +02:00
6 changed files with 149 additions and 312 deletions
+1 -4
View File
@@ -1,4 +1 @@
/fmf-1.5.0.tar.gz
/fmf-1.6.0.tar.gz
/fmf-1.6.1.tar.gz
/fmf-1.7.0.tar.gz
/fmf-0.4.tar.gz
-80
View File
@@ -1,80 +0,0 @@
specfile_path: fmf.spec
files_to_sync:
- fmf.spec
- .packit.yaml
upstream_package_name: fmf
downstream_package_name: fmf
# Epel9 fails to build because of too old version of setuptools_scm
# Need to create archive with PKG-INFO
actions:
create-archive:
- "hatch build -t sdist"
- "sh -c 'echo dist/fmf-*.tar.gz'"
get-current-version:
- hatch version
# Common definitions
_:
# Copr setup
- &copr
list_on_homepage: True
preserve_project: True
owner: "@teemtee"
# Supported targets
- targets: &targets
- fedora-all
- epel-9
- epel-10
srpm_build_deps:
- hatch
jobs:
# Build pull requests
- job: copr_build
trigger: pull_request
targets: *targets
# Test pull requests
- job: tests
trigger: pull_request
targets: *targets
# Build commits merged to main (copr latest)
- job: copr_build
trigger: commit
branch: main
targets: *targets
<<: *copr
project: latest
release_suffix: "{PACKIT_PROJECT_BRANCH}"
# Build release (copr stable)
- job: copr_build
trigger: release
targets: *targets
<<: *copr
project: stable
# Propose downstream pull requests
- job: propose_downstream
trigger: release
dist_git_branches: *targets
# Build in Koji
- job: koji_build
trigger: commit
allowed_pr_authors: ["packit", "all_committers"]
allowed_committers: ["packit", "all_committers"]
dist_git_branches: *targets
# Create bodhi updates
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched
- epel-9
- epel-10
-3
View File
@@ -1,3 +0,0 @@
# fmf
The fmf package
-3
View File
@@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.2.0.post1.dev3+g3adf9afe.
+147 -221
View File
@@ -1,22 +1,49 @@
Name: fmf
Version: 1.7.0
Release: 1%{?dist}
Name: fmf
Version: 0.5
Release: 1%{?dist}
Summary: Flexible Metadata Format
License: GPL-2.0-or-later
BuildArch: noarch
Summary: Flexible Metadata Format
License: GPLv2+
BuildArch: noarch
URL: https://github.com/teemtee/fmf
Source: %{pypi_source fmf}
URL: https://github.com/psss/fmf
Source: https://github.com/psss/fmf/releases/download/%{version}/fmf-%{version}.tar.gz
# Main fmf package requires the Python module
BuildRequires: python3-devel
BuildRequires: python3dist(docutils)
BuildRequires: git-core
Requires: git-core
Obsoletes: python3-fmf < %{version}-%{release}
%py_provides python3-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"
# 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}
%else
Requires: python%{python3_pkgversion}-%{name}
%endif
%description
The fmf Python module and command line tool implement a flexible
@@ -24,235 +51,134 @@ 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
# 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
%{?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.
%endif
%prep
%autosetup -p1 -n fmf-%{version}
%generate_buildrequires
%pyproject_buildrequires -x tests %{?epel:-w}
%setup -q
%build
%pyproject_wheel
cp docs/header.txt man.rst
tail -n+7 README.rst >> man.rst
rst2man man.rst > fmf.1
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
%pyproject_install
%pyproject_save_files fmf
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
%pyproject_check_import
export LANG=en_US.utf-8
%if %{with python2}
%{__python2} -m pytest -vv
%endif
%if %{with python3}
%{__python3} -m pytest -vv
%endif
%files -f %{pyproject_files}
%{!?_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 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
* 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
* 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
- 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]
- Ignore metadata subtrees [fix #43]
- Support for direct deep dictionary value retrieval
- Separate exception for missing tree root [fix #42]
- Move data merging into a separate method [fix #41]
- Ensure that data or parent are provided for Tree
- Test coverage for yaml syntax and finding root
- Do not walk through the whole directory hierarchy
- Example typo, handle yaml parse errors [fix #38]
- Require the same version of the rpm package
* Tue Jun 12 2018 Petr Šplíchal <psplicha@redhat.com> 0.5-1
- Add support for subcommands [fix #32]
- Define metadata tree root [fix #26]
+1 -1
View File
@@ -1 +1 @@
SHA512 (fmf-1.7.0.tar.gz) = b78fa3730da01ce13dbb09c54e9e3977c26e90f6d4f13ffbc166f88d040adf7931fe6759c3de991ec8a261b676d8825f44517e417523693aae7e76f9b4557222
SHA512 (fmf-0.4.tar.gz) = bdd8e5f8adb097f32e107132cc5863b4f5cc561b0d4497f05b85b3bc25413c2ee3482d00236f8646f3a34601d4e6570748249ce8f5b9a65fb3caca0502595d31