Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

18 changed files with 1103 additions and 680 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

68
.gitignore vendored
View File

@ -1,2 +1,66 @@
SOURCES/modulemd-1.8.16.tar.xz
SOURCES/modulemd-2.13.0.tar.xz
/.build*.log
*~
*.swp
*.rpm
/modulemd-*/
/modulemd-0.1.0.tar.xz
/modulemd-0.2.0.tar.xz
/modulemd-0.2.1.tar.xz
/modulemd-0.2.2.tar.xz
/modulemd-1.0.0.tar.xz
/modulemd-1.0.1.tar.xz
/modulemd-1.0.2.tar.xz
/modulemd-1.0.3.tar.xz
/modulemd-1.0.4.tar.xz
/modulemd-1.1.0.tar.xz
/modulemd-1.1.1.tar.xz
/modulemd-1.1.2.tar.xz
/modulemd-1.1.3.tar.xz
/modulemd-1.2.0.tar.xz
/modulemd-1.3.0.tar.xz
/modulemd-1.4.0.tar.xz
/modulemd-1.4.1.tar.xz
/modulemd-1.5.0.tar.xz
/modulemd-1.5.1.tar.xz
/modulemd-1.5.2.tar.xz
/modulemd-1.6.0.tar.xz
/modulemd-1.6.1.tar.xz
/modulemd-1.6.2.tar.xz
/modulemd-1.6.3.tar.xz
/modulemd-1.6.4.tar.xz
/modulemd-1.7.0.tar.xz
/modulemd-2.0.0beta2.tar.xz
/modulemd-2.0.0.tar.xz
/modulemd-2.1.0.tar.xz
/modulemd-2.2.0.tar.xz
/modulemd-2.2.1.tar.xz
/modulemd-2.2.2.tar.xz
/modulemd-2.2.3.tar.xz
/modulemd-2.3.0.tar.xz
/modulemd-2.3.1.tar.xz
/modulemd-2.4.0.tar.xz
/modulemd-2.5.0.tar.xz
/modulemd-2.6.0.tar.xz
/modulemd-2.7.0.tar.xz
/modulemd-2.8.0.tar.xz
/modulemd-2.8.1.tar.xz
/modulemd-2.8.2.tar.xz
/modulemd-2.8.3.tar.xz
/modulemd-2.9.0.tar.xz
/modulemd-2.9.1.tar.xz
/modulemd-2.9.2.tar.xz
/modulemd-2.9.3.tar.xz
/modulemd-2.9.4.tar.xz
/modulemd-2.10.0.tar.xz
/modulemd-2.11.0.tar.xz
/modulemd-2.11.1.tar.xz
/modulemd-2.11.2.tar.xz
/modulemd-2.12.0.tar.xz
/modulemd-2.12.1.tar.xz
/modulemd-2.12.1.tar.xz.asc
/modulemd-2.13.0.tar.xz
/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

View File

@ -1,2 +0,0 @@
6e55eddb35afc4cd28b6d8cb248f821af5f49dd7 SOURCES/modulemd-1.8.16.tar.xz
e83886f374922ecf6fa728c6c588d697d0748b99 SOURCES/modulemd-2.13.0.tar.xz

23
.make_packit_specfile.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -e
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
pushd $SCRIPT_DIR
date=$(date +%Y%m%d)
version_desc=$(git describe --tags --match "*.*")
version=$(echo $version_desc | cut -d '-' -f2)
patch_count=$(echo $version_desc | cut -d '-' -f3)
hash=$(echo $version_desc | cut -d '-' -f4)
if [ x$patch_count != x ]; then
release=0.${date}.${patch_count}git${hash}%{?dist}
else
release=1%{?dist}
fi
./spec_tmpl.sh version=$version release=$release template=libmodulemd.spec.in > libmodulemd.spec
popd

28
.packit.yml Normal file
View File

@ -0,0 +1,28 @@
specfile_path: libmodulemd.spec
upstream_package_name: libmodulemd
downstream_package_name: libmodulemd
upstream_tag_template: libmodulemd-{version}
actions:
get-current-version: ./.packit_version.sh
synced_files:
- .packit.yml
- .make_packit_specfile.sh
- libmodulemd.spec
actions:
post-upstream-clone: ./.make_packit_specfile.sh
jobs:
- job: copr_build
trigger: pull_request
metadata:
targets:
- fedora-all
- epel-7
- job: propose_downstream
trigger: release
metadata:
dist-git-branch: fedora-all

5
README.md Normal file
View File

@ -0,0 +1,5 @@
# libmodulemd
C Library for manipulating module metadata files
See https://pagure.io/modulemd for more details.

3
README.packit Normal file
View File

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.10.1.

View File

