commit
bae253277f
@ -0,0 +1,2 @@
|
|||||||
|
SOURCES/modulemd-1.8.16.tar.xz
|
||||||
|
SOURCES/modulemd-2.13.0.tar.xz
|
@ -0,0 +1,2 @@
|
|||||||
|
6e55eddb35afc4cd28b6d8cb248f821af5f49dd7 SOURCES/modulemd-1.8.16.tar.xz
|
||||||
|
e83886f374922ecf6fa728c6c588d697d0748b99 SOURCES/modulemd-2.13.0.tar.xz
|
@ -0,0 +1,192 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,484 @@
|
|||||||
|
%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
|
||||||
|
|
Loading…
Reference in new issue