From 513902bd15a8310cd9eb691cc6247e1fdaaaa42e Mon Sep 17 00:00:00 2001 From: Maja Massarini Date: Mon, 20 Jan 2025 14:53:24 +0000 Subject: [PATCH 1/4] Update .packit.yml to support new packit release 1.0.0 `synced_files` has been substituted by [files_to_sync](https://packit.dev/docs/configuration#files_to_sync). --- .packit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.packit.yml b/.packit.yml index 16c03ed..9ec5237 100644 --- a/.packit.yml +++ b/.packit.yml @@ -6,7 +6,7 @@ upstream_tag_template: libmodulemd-{version} actions: get-current-version: ./.packit_version.sh -synced_files: +files_to_sync: - .packit.yml - .make_packit_specfile.sh - libmodulemd.spec From 97127d4cd4005ea7661a8fae1d349dcd82351abd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 9 May 2025 13:41:13 +0200 Subject: [PATCH 2/4] 2.15.1 bump --- .gitignore | 2 + libmodulemd.spec | 16 ++-- ...ting-gtk-doc-module-paths-to-the-che.patch | 96 ------------------- ...ib-documentation-path-to-GLib-2.79.0.patch | 53 ---------- ...ib-documentation-path-to-GLib-2.80.1.patch | 64 ------------- sources | 4 +- 6 files changed, 11 insertions(+), 224 deletions(-) delete mode 100644 modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch delete mode 100644 modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch delete mode 100644 modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch diff --git a/.gitignore b/.gitignore index 6034ec3..51131ca 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,5 @@ /modulemd-2.14.0.tar.xz.asc /modulemd-2.15.0.tar.xz /modulemd-2.15.0.tar.xz.asc +/modulemd-2.15.1.tar.xz +/modulemd-2.15.1.tar.xz.asc diff --git a/libmodulemd.spec b/libmodulemd.spec index 3949374..b30dc31 100644 --- a/libmodulemd.spec +++ b/libmodulemd.spec @@ -23,8 +23,8 @@ %endif Name: %{upstream_name}%{?v2_suffix} -Version: 2.15.0 -Release: 14%{?dist} +Version: 2.15.1 +Release: 1%{?dist} Summary: Module metadata manipulation library # COPYING: MIT @@ -33,19 +33,14 @@ Summary: Module metadata manipulation library # contrib/release-tools/semver: GPL-3.0-only # modulemd/tests/test_data/f29.yaml: Apache-2.0 # modulemd/tests/test_data/f29-updates.yaml: Apache-2.0 -# xml_specs/reduced/tests/good/module_stream_build_license.xml: MIT AND (MIT AND GPL-3.0-or-later) +# xml_specs/reduced/tests/good/module_stream_build_license.xml: MIT AND GPL-3.0-or-later License: MIT +SourceLicense: %{license} AND GPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND Apache-2.0 URL: https://github.com/fedora-modularity/libmodulemd Source0: %{url}/releases/download/%{version}/modulemd-%{version}.tar.xz Source1: %{url}/releases/download/%{version}/modulemd-%{version}.tar.xz.asc # Key exported from Petr Pisar's keyring Source2: gpgkey-E3F42FCE156830A80358E6E94FD1AEC3365AF7BF.gpg -# Fix building with glib2-doc 2.79.0, in upstream after 2.15.0 -Patch0: modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch -Patch1: modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch -# Fix building with glib2-doc 2.80.1, in upstream after 2.15.0, -# . -Patch2: modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch BuildRequires: gnupg2 BuildRequires: meson >= 0.47 @@ -194,6 +189,9 @@ mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \ %changelog +* Fri May 09 2025 Petr Pisar - 2.15.1-1 +- 2.15.1 bump + * Thu Jul 18 2024 Fedora Release Engineering - 2.15.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch b/modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch deleted file mode 100644 index 8ab92f1..0000000 --- a/modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 9d2809090cc0cccd7bab67453dc00cf43a289082 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Fri, 26 Jan 2024 15:44:39 +0100 -Subject: [PATCH 1/2] build: Move computing gtk-doc module paths to the check - place -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A checks and an application of extra directories for gtkdoc-fixxref -were computed independetly. This patch removes the code duplication. -It also adds the discovered path to a "meson setup" summary output. - -Signed-off-by: Petr Písař ---- - meson.build | 25 ++++++++++++------------- - modulemd/meson.build | 9 +++++---- - 2 files changed, 17 insertions(+), 17 deletions(-) - -diff --git a/meson.build b/meson.build -index a5d1330..0b32f4d 100644 ---- a/meson.build -+++ b/meson.build -@@ -67,23 +67,21 @@ sed = find_program('sed') - test = find_program('test') - - with_docs = get_option('with_docs') -+gtk_doc_referred_paths = [] - if with_docs - gtkdoc = dependency('gtk-doc') - glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') - -- glib_index_path = join_paths(glib_docpath, 'glib/index.html') -- ret = run_command ([test, '-e', glib_index_path], -- check: false) -- if ret.returncode() != 0 -- error('Missing documentation for GLib: @0@'.format(glib_index_path)) -- endif -- -- gobject_index_path = join_paths(glib_docpath, 'gobject/index.html') -- ret = run_command ([test, '-e', gobject_index_path], -- check: false) -- if ret.returncode() != 0 -- error('Missing documentation for GObject: @0@'.format(gobject_index_path)) -- endif -+ foreach referred_module : [ 'glib', 'gobject' ] -+ doc_module_path = join_paths(glib_docpath, referred_module) -+ doc_index_file = join_paths(doc_module_path, 'index.html') -+ ret = run_command ([test, '-e', doc_index_file], -+ check: false) -+ if ret.returncode() != 0 -+ error('Missing GTK documentation for @0@: @1@'.format(referred_module, doc_index_file)) -+ endif -+ gtk_doc_referred_paths += [ doc_module_path ] -+ endforeach - endif - - # Keep with_manpages option a tristate feature for backward compatibility. -@@ -198,6 +196,7 @@ summary({'prefix': get_option('prefix'), - 'datadir': get_option('datadir'), - 'Python 2 GObject Overrides': gobject_overrides_dir_py2, - 'Python 3 GObject Overrides': gobject_overrides_dir_py3, -+ 'GTK-Doc Referred Paths': gtk_doc_referred_paths, - }, section: 'Directories') - - summary({'Custom Python': get_option('python_name'), -diff --git a/modulemd/meson.build b/modulemd/meson.build -index a816e13..844f135 100644 ---- a/modulemd/meson.build -+++ b/modulemd/meson.build -@@ -256,6 +256,10 @@ configure_file( - # --- Documenatation --- # - - if with_docs -+ fixxref_args = [] -+ foreach path : gtk_doc_referred_paths -+ fixxref_args += [ '--extra-dir=@0@'.format(path) ] -+ endforeach - gnome.gtkdoc( - 'modulemd-2.0', - install_dir: 'modulemd-2.0', -@@ -265,10 +269,7 @@ if with_docs - dependencies : [ - modulemd_dep, - ], -- fixxref_args: [ -- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')), -- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')), -- ], -+ fixxref_args: [ fixxref_args ], - install : true, - ) - endif --- -2.43.0 - diff --git a/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch b/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch deleted file mode 100644 index 1d9c7dd..0000000 --- a/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 29c339a31b1c753dcdef041e5c2e0e600e48b59d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Fri, 26 Jan 2024 17:09:11 +0100 -Subject: [PATCH 2/2] doc: Adapt GLib documentation path to GLib 2.79.0 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GLib 2.79.0 switched from gtk-doc to gi-docgen, whose format and -installation location are both not compatible. The libmodulemd build -script reported an error because of the new location. - -This patch fixes the build failure by using the new location if GLib -is 2.79.0 or greater. - -Although the libmodulemd documentation references to GLib remain -unresolved now (i.e. names of the functions and the types are not -hyperlinks), we keep using the new location because the new GLib -*.devhelp2 indices remain there and they can only improve over the -time. - -If this expection does not fulfill, libmodulemd will either migrate to -gi-docgen, or drop the hard build-time dependency on GLib -documentation. - -Reimplements: #611 -Signed-off-by: Petr Písař ---- - meson.build | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 0b32f4d..6108649 100644 ---- a/meson.build -+++ b/meson.build -@@ -70,7 +70,13 @@ with_docs = get_option('with_docs') - gtk_doc_referred_paths = [] - if with_docs - gtkdoc = dependency('gtk-doc') -- glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') -+ -+ if glib.version().version_compare('<2.79.0') -+ glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') -+ else -+ glib_docpath = join_paths(glib_prefix, 'share', 'doc', 'glib-2.0') -+ warning('glib >= 2.79.0 documention might not be properly referred from libmodulemd documentation.') -+ endif - - foreach referred_module : [ 'glib', 'gobject' ] - doc_module_path = join_paths(glib_docpath, referred_module) --- -2.43.0 - diff --git a/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch b/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch deleted file mode 100644 index 70a6786..0000000 --- a/modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch +++ /dev/null @@ -1,64 +0,0 @@ -From f3336199b4e69af3305f156abc7533bed9e9a762 Mon Sep 17 00:00:00 2001 -From: Dominique Leuenberger -Date: Wed, 15 May 2024 08:35:00 +0200 -Subject: [PATCH] doc: Adapt GLib documentation path to GLib 2.80.1 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With GLib 2.80.1 (commit 548ec9f1), the installation paths for the documentation -have changed once again: - - The `gi-docgen` tool is not designed to be used like that. In - particular, when nesting documentation directories, the generated - `*.devhelp2` files (needed by Devhelp to show the documentation) are - nested one directory level too deep for Devhelp to find them, and hence - are useless, and the documentation doesn’t show up in this common - documentation viewer. - - So, change the installed documentation directory hierarchy: - * `${PREFIX}/share/doc/glib-2.0/gio` → `${PREFIX}/share/doc/gio-2.0` - * `${PREFIX}/share/doc/glib-2.0/glib-unix` → - `${PREFIX}/share/doc/glib-unix-2.0` - * `${PREFIX}/share/doc/glib-2.0/gobject` → - `${PREFIX}/share/doc/gobject-2.0` - * etc. - * `${PREFIX}/share/doc/glib-2.0/glib` → `${PREFIX}/share/doc/glib-2.0` - -https://gitlab.gnome.org/GNOME/glib/-/issues/3287 -Reimplements #618 - -Signed-off-by: Petr Písař ---- - meson.build | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 6108649..fab704f 100644 ---- a/meson.build -+++ b/meson.build -@@ -73,12 +73,19 @@ if with_docs - - if glib.version().version_compare('<2.79.0') - glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') -+ glib_modules = ['glib', 'gobject' ] - else -- glib_docpath = join_paths(glib_prefix, 'share', 'doc', 'glib-2.0') - warning('glib >= 2.79.0 documention might not be properly referred from libmodulemd documentation.') -+ if glib.version().version_compare('<2.80.1') -+ glib_docpath = join_paths(glib_prefix, 'share', 'doc', 'glib-2.0') -+ glib_modules = ['glib', 'gobject' ] -+ else -+ glib_docpath = join_paths(glib_prefix, 'share', 'doc') -+ glib_modules = ['glib-2.0', 'gobject-2.0' ] -+ endif - endif - -- foreach referred_module : [ 'glib', 'gobject' ] -+ foreach referred_module : glib_modules - doc_module_path = join_paths(glib_docpath, referred_module) - doc_index_file = join_paths(doc_module_path, 'index.html') - ret = run_command ([test, '-e', doc_index_file], --- -2.45.0 - diff --git a/sources b/sources index 344f925..9affb37 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (modulemd-2.15.0.tar.xz) = 79032eb591cd3b778cb348040150ec4d1ccb8e2890d02c7b7a04f9b1bd376d32c5ae0e2c6dfb8056595fae5e54ea8365de06fe969a0f04b979abad3ff0882033 -SHA512 (modulemd-2.15.0.tar.xz.asc) = 07439efcd7d7ca1e67110a13902f2abd978c93872c383dcfde8d78accf9471787877d69fef8dc06ce65fbde3463b7e5201c7d550acbb530062d9990713d8c63a +SHA512 (modulemd-2.15.1.tar.xz) = 5658c5ee9c80427bb2fce46109a80fab55ae39dcd9564c185a7605b4a80d703ee3817099a54f6311ce2c02f298c1afd112ffd24e8f88b34a514537066fecc92c +SHA512 (modulemd-2.15.1.tar.xz.asc) = 45e5fd6ed121b78d0c18bb2656dc333784f93c708f5aff297154d0988a71c181d914402546e805ba6211e4078ea516856935baf3258c77e730335d4f613c18b8 From 4678cda2b11baa70771e9a8dcde14112a781ec24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 9 May 2025 14:36:22 +0200 Subject: [PATCH 3/4] Rewrite CI tests from STI to TMT --- .fmf/version | 1 + gating.yaml | 9 +++++---- plans/sanity.fmf | 5 +++++ tests/tests.yml | 32 -------------------------------- tests/upstream-tests.fmf | 15 +++++++++++++++ tests/upstream-tests.sh | 26 ++++++++++++++++++++++++++ 6 files changed, 52 insertions(+), 36 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/sanity.fmf delete mode 100644 tests/tests.yml create mode 100644 tests/upstream-tests.fmf create mode 100755 tests/upstream-tests.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml index f075ad7..c778f75 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,15 +1,16 @@ --- !Policy product_versions: - - fedora-* -decision_context: bodhi_update_push_testing + - fedora-rawhide +decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} --- !Policy product_versions: - fedora-* decision_context: bodhi_update_push_stable subject_type: koji_build rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/plans/sanity.fmf b/plans/sanity.fmf new file mode 100644 index 0000000..a72ded4 --- /dev/null +++ b/plans/sanity.fmf @@ -0,0 +1,5 @@ +summary: Sanity tests +discover: + how: fmf +execute: + how: tmt diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 14858e3..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- hosts: localhost - tags: - - classic - roles: - - role: standard-test-source - -- hosts: localhost - tags: - - classic - tasks: - - name: Make sure fedpkg and selinux bindings are installed - shell: dnf -y install fedpkg python3-libselinux libmodulemd-devel --skip-broken - - name: Copy a spec file to /tmp - copy: - src: "{{ playbook_dir }}/../libmodulemd.spec" - dest: /tmp/libmodulemd.spec - - name: Install build deps - shell: dnf -y builddep /tmp/libmodulemd.spec - -- hosts: localhost - tags: - - classic - roles: - - role: standard-test-basic - tests: - - configure: - run: meson setup -Daccept_overflowed_buildorder=true -Drpmio=enabled -Dskip_introspection=false -Dtest_installed_lib=true -Dwith_py2=false -Dwith_py3=true /tmp/build "{{ tenv_workdir }}source" - - build: - run: ninja -C /tmp/build - - unittests: - run: meson test -C /tmp/build diff --git a/tests/upstream-tests.fmf b/tests/upstream-tests.fmf new file mode 100644 index 0000000..2dd09c9 --- /dev/null +++ b/tests/upstream-tests.fmf @@ -0,0 +1,15 @@ +summary: Upstream tests +component: libmodulemd +require: + - bash + - dnf5 + - dnf5-command(builddep) + - fedpkg + - libmodulemd + - koji + - meson + - ninja + - rpm + - rpmdevtools +duration: 10m +test: ./upstream-tests.sh diff --git a/tests/upstream-tests.sh b/tests/upstream-tests.sh new file mode 100755 index 0000000..0d701d8 --- /dev/null +++ b/tests/upstream-tests.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -ex +DIR=$(mktemp -d) +pushd "$DIR" + +SRCRPM=$(rpm -q --qf '%{sourcerpm}' libmodulemd) +koji download-build -a src "$SRCRPM" +rpmdev-extract "$SRCRPM" + +NAME=$(rpm -q --qf %{name} "$SRCRPM") +VERSION=$(rpm -q --qf %{version} "$SRCRPM") +pushd "${SRCRPM//.rpm}" +dnf -y builddep "$NAME".spec +fedpkg prep + +meson setup -Daccept_overflowed_buildorder=true -Drpmio=enabled \ + -Dskip_introspection=false -Dtest_installed_lib=true \ + -Dwith_py2=false -Dwith_py3=true \ + ./build "${NAME}-${VERSION}-build/modulemd-${VERSION}" +ninja -C ./build +meson test -C ./build + +popd + +popd +rm -r "$DIR" From bb82443e2423c1cfb1dc5426c7eb3fba5b533df8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 18 Jun 2025 10:05:51 +0200 Subject: [PATCH 4/4] 2.15.2 bump --- .gitignore | 2 ++ libmodulemd.spec | 5 ++++- sources | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 51131ca..78e14ea 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,5 @@ /modulemd-2.15.0.tar.xz.asc /modulemd-2.15.1.tar.xz /modulemd-2.15.1.tar.xz.asc +/modulemd-2.15.2.tar.xz +/modulemd-2.15.2.tar.xz.asc diff --git a/libmodulemd.spec b/libmodulemd.spec index b30dc31..00a73cb 100644 --- a/libmodulemd.spec +++ b/libmodulemd.spec @@ -23,7 +23,7 @@ %endif Name: %{upstream_name}%{?v2_suffix} -Version: 2.15.1 +Version: 2.15.2 Release: 1%{?dist} Summary: Module metadata manipulation library @@ -189,6 +189,9 @@ mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \ %changelog +* Wed Jun 18 2025 Petr Pisar - 2.15.2-1 +- 2.15.2 bump + * Fri May 09 2025 Petr Pisar - 2.15.1-1 - 2.15.1 bump diff --git a/sources b/sources index 9affb37..a912538 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (modulemd-2.15.1.tar.xz) = 5658c5ee9c80427bb2fce46109a80fab55ae39dcd9564c185a7605b4a80d703ee3817099a54f6311ce2c02f298c1afd112ffd24e8f88b34a514537066fecc92c -SHA512 (modulemd-2.15.1.tar.xz.asc) = 45e5fd6ed121b78d0c18bb2656dc333784f93c708f5aff297154d0988a71c181d914402546e805ba6211e4078ea516856935baf3258c77e730335d4f613c18b8 +SHA512 (modulemd-2.15.2.tar.xz) = d1785f6982ed19292103d741e3e94581e9789737be6f8e90d19218296f3aeb87d6589f3247744f8eab4f714d298d1508312b119624a8c32086c720becfa4cdc5 +SHA512 (modulemd-2.15.2.tar.xz.asc) = 282ff35f15418e95aae09d9bff8084aa0b6f2732cea3934a84a1bd4ddd8e50c8375466acb6a39a6e632f4bbbefd49735b7f56e9304d52521786e245f52feae24