From 7d990cc3d264470d573de611577344d24024eedf Mon Sep 17 00:00:00 2001 From: Jakub Kadlcik Date: Tue, 9 Feb 2021 23:21:58 +0100 Subject: [PATCH] Update modulemd-tools to 0.7-1 --- .gitignore | 1 + ...ls-quote-stream-fields-in-test-suite.patch | 130 ------------------ ...temporarily-skip-some-tests-on-EPEL8.patch | 70 ---------- modulemd-tools.spec | 55 ++++---- sources | 2 +- 5 files changed, 30 insertions(+), 228 deletions(-) delete mode 100644 0001-modulemd_tools-quote-stream-fields-in-test-suite.patch delete mode 100644 0002-modulemd_tools-temporarily-skip-some-tests-on-EPEL8.patch diff --git a/.gitignore b/.gitignore index 1aeb818..f6838ee 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /modulemd-tools-0.4.tar.gz /modulemd-tools-0.5.tar.gz /modulemd-tools-0.6.tar.gz +/modulemd-tools-0.7.tar.gz diff --git a/0001-modulemd_tools-quote-stream-fields-in-test-suite.patch b/0001-modulemd_tools-quote-stream-fields-in-test-suite.patch deleted file mode 100644 index 435e8e9..0000000 --- a/0001-modulemd_tools-quote-stream-fields-in-test-suite.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 07847343ebab93d6a5b5f5311ed50f8525d43594 Mon Sep 17 00:00:00 2001 -From: Jakub Kadlcik -Date: Wed, 13 Jan 2021 01:37:35 +0100 -Subject: [PATCH 1/2] modulemd_tools: quote stream fields in test suite - -Somewhere between `python3-libmodulemd-2.11.1` and `python3-libmodulemd-2.9.3` -the `Modulemd.ModuleStream.read_string` or `Modulemd.ModuleStream.upgrade` -output changed and is now quoted, which breaks our tests: - - - stream: "devel" - ? - - - + stream: devel - -I can see those functions are deprecated now, so we will migrate to something -newer soon. This is just a temporary fix. ---- - modulemd_tools/tests/test_yaml.py | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/modulemd_tools/tests/test_yaml.py b/modulemd_tools/tests/test_yaml.py -index 551b97d876d2e439a70492f5dec65622b8258880..ed5520cc86ded2e67994aa79ef8eeace9e7432ae 100644 ---- a/modulemd_tools/tests/test_yaml.py -+++ b/modulemd_tools/tests/test_yaml.py -@@ -380,11 +380,11 @@ class TestYaml(unittest.TestCase): - yaml1 = """--- - document: modulemd - version: 2 - data: - name: foo -- stream: devel -+ stream: "devel" - version: 123 - context: f32 - summary: Summary and stuff - description: >- - This module has been generated using dir2module tool -@@ -413,11 +413,11 @@ data: - yaml2_invalid = """ - --- - document: modulemd - version: 2 - data: -- stream: devel -+ stream: "devel" - version: 123 - context: f32 - summary: Summary and stuff - description: >- - This module has been generated using dir2module tool -@@ -444,11 +444,11 @@ yaml3_no_deps = """ - --- - document: modulemd - version: 2 - data: - name: foo -- stream: devel -+ stream: "devel" - version: 123 - context: f32 - summary: Summary and stuff - description: >- - This module has been generated using dir2module tool -@@ -514,11 +514,11 @@ yaml5_multiple_streams = """ - --- - document: modulemd - version: 2 - data: - name: foo -- stream: master -+ stream: "master" - version: 1 - summary: A test module in all its beautiful beauty - description: >- - Some description - license: -@@ -528,11 +528,11 @@ data: - --- - document: modulemd - version: 2 - data: - name: foo -- stream: stable -+ stream: "stable" - version: 123 - context: f32 - summary: Summary and stuff - description: >- - This module has been generated using dir2module tool -@@ -548,11 +548,11 @@ yaml5_multiple_modules = """ - --- - document: modulemd - version: 2 - data: - name: foo -- stream: master -+ stream: "master" - version: 1 - summary: A test module in all its beautiful beauty - description: >- - Some description - license: -@@ -562,11 +562,11 @@ data: - --- - document: modulemd - version: 2 - data: - name: bar -- stream: stable -+ stream: "stable" - version: 123 - context: f32 - summary: Summary and stuff - description: >- - This module has been generated using dir2module tool -@@ -582,11 +582,11 @@ yaml6_multiple_pairs_of_deps = """ - --- - document: modulemd - version: 2 - data: - name: foo -- stream: master -+ stream: "master" - version: 1 - summary: A test module in all its beautiful beauty - description: >- - Some description - license: --- -2.29.2 - diff --git a/0002-modulemd_tools-temporarily-skip-some-tests-on-EPEL8.patch b/0002-modulemd_tools-temporarily-skip-some-tests-on-EPEL8.patch deleted file mode 100644 index 5abb45a..0000000 --- a/0002-modulemd_tools-temporarily-skip-some-tests-on-EPEL8.patch +++ /dev/null @@ -1,70 +0,0 @@ -From b6557cd10bdae6a839c56ef455020e82eb0e5988 Mon Sep 17 00:00:00 2001 -From: Jakub Kadlcik -Date: Wed, 13 Jan 2021 15:06:16 +0100 -Subject: [PATCH 2/2] modulemd_tools: temporarily skip some tests on EPEL8 - ---- - modulemd_tools/tests/test_yaml.py | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/modulemd_tools/tests/test_yaml.py b/modulemd_tools/tests/test_yaml.py -index ed5520cc86ded2e67994aa79ef8eeace9e7432ae..b079f65304cadb229fc475d8314f2c6233a7137a 100644 ---- a/modulemd_tools/tests/test_yaml.py -+++ b/modulemd_tools/tests/test_yaml.py -@@ -1,13 +1,29 @@ - import os - import unittest - from unittest import mock - from parameterized import parameterized - import yaml -+from distutils.version import LooseVersion - from modulemd_tools.yaml import (is_valid, validate, create, update, dump, - upgrade, _yaml2stream, _stream2yaml) - -+import gi -+gi.require_version("Modulemd", "2.0") -+from gi.repository import Modulemd -+ -+ -+def old_libmodulemd(): -+ """ -+ Reading YAML string via `Modulemd.ModuleStream.read_string` and dumping it -+ again encapsulates its value in double-quotes, and it messes up with some of -+ our tests (since the older version does exactly the opposite). Let's just -+ skip those few test on EPEL8 until it receives an update. -+ See also `080e2bb` -+ """ -+ return LooseVersion(Modulemd.get_version()) < LooseVersion("2.11.1") -+ - - class TestYaml(unittest.TestCase): - - def test_is_valid(self): - self.assertTrue(is_valid(yaml1)) -@@ -298,10 +314,11 @@ class TestYaml(unittest.TestCase): - self.assertEqual(mod_stream.get_mdversion(), 2) - self.assertEqual(mod_stream.get_module_name(), "") - self.assertEqual(mod_stream.get_summary(), - "A test module in all its beautiful beauty") - -+ @unittest.skipIf(old_libmodulemd(), "Old modulemd drops stream value quotes") - def test_upgrade_to_same_version(self): - result = upgrade(yaml1, 2) - self.assertEqual(result, yaml1) - - def test_upgrade_cannot_downgrade(self): -@@ -364,10 +381,11 @@ class TestYaml(unittest.TestCase): - with self.assertRaises(ValueError) as context: - _yaml2stream(yaml5_multiple_modules) - self.assertIn("YAML contained more than a single subdocument", - str(context.exception)) - -+ @unittest.skipIf(old_libmodulemd(), "Old modulemd drops stream value quotes") - def test_stream2yaml(self): - mod_stream = _yaml2stream(yaml1) - self.assertEqual(_stream2yaml(mod_stream), yaml1) - - mod_stream.set_summary(None) --- -2.29.2 - diff --git a/modulemd-tools.spec b/modulemd-tools.spec index 82b195b..1bf1f59 100644 --- a/modulemd-tools.spec +++ b/modulemd-tools.spec @@ -1,6 +1,6 @@ Name: modulemd-tools -Version: 0.6 -Release: 3%{?dist} +Version: 0.7 +Release: 1%{?dist} Summary: Collection of tools for parsing and generating modulemd YAML files License: MIT BuildArch: noarch @@ -12,34 +12,25 @@ BuildRequires: createrepo_c BuildRequires: argparse-manpage BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: python3-gobject-base BuildRequires: python3-libmodulemd >= 2.9.3 BuildRequires: python3-click -%if ! 0%{?rhel} BuildRequires: python3-click-man -%endif BuildRequires: python3-dnf BuildRequires: python3-hawkey BuildRequires: python3-createrepo_c BuildRequires: python3-pyyaml BuildRequires: python3-parameterized +BuildRequires: python3-pytest -Requires: libmodulemd >= 2 Requires: createrepo_c Requires: python3-click Requires: python3-dnf Requires: python3-hawkey Requires: python3-createrepo_c Requires: python3-pyyaml -Requires: python3-gobject-base Requires: python3-libmodulemd >= 2.9.3 -# Upstream patches to fix compilation against libmodulemd 2.12 -Patch0001: 0001-modulemd_tools-quote-stream-fields-in-test-suite.patch -Patch0002: 0002-modulemd_tools-temporarily-skip-some-tests-on-EPEL8.patch - - %description Tools provided by this package: @@ -63,7 +54,7 @@ modulemd-generate-macros - Generate module-build-macros SRPM package, which is %prep -%autosetup -p1 +%setup -q %build @@ -71,11 +62,11 @@ cd repo2module %py3_build cd .. -# There is a missing python3-click-man package for EPEL8 and therefore we cannot -# generate the manpages on the fly. They are temporarily commited into git repo. -# Once RHBZ 1900423 gets resolved, just uncomment the following line. Please see -# https://bugzilla.redhat.com/show_bug.cgi?id=1900423 -# PYTHONPATH=./modulemd_tools ./man/generate-manpages.sh +cd dir2module +%py3_build +cd .. + +PYTHONPATH=./modulemd_tools ./man/generate-manpages.sh %install @@ -83,7 +74,10 @@ cd repo2module %py3_install cd .. -cp dir2module/dir2module.py %{buildroot}%{_bindir}/dir2module +cd dir2module +%py3_install +cd .. + cp createrepo_mod/createrepo_mod.py %{buildroot}%{_bindir}/createrepo_mod cp modulemd-merge/modulemd-merge.py %{buildroot}%{_bindir}/modulemd-merge cp modulemd-generate-macros/modulemd-generate-macros.py \ @@ -96,9 +90,13 @@ cp man/*.1 %{buildroot}%{_mandir}/man1/ %check -%{python3} repo2module/setup.py test -cd modulemd_tools -%{python3} -m unittest +cd repo2module +%{python3} -m pytest +cd .. + +cd dir2module +%{python3} -m pytest +cd .. %files @@ -106,6 +104,8 @@ cd modulemd_tools %license LICENSE %{python3_sitelib}/repo2module %{python3_sitelib}/repo2module-*.egg-info/ +%{python3_sitelib}/dir2module +%{python3_sitelib}/dir2module-*.egg-info/ %{_bindir}/repo2module %{_bindir}/dir2module %{_bindir}/createrepo_mod @@ -121,11 +121,12 @@ cd modulemd_tools %changelog -* Tue Jan 26 2021 Fedora Release Engineering - 0.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Stephen Gallagher 0.6-2 -- Fix build against libmodulemd-2.12 +* Tue Feb 09 2021 Jakub Kadlcik 0.7-1 +- Generate manpages on the fly +- Automated test builds incl. Docker/Travis +- Fix PEP8 in all tools +- modulemd_tools: temporarily skip some tests on EPEL8 or Fedora +- Drop libmodulemd dependency in favor of python3-libmodulemd * Sun Nov 22 2020 Jakub Kadlcik 0.6-1 - Generate manpages for all tools in this repository diff --git a/sources b/sources index d057db3..3f55a5c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (modulemd-tools-0.6.tar.gz) = 260c817fff9e58591f72b8ea700abe0b6462e2e5e0ae4e08db4dc4861a00f77100fae9f50f1a375bea29fab75d6298a874ae503526442617f4e00d7e90d368d4 +SHA512 (modulemd-tools-0.7.tar.gz) = ef0de75c87d36d4222be72ce99d64e43dd0de65a1a4ddeed9d901546612ac483c8724f18fb1e737a8c6d3d145531ea7ecd6703479c69bd0de1b6135701a19201