Compare commits

...
Sign in to create a new pull request.

31 commits

Author SHA1 Message Date
Petr Písař
a9a3403052 Adapt tests to glib2-2.87.0 2026-01-14 16:48:48 +01:00
Python Maint
c05d8536fa Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:27:02 +02:00
Python Maint
d5da44ade0 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:56:22 +02:00
Fedora Release Engineering
acf474286f Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 20:00:39 +00:00
Petr Písař
905725e65a 2.15.2 bump 2025-06-18 10:05:51 +02:00
Python Maint
a8720d4a28 Rebuilt for Python 3.14 2025-06-03 14:08:45 +02:00
Petr Písař
37ece00675 Rewrite CI tests from STI to TMT 2025-05-09 14:45:26 +02:00
Petr Písař
c87c812c4e 2.15.1 bump 2025-05-09 13:51:53 +02:00
Maja Massarini
f747988a41 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).
2025-01-20 14:53:24 +00:00
Fedora Release Engineering
b2e2ef5320 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-20 07:35:47 +00:00
Fedora Release Engineering
126a862656 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 12:05:55 +00:00
Fedora Release Engineering
6ca8623b29 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 14:28:56 +00:00
Python Maint
04b1fb0eeb Rebuilt for Python 3.13 2024-06-07 14:09:43 +02:00
Petr Písař
8e9d364165 Use canonical "dnf builddep" command in STI tests 2024-05-16 09:00:54 +02:00
Petr Písař
f96a22b6ce Do not install Python 2 packages in Fedora STI tests 2024-05-15 17:50:49 +02:00
Petr Písař
dda060e3ad Fix building with glib2-doc 2.80.1 2024-05-15 16:21:16 +02:00
Petr Písař
54cce88d5c Note licenses of the tests in a spec file comment 2024-04-03 10:41:56 +02:00
Petr Písař
9fff9ef002 Require glib2 version with g_once_init_enter_pointer symbol
glib2-2.79.0-2.fc40 added g_once_init_enter_pointer symbol and started
to implant a reference on the symbol into applications via
macros/in-lined functions included from glib2 header files. As
a result, people upgrading to libmodulemd built against new glib2 but
not upgrading glib2 at the same time will break dynamic linking of
libmodulemd:

    # dnf5 install NetworkManager
    dnf5: symbol lookup error: /lib64/libmodulemd.so.2: undefined symbol: g_once_init_leave_pointer

If glib2 versioned its symbols, rpm-build would inject an RPM
dependency on the new glib2 versioned SONAME. However, this is not
true, so we need to add a dependency on a minimal glib2 version
manually.

Because this issue is specific to not fully upgraded Fedora 40--41,
I will not post it to the upstream. This issue materializes in real
life when mock installs a new libdnf into a bootstrap image based on
a container image created before glib2-2.79.0-2.fc40 (bug #2265336).
2024-02-27 16:06:34 +01:00
Petr Písař
59d02d0db6 Fix building with glib2-doc 2.79.0 2024-01-29 16:39:51 +01:00
Fedora Release Engineering
36f1a0169f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 02:54:26 +00:00
Fedora Release Engineering
4d0466eccc Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 04:42:17 +00:00
Fedora Release Engineering
3ea1c45a24 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 11:28:48 +00:00
Python Maint
94ab733609 Rebuilt for Python 3.12 2023-06-15 17:00:27 +02:00
Florian Festi
0c7a9dc719 Rebuild for rpm-4.18.90 2023-05-11 15:35:02 +02:00
Petr Písař
b672dea896 packit: Migrate from a deprecated current_version_command to actions/get-current-version
https://github.com/fedora-modularity/libmodulemd/issues/553
2023-05-11 14:20:50 +02:00
Petr Písař
27262aa7e1 Adapt STI tests to current meson
Meson now requires a build directory out of source tree.

Setting STI dir to "{{ tenv_workdir }}source" does not work. It
expands to "/var/str/var/str/source" instead of "var/str/source".
Hence this patch passes to meson an explicit path to the directory
with libmodulemd sources.
2023-05-11 14:20:00 +02:00
Petr Písař
8bdb2b1d1b 2.15.0 bump 2023-05-10 16:05:39 +02:00
Fedora Release Engineering
ca231d3588 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 16:53:48 +00:00
Petr Písař
5da1cc7ad8 Update an out-dated URI in a description 2022-07-22 18:57:49 +02:00
Fedora Release Engineering
26ffe78488 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 18:23:59 +00:00
Python Maint
241787c3b0 Rebuilt for Python 3.11 2022-06-13 20:59:32 +02:00
11 changed files with 2261 additions and 48 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

6
.gitignore vendored
View file

@ -62,3 +62,9 @@
/modulemd-2.13.0.tar.xz.asc
/modulemd-2.14.0.tar.xz
/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
/modulemd-2.15.2.tar.xz
/modulemd-2.15.2.tar.xz.asc

View file

@ -2,10 +2,11 @@ specfile_path: libmodulemd.spec
upstream_package_name: libmodulemd
downstream_package_name: libmodulemd
upstream_tag_template: libmodulemd-{version}
current_version_command:
- ./.packit_version.sh
synced_files:
actions:
get-current-version: ./.packit_version.sh
files_to_sync:
- .packit.yml
- .make_packit_specfile.sh
- libmodulemd.spec

View file

@ -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}

View file