@ -1,192 +0,0 @@
From b0dd663edd6ab66ec26c48ff34a52afa040694e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 22 Jul 2021 15:23:55 +0200
Subject: [PATCH] Accept 18446744073709551615 buildorder if
accept_overflowed_buildorder build boolean is true
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
7c0158bcec05b692d27e37ff46a134f4e294d957 commit (Reject invalid signed
integers (rpm buildorder), as found in 2.13.0 release, fortified
parsing signed integers.
It turned out that RHEL 8 delivers a few modules:
container-tools:rhel8:8020120200601155013:ffd2803a
container-tools:rhel8:8030020200923153805:2a301c24
container-tools:rhel8:8030020201124131330:830d479e
container-tools:rhel8:8030120210208205200:c127ee91
which contain an invalid buildorder value 18446744073709551615. DNF
then warned on loading them into an index and ignored them:
# dnf module list --repoid pulp-appstream
Last metadata expiration check: 3:59:10 ago on Wed 21 Jul 2021 12:38:00 PM CEST.
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 118 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 118 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 107 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 114 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 118 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 118 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 107 col 9]
Module yaml error: Failed to parse buildorder in component: 18446744073709551615: The integer value is larger than 9223372036854775807 [line 114 col 9]
Those were probably built with a broken MBS/libmodulemd which
loaded -1 and serialized it as an 64-bit unsigned integer
18446744073709551615.
Because the distributor does not change once-released builds, it
became impossible to process them with libmodulemd-2.13.0.
This patch adds an accept_overflowed_buildorder build option (disabled
by default) which enables a workaround to accept 18446744073709551615
string as -1 integer when parsing 64-bit signed integers. (The type is
used only in buildorder field now).
(Originally, I developed a more complicated patch only affecting
loading while keeping validation strict. But that was not enough for
DNF, creareterepo_c and probably many other tools. Thus I prepared
even more complicated patch affecting both loading and validation of
modulemd formats only (cf. modulemd-packager-v3) and that helped DNF.
But the patch ugglified to code to much and considering it's only
a temporary hack, I decided for this simple patch which affects
loading and validation of all formats.)
Petr Písař: Ported to 2.13.0 from
37a688cc12d7fbab67fda95c47a4605405d7a154.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
meson.build | 1 +
meson_options.txt | 3 +++
modulemd/meson.build | 2 ++
modulemd/modulemd-yaml-util.c | 11 +++++++++++
modulemd/tests/test-modulemd-parse_int64.c | 15 ++++++++++++++-
5 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 37792b3..bbb56ba 100644
--- a/meson.build
+++ b/meson.build
@@ -215,6 +215,7 @@ if meson.version().version_compare('>=0.53')
'Python 2 Support': get_option('with_py2'),
'Python 3 Support': get_option('with_py3'),
'Skip Introspection': get_option('skip_introspection'),
+ 'Accept overflowed buildorder': get_option('accept_overflowed_buildorder'),
'Test Installed Library': get_option('test_installed_lib'),
}, section: 'Build Configuration')
endif
diff --git a/meson_options.txt b/meson_options.txt
index 7873d42..3d84459 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -11,6 +11,9 @@
#
# REMEMBER TO UPDATE THE SUMMARY() IN meson.build when adding options here
+option('accept_overflowed_buildorder', type : 'boolean', value: 'false',
+ description : 'Accept overflowed 18446744073709551615 buildorder as -1. This breaks a specification, but some RHEL 8 module builds look like that.')
+
option('verbose_tests', type : 'boolean', value : true,
description : 'Tests that are run under the "debug" configuration will print all debug messages. Disable this option for valgrind checks, as it speeds it up substantially.')
diff --git a/modulemd/meson.build b/modulemd/meson.build
index 2a60364..0b74818 100644
--- a/modulemd/meson.build
+++ b/modulemd/meson.build
@@ -14,6 +14,7 @@
test_installed_lib = get_option('test_installed_lib')
skip_introspection = get_option('skip_introspection')
verbose_tests = get_option('verbose_tests')
+accept_overflowed_buildorder = get_option('accept_overflowed_buildorder')
clang_simple_version_script = find_program ('clang_simple_version.sh')
@@ -144,6 +145,7 @@ cdata.set('HAVE_RPMIO', rpm.found())
cdata.set('HAVE_LIBMAGIC', magic.found())
cdata.set('HAVE_GDATE_AUTOPTR', has_gdate_autoptr)
cdata.set('HAVE_EXTEND_AND_STEAL', has_extend_and_steal)
+cdata.set('HAVE_OVERFLOWED_BUILDORDER', accept_overflowed_buildorder)
configure_file(
output : 'config.h',
configuration : cdata
diff --git a/modulemd/modulemd-yaml-util.c b/modulemd/modulemd-yaml-util.c
index 6cbf4cc..ad0bd3c 100644
--- a/modulemd/modulemd-yaml-util.c
+++ b/modulemd/modulemd-yaml-util.c
@@ -11,6 +11,7 @@
* For more information on free software, see <https://www.gnu.org/philosophy/free-sw.en.html>.
*/
+#include "config.h"
#include "modulemd-errors.h"
#include "private/modulemd-subdocument-info-private.h"
#include "private/modulemd-util.h"
@@ -441,6 +442,16 @@ modulemd_yaml_parse_int64 (yaml_parser_t *parser, GError **error)
if ((value == G_MAXINT64 && errno == ERANGE))
{
+#ifdef HAVE_OVERFLOWED_BUILDORDER
+ /* A temporary hack. Remove when RHEL 8 goes end of life. */
+ if (g_str_equal ((const gchar *)event.data.scalar.value,
+ "18446744073709551615"))
+ {
+ g_debug ("Coercing an invalid signed 64-bit integer to -1: %s",
+ (const gchar *)event.data.scalar.value);
+ return -1;
+ }
+#endif
g_set_error (error,
MODULEMD_YAML_ERROR,
MODULEMD_ERROR_VALIDATE,
diff --git a/modulemd/tests/test-modulemd-parse_int64.c b/modulemd/tests/test-modulemd-parse_int64.c
index 2ccfb53..8759c21 100644
--- a/modulemd/tests/test-modulemd-parse_int64.c
+++ b/modulemd/tests/test-modulemd-parse_int64.c
@@ -11,6 +11,7 @@
* For more information on free software, see <https://www.gnu.org/philosophy/free-sw.en.html>.
*/
+#include "config.h"
#include <glib.h>
#include <locale.h>
#include <string.h>
@@ -36,7 +37,7 @@ test (const char *input, gint64 expected_value, gboolean expected_error)
g_assert_nonnull (error);
else
g_assert_null (error);
- g_assert_cmpuint (parsed, ==, expected_value);
+ g_assert_cmpint (parsed, ==, expected_value);
}
static void
@@ -69,6 +70,16 @@ test_int64_invalid_too_big (void)
test ("9223372036854775808", 0, TRUE);
}
+static void
+test_int64_invalid_overflowed (void)
+{
+#ifdef HAVE_OVERFLOWED_BUILDORDER
+ test ("18446744073709551615", -1, FALSE);
+#else
+ test ("18446744073709551615", 0, TRUE);
+#endif
+}
+
static void
test_int64_invalid_too_small (void)
{
@@ -143,6 +154,8 @@ main (int argc, char *argv[])
test_int64_invalid_too_big);
g_test_add_func ("/modulemd/v2/int64/yaml/parse/invalid_too_small",
test_int64_invalid_too_small);
+ g_test_add_func ("/modulemd/v2/int64/yaml/parse/invalid_overflowed",
+ test_int64_invalid_overflowed);
g_test_add_func ("/modulemd/v2/uint64/yaml/parse/valid", test_uint64_valid);
g_test_add_func ("/modulemd/v2/uint64/yaml/parse/invalid_no_digit",
--
2.31.1

View File

@ -1,484 +0,0 @@
%global baserelease 1
%global v2_epoch 0
%global v2_major 2
%global v2_minor 13
%global v2_patch 0
%global v2_release %{baserelease}
%global libmodulemd_v2_version %{v2_major}.%{v2_minor}.%{v2_patch}
%global libmodulemd_v1_version 1.8.16
# This is trickery to ensure that the upgrade path for libmodulemd1 is always
# clean and associated with the appropriate v2 build
%global libmodulemd_v1_release %{v2_epoch}.%{v2_major}.%{v2_minor}.%{v2_patch}.%{v2_release}
Name: libmodulemd
Version: %{libmodulemd_v2_version}
Release: %{baserelease}%{?dist}
Summary: Module metadata manipulation library
License: MIT
URL: https://github.com/fedora-modularity/libmodulemd
Source0: %{url}/releases/download/%{version}/modulemd-%{version}.tar.xz
Source1: %{url}/releases/download/%{name}-%{libmodulemd_v1_version}/modulemd-%{libmodulemd_v1_version}.tar.xz
# Accept invalid, but existing 18446744073709551615 buildorder when loading
# modulemd-v2 documents, bug #1984402, proposed to the upstream
Patch0: modulemd-2.13.0-Accept-18446744073709551615-buildorder-if-accept_ove.patch
BuildRequires: meson >= 0.47
BuildRequires: pkgconfig
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: glib2-doc
BuildRequires: rpm-devel
BuildRequires: file-devel
BuildRequires: python3-devel
BuildRequires: python3-gobject-base
BuildRequires: help2man
# Patches
%description
C Library for manipulating module metadata files.
See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for
more details.
%package -n python3-%{name}
Summary: Python 3 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3-gobject-base
Requires: %{py3_dist six}
Obsoletes: python3-modulemd < 1.3.4
%description -n python3-%{name}
Python 3 bindings for %{name}
%package devel
Summary: Development files for libmodulemd
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for libmodulemd.
%package -n libmodulemd1
Summary: Compatibility package for libmodulemd 1.x
Version: %{libmodulemd_v1_version}
Release: %{libmodulemd_v1_release}
Obsoletes: libmodulemd < 2
Provides: libmodulemd = %{libmodulemd_v1_version}-%{release}
Provides: libmodulemd%{?_isa} = %{libmodulemd_v1_version}-%{release}
%description -n libmodulemd1
Compatibility library for libmodulemd 1.x
%package -n libmodulemd1-devel
Summary: Compatibility development package for libmodulemd 1.x
Version: %{libmodulemd_v1_version}
Release: %{libmodulemd_v1_release}
Requires: libmodulemd1%{?_isa} = %{libmodulemd_v1_version}-%{release}
Conflicts: %{name}-devel
Obsoletes: libmodulemd-devel < 2
Provides: libmodulemd-devel = %{libmodulemd_v1_version}-%{release}
RemovePathPostfixes: .compat
%description -n libmodulemd1-devel
Development files for libmodulemd 1.x
%package -n python3-libmodulemd1
Summary: Python 3 bindings for %{name}1
Version: %{libmodulemd_v1_version}
Release: %{libmodulemd_v1_release}
Requires: libmodulemd1 = %{libmodulemd_v1_version}-%{release}
Requires: python3-gobject-base
Obsoletes: python3-libmodulemd < 2
Provides: python3-libmodulemd = %{libmodulemd_v1_version}-%{release}
%description -n python3-libmodulemd1
Python 3 bindings for libmodulemd1
%prep
%setup -c
%setup -c -T -D -a 1
pushd modulemd-%{libmodulemd_v2_version}
%patch0 -p1
popd
%build
# Build the v1 API first
pushd modulemd-%{libmodulemd_v1_version}
%define _vpath_builddir api1
%meson -Ddeveloper_build=false
%meson_build
popd
# Build the v2 API
pushd modulemd-%{libmodulemd_v2_version}
%define _vpath_builddir api2
%meson -Ddeveloper_build=false -Dwith_manpages=enabled -Dwith_py2=false \
-Daccept_overflowed_buildorder=true
%meson_build
popd
%check
export LC_CTYPE=C.utf8
pushd modulemd-%{libmodulemd_v1_version}
%define _vpath_builddir api1
%{__meson} test -C %{_vpath_builddir} %{?_smp_mesonflags} --print-errorlogs -t 10
popd
pushd modulemd-%{libmodulemd_v2_version}
%define _vpath_builddir api2
%{__meson} test -C %{_vpath_builddir} %{?_smp_mesonflags} --print-errorlogs -t 10
popd
%install
pushd modulemd-%{libmodulemd_v1_version}
%define _vpath_builddir api1
%meson_install
popd
pushd modulemd-%{libmodulemd_v2_version}
%define _vpath_builddir api2
%meson_install
popd
# Create a symlink for the libmodulemd1-devel package
ln -s libmodulemd.so.%{libmodulemd_v1_version} \
%{buildroot}%{_libdir}/%{name}.so.compat
%files
%license modulemd-%{libmodulemd_v2_version}/COPYING
%doc modulemd-%{libmodulemd_v2_version}/NEWS
%doc modulemd-%{libmodulemd_v2_version}/README.md
%{_bindir}/modulemd-validator
%{_mandir}/man1/modulemd-validator.1*
%{_libdir}/%{name}.so.2*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Modulemd-2.0.typelib
%files devel
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/modulemd-2.0.pc
%{_includedir}/modulemd-2.0/
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/Modulemd-2.0.gir
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/modulemd-2.0/
%files -n python3-%{name}
%{python3_sitearch}/gi/overrides/
%files -n python3-libmodulemd1
%files -n libmodulemd1
%license modulemd-%{libmodulemd_v1_version}/COPYING
%doc modulemd-%{libmodulemd_v1_version}/README.md
%{_bindir}/modulemd-validator-v1
%{_libdir}/%{name}.so.1*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Modulemd-1.0.typelib
%files -n libmodulemd1-devel
%{_libdir}/%{name}.so.compat
%{_libdir}/pkgconfig/modulemd.pc
%{_includedir}/modulemd/
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/Modulemd-1.0.gir
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/modulemd-1.0/
%changelog
* Fri Jul 09 2021 Petr Pisar <ppisar@redhat.com> - 2.13.0-1
- 2.13.0 bump (bug #1984402)
* Mon May 03 2021 Petr Pisar <ppisar@redhat.com> - 2.12.1-1
- 2.12.1 bump (bug #1894573)
* Wed May 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.4-2
- Update to 2.9.4
- Drop valgrind tests from RPM build
- Resolves: RHBZ#1797749
* Tue Oct 29 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.8.2-1
- Update to versions 2.8.2 and 1.8.16
- Resolves: rhbz#1752511
* Wed Oct 23 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.5.0-4
- Improve default merging logic when dealing with third-party repos
- Resolves: rhbz#1761805
* Wed May 29 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.5.0-2
- Fix memory corruption error using Module.search_rpms() from python
- Speed up valgrind tests
- Resolves: rhbz#1714766
* Wed May 22 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.5.0-1
- Rebase to 2.5.0 and 1.8.11
- Related: rhbz#1693680
* Mon May 13 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.4.0-1
- Rebase to 2.4.0 and 1.8.10
- Resolves: rhbz#1693680
* Fri Jan 18 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-5
- Don't fail merges when default streams differ
- Resolves: rhbz#1666871
* Wed Jan 16 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-4
- Include modified value when copying Defaults objects
- Resolves: rhbz#1665465
* Thu Dec 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-3
- Keep libmodulemd1 in sync with libmodulemd
* Thu Dec 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-2
- Fix package location of modulemd-validator
* Thu Dec 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-1
- Update to 2.0.0 final
- Assorted fixes for validation
- Add modulemd-validator tool based on v2 code
- Fix a crash when merging defaults
- Add missing BuildRequires
* Tue Dec 11 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-0.beta2
- Update to 2.0.0beta2
- Better validation of stored content during read and write operations
- ModuleIndex now returns FALSE if any subdocument fails
- Fix tests on 32-bit platforms
- Make unknown keys in YAML maps non-fatal for libmodulemd1
- Make unknown keys in YAML maps optionally fatal for libmodulemd 2.x
- Fix RPM version requirements for libmodulemd1
* Mon Dec 10 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-0.beta1
- Total rewrite to 2.0 API
- Resolves: rhbz#1646436
* Thu Aug 09 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.2-2
- Fix backwards-incompatible API change
- Resolves: rhbz#1607083
* Tue Aug 07 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.2-1
- Update to 1.6.2
- Make buildorder a signed integer to match modulemd specification
- Obsolete unsupported pythonX-modulemd packages
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 1.6.1-2
- Honor %%{valgrind_arches}
* Fri Jul 20 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.1-1
- Update to 1.6.1
- Fix header include ordering
- Suppress empty sections from .dump() ordering
* Wed Jul 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.0-1
- Update to 1.6.0
- Adds Modulemd.ModuleStream object, deprecating Modulemd.Module
- Adds Modulemd.Translation and Modulemd.TranslationEntry objects
- Adds Modulemd.ImprovedModule object that collects streams, defaults and
translations together
- Adds new Modulemd.index_from_*() funtions to get a hash table of
Modulemd.ImprovedModule objects for easier searching
- Moves function documentation to the public headers
- Corrects the license headers to MIT (they were incorrectly listed as MITNFA
in previous releases)
- Makes the "eol" field optional for Modulemd.ServiceLevel
- Clean up HTML documentation
- Fixes a type error on 32-bit systems
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Jun 23 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.2-1
- Update to libdmodulemd 1.5.2
- Don't free uninitialized memory
* Fri Jun 22 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.1-2
- Fix buildopts property not being initialized
* Tue Jun 19 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.1-1
- Update to version 1.5.1
- Re-enable build-time tests
* Mon Jun 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.0-2
- Temporarily disable build-time tests
* Mon Jun 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.0-1
- Update to version 1.5.0
- Adds support for "intents" in Modulemd.Defaults
- Adds `Modulemd.get_version()`
- Adds support for RPM whitelists in the buildopts
- Adds a new object: Modulemd.Buildopts
- Deprecates Modulemd.Module.get_rpm_buildopts()
- Deprecates Modulemd.Module.set_rpm_buildopts()
- Fixes some missing license blurbs
* Tue May 08 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.1-1
- Update to version 1.4.1
- Improve output from modulemd-validator
- Drop upstreamed patches
* Wed Apr 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.0-2
- Fix pointer math error
- Fix compilation failure in Fedora build system
* Wed Apr 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.0-1
- Update to version 1.4.0
- Adds new API for returning failed YAML subdocuments
- Stop emitting log messages by default (polluting consumer logs)
- Validate RPM artifacts for proper NEVRA format
- Improve the validator tool
- Drop upstreamed patch
* Mon Apr 16 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.3.0-2
- Fix serious error in modulemd-defaults emitter
* Fri Apr 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.3.0-1
- Update to version 1.3.0
- New Public Objects:
* Modulemd.Prioritizer - tool to merge module defaults
- New Public Functions:
* Modulemd.SimpleSet.is_equal()
* Modulemd.Defaults.copy()
* Modulemd.Defaults.merge()
* Wed Apr 04 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.2.0-1
- Update to version 1.2.0
- New Functions:
* Modulemd.objects_from_file()
* Modulemd.objects_from_string()
* Modulemd.dump()
* Modulemd.dumps()
* Modulemd.Defaults.new_from_file()
* Modulemd.Defaults.new_from_string()
- Deprecated Functions:
* Modulemd.Module.new_all_from_file()
* Modulemd.Module.new_all_from_file_ext()
* Modulemd.Module.new_all_from_string()
* Modulemd.Module.new_all_from_string_ext()
* Modulemd.Module.dump_all()
* Modulemd.Module.dumps_all()
- Bugfixes
* Properly use G_BEGIN_DECLS and G_END_DECLS in headers
* Assorted fixes for memory ownership in GObject Introspection
* Fri Mar 23 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.3-2
- Fix missing G_END_DECL from public headers
* Mon Mar 19 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.3-1
- Fix numerous memory leaks
- Drop upstreamed patch
* Thu Mar 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.2-1
- Update to version 1.1.2
- Revert backwards-incompatible API change
- Fix version string in pkgconfig file
* Thu Mar 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.1-1
- Update to version 1.1.1
- Make default stream and profiles optional
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/25
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/26
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/27
* Wed Mar 14 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.0-1
- Update to version 1.1.0
- Adds support for handling modulemd-defaults YAML documents
- Adds peek()/dup() routines to all object properties
- Adds Modulemd.Module.dup_nsvc() to retrieve the canonical form of the unique module identifier.
- Adds support for boolean types in the XMD section
- Revert obsoletion of pythonX-modulemd packages for now
* Tue Mar 13 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.4-2
- Obsolete unsupported pythonX-modulemd packages
* Tue Feb 27 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.4-1
- Update to 1.0.4
- Rework version autodetection
- Avoid infinite loop on unparseable YAML
* Sun Feb 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.3-1
- RPM components are properly emitted when no module components exist
- Parser works around late determination of modulemd version
* Fri Feb 16 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.2-1
- Be more strict with certain parser edge-cases
- Replace popt argument processing with glib
- Drop upstreamed patches
* Thu Feb 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.1-2
- Handle certain unlikely format violations
* Thu Feb 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.1-1
- Support modulemd v2
- Add tool to do quick validation of modulemd
- Fix memory management
- Warn and ignore unparseable sub-documents in the YAML
- Fix several memory issues detected by Coverity scan
* Tue Feb 06 2018 Stephen Gallagher <sgallagh@redhat.com> - 0.2.2-1
- Update to libmodulemd 0.2.2
- Fix numerous minor memory leaks
- Fix issues with EOL/SL dates
* Tue Feb 06 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.2.1-3
- Own appropriate directories
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.2.1-2
- Switch to %%ldconfig_scriptlets
* Fri Jan 05 2018 Stephen Gallagher <sgallagh@redhat.com> - 0.2.1-1
- Update to libmodulemd 0.2.1
- Add 'name' property for Profiles
* Thu Oct 05 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.2.0-2
- Add missing BuildRequires for gtk-doc
* Thu Oct 05 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.2.0-1
- Update to libmodulemd 0.2.0
- Adds gtk-doc generated documentation
- (ABI-break) Makes all optional properties accept NULL as a value to clear
them
- (ABI-break) Modulemd.SimpleSet takes a STRV (char **) instead of a
GLib.PtrArray
- Fixes a bug where the name was not always set for components
- Adds support for dumping YAML from the introspected API
- Includes add/remove routines for profiles
* Sat Sep 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.0-5
- Use %%_isa in Requires for main package from devel
* Mon Sep 18 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-4
- Correct the license to MIT
* Mon Sep 18 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-3
- Modifications requested during package review
* Fri Sep 15 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-2
- First public release

1
ci.fmf Normal file
View File

@ -0,0 +1 @@
resultsdb-testcase: separate

23
gating.yaml Normal file
View File

@ -0,0 +1,23 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/internal/CI-Tier-1.functional}

Binary file not shown.

726
libmodulemd.spec Normal file
View File

@ -0,0 +1,726 @@
%if 0%{?rhel} && 0%{?rhel} <= 7
# There is no python3-gobject-base in RHEL 7. But it exists in EPEL 7.
%global meson_python_flags -Dwith_py2=true -Dwith_py3=true
%global build_python2 1
%global build_python3 1
%else
%global meson_python_flags -Dwith_py2=false -Dwith_py3=true
%global build_python2 0
%global build_python3 1
%endif
%if (0%{?fedora} && 0%{?fedora} <= 50) || (0%{?rhel} && 0%{?rhel} <= 10)
# Support RHEL 8 module builds with an invalid buildorder.
%global meson_accept_overflowed_buildorder_flag -Daccept_overflowed_buildorder=true
%else
%global meson_accept_overflowed_buildorder_flag -Daccept_overflowed_buildorder=false
%endif
%global upstream_name libmodulemd
%if (0%{?rhel} && 0%{?rhel} <= 7)
%global v2_suffix 2
%endif
Name: %{upstream_name}%{?v2_suffix}
Version: 2.15.0
Release: 12%{?dist}
Summary: Module metadata manipulation library
# COPYING: MIT
## not in any binary package
# contrib/coverity-modeling.c: GPL-2.0-or-later
# contrib/release-tools/semver: GPL-3.0-only
License: MIT
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,
# <https://github.com/fedora-modularity/libmodulemd/pull/619>.
Patch2: modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.80.1.patch
BuildRequires: gnupg2
BuildRequires: meson >= 0.47
BuildRequires: pkgconfig
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: glib2-doc
BuildRequires: rpm-devel
%if %{build_python2}
BuildRequires: python2-devel
BuildRequires: python-gobject-base
%endif
%if %{build_python3}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-gobject-base
%endif
%description
C library for manipulating module metadata files.
See https://github.com/fedora-modularity/libmodulemd/blob/main/README.md for
more details.
%if %{build_python2}
%package -n python2-%{name}
Summary: Python 2 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python-gobject-base
Requires: python-six
%description -n python2-%{name}
Python 2 bindings for %{name}.
%endif
%if %{build_python3}
%package -n python%{python3_pkgversion}-%{name}
Summary: Python 3 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python%{python3_pkgversion}-gobject-base
%if (0%{?rhel} && 0%{?rhel} <= 7)
# The py3_dist macro on EPEL 7 doesn't work right at the moment
Requires: python3.6dist(six)
%else
Requires: %{py3_dist six}
%endif
%description -n python%{python3_pkgversion}-%{name}
Python %{python3_pkgversion} bindings for %{name}.
%endif
%package devel
Summary: Development files for libmodulemd
Requires: %{name}%{?_isa} = %{version}-%{release}
%if (0%{?rhel} && 0%{?rhel} <= 7)
Conflicts: libmodulemd1-devel
Conflicts: libmodulemd-devel
%endif
%description devel
Development files for %{name}.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1 -n modulemd-%{version}
%build
%meson \
%{meson_accept_overflowed_buildorder_flag} \
-Drpmio=enabled \
-Dskip_introspection=false \
-Dtest_installed_lib=false \
-Dwith_docs=true \
-Dwith_manpages=enabled \
%{meson_python_flags}
%meson_build
%check
export LC_CTYPE=C.utf8
# The tests sometimes time out in CI, so give them a little extra time
%{__meson} test -C %{_vpath_builddir} %{?_smp_mesonflags} --print-errorlogs -t 5
%install
%meson_install
%if ( 0%{?rhel} && 0%{?rhel} <= 7)
# Don't conflict with modulemd-validator from 1.x included in the official
# RHEL 7 repos
mv %{buildroot}%{_bindir}/modulemd-validator \
%{buildroot}%{_bindir}/modulemd-validator%{?v2_suffix}
mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \
%{buildroot}%{_mandir}/man1/modulemd-validator%{?v2_suffix}.1
%endif
%ldconfig_scriptlets
%files
%license COPYING
%doc NEWS README.md
%{_bindir}/modulemd-validator%{?v2_suffix}
%{_mandir}/man1/modulemd-validator%{?v2_suffix}.1*
%{_libdir}/%{upstream_name}.so.2*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Modulemd-2.0.typelib
%files devel
%{_libdir}/%{upstream_name}.so
%{_libdir}/pkgconfig/modulemd-2.0.pc
%{_includedir}/modulemd-2.0/
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/Modulemd-2.0.gir
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/modulemd-2.0/
%if %{build_python2}
%files -n python2-%{name}
%{python2_sitearch}/gi/overrides/
%endif
%if %{build_python3}
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitearch}/gi/overrides/
%endif
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.15.0-12
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Fri Jun 28 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-11
- Rebuild without STI tests
* Wed Jun 26 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-10
- Fix building with glib2-doc 2.80.1 (RHEL-45188)
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.15.0-9
- Bump release for June 2024 mass rebuild
* 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
* Fri Feb 04 2022 Petr Pisar <ppisar@redhat.com> - 2.14.0-1
- 2.14.0 bump
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Petr Pisar <ppisar@redhat.com> - 2.13.0-3
- Accept an invalid buildorder 18446744073709551615 found in RHEL 8 repositories
(https://pagure.io/koji/issue/3025)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jul 09 2021 Petr Pisar <ppisar@redhat.com> - 2.13.0-1
- 2.13.0 bump
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.12.1-2
- Rebuilt for Python 3.10
* Mon May 03 2021 Petr Pisar <ppisar@redhat.com> - 2.12.1-1
- 2.12.1 bump
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 14 2021 Stephen Gallagher <sgallagh@redhat.com> - 2.12.0-1
- Add support for 'buildorder' to Packager documents
* Tue Jan 12 2021 Stephen Gallagher <sgallagh@redhat.com> - 2.11.2-2
- Fix issue with ModuleIndex when input contains only Obsoletes documents
- Fix import issue when built with Python 2 support
* Thu Jan 07 2021 Stephen Gallagher <sgallagh@redhat.com> - 2.11.2-1
- Release 2.11.2
- Extend read_packager_[file|string]() to support overriding the module name
and stream.
* Thu Dec 17 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.11.1-1
- Release 2.11.1
- Ignore Packager documents when running ModuleIndex.update_from_*()
- Add python overrides for XMD in PackagerV3
- Add python override to ignore the GType return when reading packager files
- Add PackagerV3.get_mdversion()
* Thu Dec 10 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.11.0-1
- Release 2.11.0
* Fri Nov 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.10.0-2
- Fix integer size issue on 32-bit platforms
* Fri Nov 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.10.0-1
- Release 2.10.0
- https://github.com/fedora-modularity/libmodulemd/releases/tag/libmodulemd-2.10.0
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 2.9.4-2
- Rebuilt for Python 3.9
* Wed May 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.4-1
- new upstream release: 2.9.4
* Wed May 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.4-2.9.300520.1gitgc19757c
- new upstream release: 2.9.4
* Wed Apr 08 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.3-1
- new upstream release: 2.9.3
* Wed Apr 01 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-4
- Skip rpmdeplint from gating due to https://github.com/fedora-infra/bodhi/issues/3944
* Wed Apr 01 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-3
- Fix build against Python 3.9
- Resolves: rhbz#1817665
* Wed Mar 11 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-2
- new upstream release: 2.9.2
* Wed Mar 11 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-0.20200311.1gitg31bbd4e
- new upstream release: 2.9.2
* Wed Mar 11 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-0.20200311.1gitg31bbd4e
- new upstream release: 2.9.2
* Fri Feb 14 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.1-1
- new upstream release: 2.9.1
* Wed Feb 12 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.9.0-1
- new upstream release: 2.9.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 09 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.8.3-1
- Update to 2.8.3
- Fix compilation issue with glib >= 2.63.3
- Improved modulemd document validation
- Numerous test enhancements
* Thu Oct 24 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.8.2-1
- Update to 2.8.2
- Use safer version of dup()
- Fix loading of YAML module stream with no module or stream name
* Tue Oct 15 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.8.1-1
- Improve the merge logic to handle third-party repos more sanely
* Wed Sep 18 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.8.0-2
- Improvements to ModuleIndex.update_from_defaults_directory()
* Import each file in the directory as a merge rather than an overwrite so
we can detect conflicts.
* Modify the meaning of the 'strict' argument to fail if the merge would
result in a conflict in the default stream setting of a module.
* Wed Sep 04 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.8.0-1
- Update to 2.8.0
- API Changes
* Add Modulemd.Module.get_translation() - Retrieve the translations
associated with a Modulemd.Module
* Add ModuleIndex.update_from_defaults_directory() - Import defaults from a
directory of yaml documents, such as fedora-module-defaults, optionally
providing a second path containing overrides.
- Enhancements
* Modulemd.ModuleIndex.update_from_file() now supports reading files
compressed with gzip, bzip2 or xz. (Issue: #208)
* Documentation updates
- Bugfixes
* Assorted minor issues discovered by static analysis tools.
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.7.0-2
- Rebuilt for Python 3.8
* Thu Aug 15 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.7.0-1
- Update to 2.7.0
- Drop libmodulemd1 subpackage which is now packaged separately
- Add support for 'buildroot' and 'srpm-buildroot' arguments to components
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 03 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.6.0-1
- Update to 2.6.0
- New function ModuleIndexMerger.resolve_ext() allowing for strict merging
- Profile.get_description() now properly returns available translations
- Numerous documentation fixes
- Test improvements
* Wed May 29 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.5.0-2
- Fix memory issue with Module.search_streams() in the python bindings
* Wed May 22 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.5.0-1
- Update to 2.5.0 and 1.8.11
- Ensure that XMD is always emitted in the same order
- Add .clear_*() functions for all .add_*() functions
- Add ModuleStream.equals()
- Add ModuleIndex.get_default_streams()
* Mon May 13 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.4.0-1
- Update to 2.4.0 and 1.8.10
- Add ModuleStreamV2.clear_dependencies() and .remove_dependencies()
- Fix bugs and memory issues with the XMD python bindings
- Assorted documentation enhancements
* Fri May 03 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.3.1-1
- Update to 2.3.1
- Make Modulemd.Component.set_*() functions accept NULL
- Fix segmentation fault in XMD code due to improper memory management
- Fix incompatibility in python2-libmodulemd GObject overrides
- Fix assorted documentation issues
* Mon Apr 22 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.3.0-1
- Add ModuleIndex.update_from_custom()
- Add ModuleIndex.dump_to_custom()
- Add Component.equals()
- Add Module.remove_streams_by_NSVCA()
- Fix bug with emitting lists of scalars in XMD
- Fix bug with deduplication in the ModuleIndexMerger
- Fix serious memory leak
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 2.2.3-3
- Rebuild with Meson fix for #1699099
* Wed Apr 03 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.3-2
- Fix accidental ABI break
* Mon Apr 01 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.3-1
- Update to 2.2.3 and 1.8.6
- Fix header issue with ModulemdRpmMapEntry
* Wed Mar 27 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.2-2
- Don't run tests on armv7hl/aarch64 since they have timeout problems
* Wed Mar 27 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.2-1
- Update to libmodulemd 2.2.2
- Add support for python2 on RHEL and Fedora < 31
- Make python subpackages archful for GObject overrides
* Tue Mar 26 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.1-1
- Update to libmodulemd 2.2.1
- Fixes builds on i686
- Fixes an accidental API error
* Tue Mar 26 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.2.0-1
- Update to libmodulemd 2.2.0
- Support for RPM checksums
- Adds a new directive: "buildafter" for specifying build dependencies
- Adds a new directive: "buildonly" to indicate that a component's built
artifacts should be listed in the "filter" field.
- Deprecate lookup functions by NSVC in favor of NSVCA (including the
architecture.
* Fri Mar 01 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.1.0-4
- Don't run tests on 32-bit ARM due to performance issues causing timeouts
* Fri Mar 01 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.1.0-3
- Have python3-libmodulemd1 properly Obsolete libmodulemd and
python3-libmodulemd < 2.
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jan 26 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.1.0-1
- Update to libmodulemd 2.1.0 and 1.8.2
- Drop upstreamed patches
- Add new API ModuleStream.depends_on_stream() and
ModuleStream.build_depends_on_stream() to help support auto-detection of
when a module stream may need to be rebuilt when its dependencies change.
- Don't fail merges when default streams differ, treat it as "no default for
this module"
- Fix error message
- Copy modified value when copying Modulemd.Defaults objects
- Fixes discovered by clang and coverity static analysis tools
- Test improvements
* Fri Jan 11 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-3
- Fix ordering issue with dependencies
- Use glib2 suppression file when running valgrind tests
* Fri Jan 11 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-2
- Fix issue reading modified value for defaults from YAML streams
* Thu Dec 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-1
- Update to 2.0.0 final
- Assorted fixes for validation
- Add modulemd-validator tool based on v2 code
- Fix a crash when merging defaults
* Tue Dec 11 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-0.beta2
- Update to 2.0.0beta2
- Better validation of stored content during read and write operations
- ModuleIndex now returns FALSE if any subdocument fails
- Fix tests on 32-bit platforms
- Make unknown keys in YAML maps non-fatal for libmodulemd1
- Make unknown keys in YAML maps optionally fatal for libmodulemd 2.x
- Fix RPM version requirements for libmodulemd1
* Mon Dec 10 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.0.0-0.beta1
- Update to 2.0.0beta1
- Total rewrite to 2.0 API
- https://sgallagh.fedorapeople.org/docs/libmodulemd/2.0/
* Fri Oct 26 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.7.0-1
- Update to 1.7.0
- Enhance YAML parser for use with `fedmod lint`
- Support running unit tests against installed packages
- Include all NSVCs for ModuleStreams in ImprovedModule
* Tue Sep 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.4-1
- Update to 1.6.4.
- Add Buildopts to the documentation.
- Deduplicate module streams when merging.
- Drop upstreamed patches.
* Thu Sep 06 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.3-2
- Fix generation of module component YAML
- Output NSVC information using decimal version
* Tue Sep 04 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.3-1
- Update to 1.6.3
- Drop upstreamed patch
- Don't return ModuleStream objects from modulemd_module_new_all_from_*_ext()
- Ensure that Component buildorder property is signed
- Work around optimization bug
- Don't crash dumping translation events without summary or desc
* Thu Aug 09 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.2-2
- Fix backwards-incompatible API change
- Resolves: rhbz#1607083
* Tue Aug 07 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.2-1
- Update to 1.6.2
- Make buildorder a signed integer to match modulemd specification
* Mon Jul 23 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.1-2
- Obsolete unsupported pythonX-modulemd packages
* Fri Jul 20 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.1-1
- Update to 1.6.1
- Fix header include ordering
- Suppress empty sections from .dump() ordering
* Wed Jul 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.6.0-1
- Update to 1.6.0
- Adds Modulemd.ModuleStream object, deprecating Modulemd.Module
- Adds Modulemd.Translation and Modulemd.TranslationEntry objects
- Adds Modulemd.ImprovedModule object that collects streams, defaults and
translations together
- Adds new Modulemd.index_from_*() funtions to get a hash table of
Modulemd.ImprovedModule objects for easier searching
- Moves function documentation to the public headers
- Corrects the license headers to MIT (they were incorrectly listed as MITNFA
in previous releases)
- Makes the "eol" field optional for Modulemd.ServiceLevel
- Clean up HTML documentation
- Fixes a type error on 32-bit systems
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Jun 23 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.2-1
- Update to libdmodulemd 1.5.2
- Don't free uninitialized memory
* Fri Jun 22 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.1-2
- Fix buildopts property not being initialized
* Tue Jun 19 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.1-1
- Update to version 1.5.1
- Re-enable build-time tests
* Mon Jun 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.0-2
- Temporarily disable build-time tests
* Mon Jun 18 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.5.0-1
- Update to version 1.5.0
- Adds support for "intents" in Modulemd.Defaults
- Adds `Modulemd.get_version()`
- Adds support for RPM whitelists in the buildopts
- Adds a new object: Modulemd.Buildopts
- Deprecates Modulemd.Module.get_rpm_buildopts()
- Deprecates Modulemd.Module.set_rpm_buildopts()
- Fixes some missing license blurbs
* Tue May 08 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.1-1
- Update to version 1.4.1
- Improve output from modulemd-validator
- Drop upstreamed patches
* Wed Apr 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.0-2
- Fix pointer math error
- Fix compilation failure in Fedora build system
* Wed Apr 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.4.0-1
- Update to version 1.4.0
- Adds new API for returning failed YAML subdocuments
- Stop emitting log messages by default (polluting consumer logs)
- Validate RPM artifacts for proper NEVRA format
- Improve the validator tool
- Drop upstreamed patch
* Mon Apr 16 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.3.0-2
- Fix serious error in modulemd-defaults emitter
* Fri Apr 13 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.3.0-1
- Update to version 1.3.0
- New Public Objects:
* Modulemd.Prioritizer - tool to merge module defaults
- New Public Functions:
* Modulemd.SimpleSet.is_equal()
* Modulemd.Defaults.copy()
* Modulemd.Defaults.merge()
* Wed Apr 04 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.2.0-1
- Update to version 1.2.0
- New Functions:
* Modulemd.objects_from_file()
* Modulemd.objects_from_string()
* Modulemd.dump()
* Modulemd.dumps()
* Modulemd.Defaults.new_from_file()
* Modulemd.Defaults.new_from_string()
- Deprecated Functions:
* Modulemd.Module.new_all_from_file()
* Modulemd.Module.new_all_from_file_ext()
* Modulemd.Module.new_all_from_string()
* Modulemd.Module.new_all_from_string_ext()
* Modulemd.Module.dump_all()
* Modulemd.Module.dumps_all()
- Bugfixes
* Properly use G_BEGIN_DECLS and G_END_DECLS in headers
* Assorted fixes for memory ownership in GObject Introspection
* Fri Mar 23 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.3-2
- Fix missing G_END_DECL from public headers
* Mon Mar 19 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.3-1
- Fix numerous memory leaks
- Drop upstreamed patch
* Thu Mar 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.2-1
- Update to version 1.1.2
- Revert backwards-incompatible API change
- Fix version string in pkgconfig file
* Thu Mar 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.1-1
- Update to version 1.1.1
- Make default stream and profiles optional
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/25
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/26
- Fixes: https://github.com/fedora-modularity/libmodulemd/issues/27
* Wed Mar 14 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.1.0-1
- Update to version 1.1.0
- Adds support for handling modulemd-defaults YAML documents
- Adds peek()/dup() routines to all object properties
- Adds Modulemd.Module.dup_nsvc() to retrieve the canonical form of the unique module identifier.
- Adds support for boolean types in the XMD section
- Revert obsoletion of pythonX-modulemd packages for now
* Tue Mar 13 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.4-2
- Obsolete unsupported pythonX-modulemd packages
* Tue Feb 27 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.4-1
- Update to 1.0.4
- Rework version autodetection
- Avoid infinite loop on unparseable YAML
* Sun Feb 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.3-1
- RPM components are properly emitted when no module components exist
- Parser works around late determination of modulemd version
* Fri Feb 16 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.2-1
- Be more strict with certain parser edge-cases
- Replace popt argument processing with glib
- Drop upstreamed patches
* Thu Feb 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.1-2
- Handle certain unlikely format violations
* Thu Feb 15 2018 Stephen Gallagher <sgallagh@redhat.com> - 1.0.1-1
- Support modulemd v2
- Add tool to do quick validation of modulemd
- Fix memory management
- Warn and ignore unparseable sub-documents in the YAML
- Fix several memory issues detected by Coverity scan
* Tue Feb 06 2018 Stephen Gallagher <sgallagh@redhat.com> - 0.2.2-1
- Update to libmodulemd 0.2.2
- Fix numerous minor memory leaks
- Fix issues with EOL/SL dates
* Tue Feb 06 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.2.1-3
- Own appropriate directories
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.2.1-2
- Switch to %%ldconfig_scriptlets
* Fri Jan 05 2018 Stephen Gallagher <sgallagh@redhat.com> - 0.2.1-1
- Update to libmodulemd 0.2.1
- Add 'name' property for Profiles
* Thu Oct 05 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.2.0-2
- Add missing BuildRequires for gtk-doc
* Thu Oct 05 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.2.0-1
- Update to libmodulemd 0.2.0
- Adds gtk-doc generated documentation
- (ABI-break) Makes all optional properties accept NULL as a value to clear
them
- (ABI-break) Modulemd.SimpleSet takes a STRV (char **) instead of a
GLib.PtrArray
- Fixes a bug where the name was not always set for components
- Adds support for dumping YAML from the introspected API
- Includes add/remove routines for profiles
* Sat Sep 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.0-5
- Use %%_isa in Requires for main package from devel
* Mon Sep 18 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-4
- Correct the license to MIT
* Mon Sep 18 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-3
- Modifications requested during package review
* Fri Sep 15 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-2
- First public release

View File

@ -0,0 +1,96 @@
From 9d2809090cc0cccd7bab67453dc00cf43a289082 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
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ř <ppisar@redhat.com>
---
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

View File

@ -0,0 +1,53 @@
From 29c339a31b1c753dcdef041e5c2e0e600e48b59d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
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ř <ppisar@redhat.com>
---
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

View File

@ -0,0 +1,64 @@
From f3336199b4e69af3305f156abc7533bed9e9a762 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
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 doesnt 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ř <ppisar@redhat.com>
---
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

View File

@ -0,0 +1,12 @@
summary: Internal CI-Tier-1 tests plan
discover:
- name: libmodulemd
how: fmf
filter: 'tag: CI-Tier-1'
url: https://pkgs.devel.redhat.com/git/tests/libmodulemd
execute:
how: tmt
adjust:
enabled: false
when: distro == centos-stream or distro == fedora

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (modulemd-2.15.0.tar.xz) = 79032eb591cd3b778cb348040150ec4d1ccb8e2890d02c7b7a04f9b1bd376d32c5ae0e2c6dfb8056595fae5e54ea8365de06fe969a0f04b979abad3ff0882033
SHA512 (modulemd-2.15.0.tar.xz.asc) = 07439efcd7d7ca1e67110a13902f2abd978c93872c383dcfde8d78accf9471787877d69fef8dc06ce65fbde3463b7e5201c7d550acbb530062d9990713d8c63a