@ -23,20 +23,26 @@
%endif
Name: %{upstream_name}%{?v2_suffix}
Version: 2.14.0
Release: 2%{?dist}
Version: 2.15.2
Release: 5%{?dist}
Summary: Module metadata manipulation library
# COPYING: MIT
## not in any binary package
# contrib/coverity-modeling.c: GPLv2+
# contrib/release-tools/semver: GPLv3
# contrib/coverity-modeling.c: GPL-2.0-or-later
# 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 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
# Adapt tests to glib2-2.87.0, in upstream after 2.15.2, bug #2423153
Patch0: modulemd-2.15.2-tests-Adapt-to-glib-2.87.0.patch
BuildRequires: gnupg2
BuildRequires: meson >= 0.47
@ -49,7 +55,6 @@ BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: glib2-doc
BuildRequires: rpm-devel
BuildRequires: file-devel
%if %{build_python2}
BuildRequires: python2-devel
BuildRequires: python-gobject-base
@ -58,11 +63,15 @@ BuildRequires: python-gobject-base
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-gobject-base
%endif
%if 0%{?fedora} >= 40 && 0%{?fedora} < 42
# glib2 version with g_once_init_enter_pointer symbol, bug #2265336
Requires: glib2 >= 2.79.0-2
%endif
%description
C library for manipulating module metadata files.
See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for
See https://github.com/fedora-modularity/libmodulemd/blob/main/README.md for
more details.
@ -116,7 +125,6 @@ Development files for %{name}.
%build
%meson \
%{meson_accept_overflowed_buildorder_flag} \
-Dlibmagic=enabled \
-Drpmio=enabled \
-Dskip_introspection=false \
-Dtest_installed_lib=false \
@ -183,6 +191,84 @@ mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \
%changelog
* Wed Jan 14 2026 Petr Pisar <ppisar@redhat.com> - 2.15.2-5
- Adapt tests to glib2-2.87.0 (bug #2423153)
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 2.15.2-4
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 2.15.2-3
- Rebuilt for Python 3.14.0rc2 bytecode
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 18 2025 Petr Pisar <ppisar@redhat.com> - 2.15.2-1
- 2.15.2 bump
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 2.15.1-2
- Rebuilt for Python 3.14
* Fri May 09 2025 Petr Pisar <ppisar@redhat.com> - 2.15.1-1
- 2.15.1 bump
* Mon Jan 20 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 2.15.0-13
- Rebuilt for Python 3.13
* Thu May 16 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-12
- Use canonical "dnf builddep" command in STI tests
* Wed May 15 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-11
- Do not install Python 2 packages in Fedora STI tests
* Wed May 15 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-10
- Fix building with glib2-doc 2.80.1 (upstream bug #619)
* Tue Feb 27 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-9
- Require glib2 version with g_once_init_enter_pointer symbol (bug #2265336)
* Mon Jan 29 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-8
- Fix building with glib2-doc 2.79.0
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 2.15.0-4
- Rebuilt for Python 3.12
* Wed May 10 2023 Florian Festi <ffesti@redhat.com> - 2.15.0-3
- Rebuild for rpm-4.18.90
* Wed May 10 2023 Petr Pisar <ppisar@redhat.com> - 2.15.0-2
- Adapt STI tests to current meson
* Wed May 10 2023 Petr Pisar <ppisar@redhat.com> - 2.15.0-1
- 2.15.0 bump
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.14.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.14.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.14.0-3
- Rebuilt for Python 3.11
* Tue Feb 08 2022 Petr Pisar <ppisar@redhat.com> - 2.14.0-2
- Drop removed meson -D developer_build option from CI tests

File diff suppressed because it is too large Load diff

5
plans/sanity.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

View file

@ -1,2 +1,2 @@
SHA512 (modulemd-2.14.0.tar.xz) = 90439cba83f4a8711095f1b9b92ba9135bade202703d698d192d066955ae8df3f53226fcd5fc73cd2873e5599822272f00a5b536cf62e3e51c37bbca32b7f756
SHA512 (modulemd-2.14.0.tar.xz.asc) = a742c177084b2f1445704583ea43c09b479502432b62c1880ca4917dfa7550b6dfc3aef2498a5afdba61323451878b6ede7fdfba37d433982f0cc3925811668f
SHA512 (modulemd-2.15.2.tar.xz) = d1785f6982ed19292103d741e3e94581e9789737be6f8e90d19218296f3aeb87d6589f3247744f8eab4f714d298d1508312b119624a8c32086c720becfa4cdc5
SHA512 (modulemd-2.15.2.tar.xz.asc) = 282ff35f15418e95aae09d9bff8084aa0b6f2732cea3934a84a1bd4ddd8e50c8375466acb6a39a6e632f4bbbefd49735b7f56e9304d52521786e245f52feae24

View file

@ -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 python{2,3}-libselinux libmodulemd-devel --skip-broken
- name: Copy spec file to remote machine
copy:
src: "{{ playbook_dir }}/../libmodulemd.spec"
dest: /tmp/libmodulemd.spec
- name: Install build deps
shell: dnf -y build-dep /tmp/libmodulemd.spec
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-basic
tests:
- build:
dir: .
run: meson -Daccept_overflowed_buildorder=true -Dlibmagic=enabled -Drpmio=enabled -Dskip_introspection=false -Dtest_installed_lib=true -Dwith_py2=false -Dwith_py3=true source
- unittests:
dir: .
run: ninja test

15
tests/upstream-tests.fmf Normal file
View file

@ -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

26
tests/upstream-tests.sh Executable file
View file

@ -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"