import libmodulemd-2.5.0-2.el8
This commit is contained in:
commit
948fdb30d2
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/modulemd-2.5.0.tar.xz
|
1
.libmodulemd.metadata
Normal file
1
.libmodulemd.metadata
Normal file
@ -0,0 +1 @@
|
||||
2b6c3443a36ec821fd289ae6605e9dea4c5dbcda SOURCES/modulemd-2.5.0.tar.xz
|
29
SOURCES/0001-Double-valgrind-timeout.patch
Normal file
29
SOURCES/0001-Double-valgrind-timeout.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 1a7bf143761ff8e3f4f6585b82c0be4dbd511fca Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||
Date: Thu, 23 May 2019 14:00:36 -0400
|
||||
Subject: [PATCH 1/3] Double valgrind timeout
|
||||
|
||||
On some architectures under heavy load, the valgrind check on v2
|
||||
is taking a long time.
|
||||
|
||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||
---
|
||||
modulemd/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modulemd/meson.build b/modulemd/meson.build
|
||||
index 47bd1f58e6401d2634d8ff737c2b347f5ebc6bf5..e49c7a9df76dcf37a18ddeba3150d6c914aa4e25 100644
|
||||
--- a/modulemd/meson.build
|
||||
+++ b/modulemd/meson.build
|
||||
@@ -313,7 +313,7 @@ endif
|
||||
if valgrind.found()
|
||||
modulemd_valgrind_scripts = files('common/tests/test-valgrind.py')
|
||||
test ('valgrind', python3,
|
||||
env : test_env,
|
||||
args : modulemd_valgrind_scripts,
|
||||
- timeout : 600)
|
||||
+ timeout : 1200)
|
||||
endif
|
||||
--
|
||||
2.21.0
|
||||
|
136
SOURCES/0002-Parallelize-the-valgrind-tests.patch
Normal file
136
SOURCES/0002-Parallelize-the-valgrind-tests.patch
Normal file
@ -0,0 +1,136 @@
|
||||
From d9b41f72d4b2d545b2600aff7bd8a27ed0093750 Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||
Date: Wed, 29 May 2019 11:33:57 -0400
|
||||
Subject: [PATCH 2/3] Parallelize the valgrind tests
|
||||
|
||||
This considerably reduces the time needed to perform the valgrind
|
||||
memory tests on systems with multiple available processors. In the
|
||||
case of my laptop, the duration was reduced from ~200s to 90s.
|
||||
|
||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||
---
|
||||
modulemd/common/tests/test-valgrind.py | 74 ++++++++++++++------------
|
||||
1 file changed, 41 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/modulemd/common/tests/test-valgrind.py b/modulemd/common/tests/test-valgrind.py
|
||||
index 9be72c705fde79aa305d831eaa4f31f7e2cc663f..9349749658ccca0529776f3d534664d614c1cb4d 100644
|
||||
--- a/modulemd/common/tests/test-valgrind.py
|
||||
+++ b/modulemd/common/tests/test-valgrind.py
|
||||
@@ -16,13 +16,16 @@ import os
|
||||
import sys
|
||||
import subprocess
|
||||
import tempfile
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
+from multiprocessing import Pool, TimeoutError
|
||||
+
|
||||
if os.getenv('MMD_SKIP_VALGRIND'):
|
||||
sys.exit(77)
|
||||
|
||||
+
|
||||
failed = False
|
||||
|
||||
# Get the list of tests to run
|
||||
proc_result = subprocess.run(['meson', 'test', '--list'],
|
||||
stdout=subprocess.PIPE,
|
||||
@@ -47,13 +50,13 @@ for test in unfiltered_tests:
|
||||
test == 'test_dirty_repo' or
|
||||
test == 'valgrind'):
|
||||
continue
|
||||
tests.append(test)
|
||||
|
||||
+
|
||||
with tempfile.TemporaryDirectory(prefix="libmodulemd_valgrind_") as tmpdirname:
|
||||
- for test in tests:
|
||||
- # TODO: auto-detect the location of the suppression file
|
||||
+ def exec_valgrind(test):
|
||||
valgrind_command = "/usr/bin/valgrind " \
|
||||
"--leak-check=full " \
|
||||
"--suppressions=/usr/share/glib-2.0/valgrind/glib.supp " \
|
||||
"--xml=yes " \
|
||||
"--xml-file=%s/%s.xml " % (tmpdirname, test)
|
||||
@@ -64,45 +67,50 @@ with tempfile.TemporaryDirectory(prefix="libmodulemd_valgrind_") as tmpdirname:
|
||||
'-t', '10',
|
||||
'--logbase=%s' % test,
|
||||
'--wrap=%s' % valgrind_command,
|
||||
test])
|
||||
|
||||
- if proc_result.returncode != 0:
|
||||
- print("Valgrind exited with an error on %s" % test,
|
||||
- file=sys.stderr)
|
||||
- failed = True
|
||||
- continue
|
||||
+ return proc_result.returncode, test
|
||||
|
||||
- # Process the XML for leaks
|
||||
- tree = ET.parse('%s/%s.xml' % (tmpdirname, test))
|
||||
- root = tree.getroot()
|
||||
+ with Pool() as pool:
|
||||
+ for returncode, test in pool.map(exec_valgrind, tests):
|
||||
+ if returncode != 0:
|
||||
+ print("Valgrind exited with an error on %s" % test,
|
||||
+ file=sys.stderr)
|
||||
+ failed = True
|
||||
+ continue
|
||||
|
||||
- for root_child in root:
|
||||
- if (root_child.tag == "error"):
|
||||
- for error_child in root_child:
|
||||
- if error_child.tag == 'kind':
|
||||
- if error_child.text == 'Leak_DefinitelyLost':
|
||||
- print("Memory leak detected in %s" % test,
|
||||
- file=sys.stderr)
|
||||
- failed = True
|
||||
+ # Process the XML for leaks
|
||||
+ tree = ET.parse('%s/%s.xml' % (tmpdirname, test))
|
||||
+ root = tree.getroot()
|
||||
|
||||
- elif error_child.text == 'InvalidFree':
|
||||
- print("Invalid free() detected in %s" % test,
|
||||
- file=sys.stderr)
|
||||
- failed = True
|
||||
+ for root_child in root:
|
||||
+ if (root_child.tag == "error"):
|
||||
+ for error_child in root_child:
|
||||
+ if error_child.tag == 'kind':
|
||||
+ if error_child.text == 'Leak_DefinitelyLost':
|
||||
+ print("Memory leak detected in %s" % test,
|
||||
+ file=sys.stderr)
|
||||
+ failed = True
|
||||
|
||||
- elif error_child.text == 'InvalidRead':
|
||||
- print("Invalid read detected in %s" % test,
|
||||
- file=sys.stderr)
|
||||
- failed = True
|
||||
+ elif error_child.text == 'InvalidFree':
|
||||
+ print("Invalid free() detected in %s" % test,
|
||||
+ file=sys.stderr)
|
||||
+ failed = True
|
||||
|
||||
- elif error_child.text == 'UninitCondition':
|
||||
- print("Uninitialized usage detected in %s" % test,
|
||||
- file=sys.stderr)
|
||||
- failed = True
|
||||
- if failed:
|
||||
- with open('%s/%s.xml' % (tmpdirname, test), 'r') as xml:
|
||||
- print(xml.read())
|
||||
+ elif error_child.text == 'InvalidRead':
|
||||
+ print("Invalid read detected in %s" % test,
|
||||
+ file=sys.stderr)
|
||||
+ failed = True
|
||||
+
|
||||
+ elif error_child.text == 'UninitCondition':
|
||||
+ print(
|
||||
+ "Uninitialized usage detected in %s" %
|
||||
+ test, file=sys.stderr)
|
||||
+ failed = True
|
||||
+ if failed:
|
||||
+ with open('%s/%s.xml' % (tmpdirname, test), 'r') as xml:
|
||||
+ print(xml.read())
|
||||
|
||||
|
||||
if failed:
|
||||
sys.exit(1)
|
||||
--
|
||||
2.21.0
|
||||
|
150
SOURCES/0003-Fix-transfer-type-for-Module.search_streams.patch
Normal file
150
SOURCES/0003-Fix-transfer-type-for-Module.search_streams.patch
Normal file
@ -0,0 +1,150 @@
|
||||
From 340e316bd6384562086b4e381c8cd42b1ccd0781 Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||
Date: Tue, 28 May 2019 14:28:30 -0400
|
||||
Subject: [PATCH 3/3] Fix transfer type for Module.search_streams()
|
||||
|
||||
Technically this is an API-breaking change, but no one is using it
|
||||
yet and it was always expected to be managed this way.
|
||||
|
||||
Fixes: https://github.com/fedora-modularity/libmodulemd/issues/308
|
||||
|
||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||
---
|
||||
modulemd/meson.build | 1 +
|
||||
.../v2/include/modulemd-2.0/modulemd-module.h | 4 +-
|
||||
modulemd/v2/meson.build | 17 ++++++-
|
||||
modulemd/v2/tests/ModulemdTests/module.py | 46 +++++++++++++++++++
|
||||
4 files changed, 65 insertions(+), 3 deletions(-)
|
||||
create mode 100644 modulemd/v2/tests/ModulemdTests/module.py
|
||||
|
||||
diff --git a/modulemd/meson.build b/modulemd/meson.build
|
||||
index e49c7a9df76dcf37a18ddeba3150d6c914aa4e25..e5912d4041ba3e427d13b98c0eeca5217d48244b 100644
|
||||
--- a/modulemd/meson.build
|
||||
+++ b/modulemd/meson.build
|
||||
@@ -229,10 +229,11 @@ test_v2_python_scripts = files(
|
||||
'v2/tests/ModulemdTests/componentrpm.py',
|
||||
'v2/tests/ModulemdTests/defaults.py',
|
||||
'v2/tests/ModulemdTests/defaultsv1.py',
|
||||
'v2/tests/ModulemdTests/dependencies.py',
|
||||
'v2/tests/ModulemdTests/merger.py',
|
||||
+ 'v2/tests/ModulemdTests/module.py',
|
||||
'v2/tests/ModulemdTests/moduleindex.py',
|
||||
'v2/tests/ModulemdTests/modulestream.py',
|
||||
'v2/tests/ModulemdTests/profile.py',
|
||||
'v2/tests/ModulemdTests/rpmmap.py',
|
||||
'v2/tests/ModulemdTests/servicelevel.py',
|
||||
diff --git a/modulemd/v2/include/modulemd-2.0/modulemd-module.h b/modulemd/v2/include/modulemd-2.0/modulemd-module.h
|
||||
index 45be9c0ae96e203707da61d84f18c71c4a826035..0219cfe227652813d20bdf736f9033782084c5ad 100644
|
||||
--- a/modulemd/v2/include/modulemd-2.0/modulemd-module.h
|
||||
+++ b/modulemd/v2/include/modulemd-2.0/modulemd-module.h
|
||||
@@ -129,12 +129,12 @@ modulemd_module_get_stream_by_NSVC (ModulemdModule *self,
|
||||
* @context: (nullable): The context of the stream to retrieve. If NULL, the
|
||||
* context is not included in the search.
|
||||
* @arch: (nullable): The processor architecture of the stream to retrieve. If
|
||||
* NULL, the architecture is not included in the search.
|
||||
*
|
||||
- * Returns: (transfer full) (element-type ModulemdModuleStream): The list of
|
||||
- * stream objects matching the requested parameters. This function cannot
|
||||
+ * Returns: (transfer container) (element-type ModulemdModuleStream): The list
|
||||
+ * of stream objects matching the requested parameters. This function cannot
|
||||
* fail, but it may return a zero-length list if no matches were found. The
|
||||
* returned streams will be in a predictable order, sorted first by stream
|
||||
* name, then by version (highest to lowest), then by context and finally by
|
||||
* architecture.
|
||||
*
|
||||
diff --git a/modulemd/v2/meson.build b/modulemd/v2/meson.build
|
||||
index 3f45db2c4e0e9a8996c74dffd949d5276082dc6f..e8a5a38f0528c4f860f0b84ef63609ff5fd89caa 100644
|
||||
--- a/modulemd/v2/meson.build
|
||||
+++ b/modulemd/v2/meson.build
|
||||
@@ -390,20 +390,35 @@ test ('dependencies_python2_debug', python2,
|
||||
args : dependencies_python_script)
|
||||
test ('dependencies_python2_release', python2,
|
||||
env : py_test_release_env,
|
||||
args : dependencies_python_script)
|
||||
|
||||
+# -- Test Modulemd.Module (Python) -- #
|
||||
+module_python_script = files('tests/ModulemdTests/module.py')
|
||||
+test ('module_python3_debug', python3,
|
||||
+ env : py_test_env,
|
||||
+ args : module_python_script)
|
||||
+test ('module_python3_release', python3,
|
||||
+ env : py_test_release_env,
|
||||
+ args : module_python_script)
|
||||
+
|
||||
+test ('module_python2_debug', python2,
|
||||
+ env : py_test_env,
|
||||
+ args : module_python_script)
|
||||
+test ('module_python2_release', python2,
|
||||
+ env : py_test_release_env,
|
||||
+ args : module_python_script)
|
||||
+
|
||||
# -- Test Modulemd.ModuleIndex (Python) -- #
|
||||
moduleindex_python_script = files('tests/ModulemdTests/moduleindex.py')
|
||||
test ('moduleindex_python3_debug', python3,
|
||||
env : py_test_env,
|
||||
args : moduleindex_python_script)
|
||||
test ('moduleindex_python3_release', python3,
|
||||
env : py_test_release_env,
|
||||
args : moduleindex_python_script)
|
||||
|
||||
-moduleindex_python_script = files('tests/ModulemdTests/moduleindex.py')
|
||||
test ('moduleindex_python2_debug', python2,
|
||||
env : py_test_env,
|
||||
args : moduleindex_python_script)
|
||||
test ('moduleindex_python2_release', python2,
|
||||
env : py_test_release_env,
|
||||
diff --git a/modulemd/v2/tests/ModulemdTests/module.py b/modulemd/v2/tests/ModulemdTests/module.py
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..b604d9c9b357c4a5211d3ba5b4d0aba08c3a42bd
|
||||
--- /dev/null
|
||||
+++ b/modulemd/v2/tests/ModulemdTests/module.py
|
||||
@@ -0,0 +1,46 @@
|
||||
+#!/usr/bin/python3
|
||||
+
|
||||
+# This file is part of libmodulemd
|
||||
+# Copyright (C) 2017-2018 Stephen Gallagher
|
||||
+#
|
||||
+# Fedora-License-Identifier: MIT
|
||||
+# SPDX-2.0-License-Identifier: MIT
|
||||
+# SPDX-3.0-License-Identifier: MIT
|
||||
+#
|
||||
+# This program is free software.
|
||||
+# For more information on the license, see COPYING.
|
||||
+# For more information on free software, see
|
||||
+# <https://www.gnu.org/philosophy/free-sw.en.html>.
|
||||
+
|
||||
+from os import path
|
||||
+import sys
|
||||
+try:
|
||||
+ import unittest
|
||||
+ import gi
|
||||
+ gi.require_version('Modulemd', '2.0')
|
||||
+ from gi.repository import Modulemd
|
||||
+ from gi.repository.Modulemd import ModuleIndex
|
||||
+ from gi.repository import GLib
|
||||
+except ImportError:
|
||||
+ # Return error 77 to skip this test on platforms without the necessary
|
||||
+ # python modules
|
||||
+ sys.exit(77)
|
||||
+
|
||||
+from base import TestBase
|
||||
+
|
||||
+
|
||||
+class TestModule(TestBase):
|
||||
+
|
||||
+ def test_search_streams(self):
|
||||
+ idx = Modulemd.ModuleIndex.new()
|
||||
+ idx.update_from_file(path.join(self.source_root,
|
||||
+ "modulemd/v2/tests/test_data/f29.yaml"),
|
||||
+ True)
|
||||
+ module = idx.get_module('nodejs')
|
||||
+
|
||||
+ self.assertEquals(len(module.search_streams('8', 0)), 1)
|
||||
+ self.assertEquals(len(module.search_streams('10', 0)), 1)
|
||||
+
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ unittest.main()
|
||||
--
|
||||
2.21.0
|
||||
|
443
SPECS/libmodulemd.spec
Normal file
443
SPECS/libmodulemd.spec
Normal file
@ -0,0 +1,443 @@
|
||||
%global libmodulemd_version 2.5.0
|
||||
%global libmodulemd_v1_version 1.8.11
|
||||
|
||||
Name: libmodulemd
|
||||
Version: %{libmodulemd_version}
|
||||
Release: 2%{?dist}
|
||||
Summary: Module metadata manipulation library
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/fedora-modularity/libmodulemd
|
||||
Source0: %{url}/releases/download/%{name}-%{version}/modulemd-%{version}.tar.xz
|
||||
|
||||
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: python3-devel
|
||||
BuildRequires: python3-gobject-base
|
||||
%ifarch %{valgrind_arches}
|
||||
BuildRequires: valgrind
|
||||
%endif
|
||||
|
||||
# Make sure we upgrade libmodulemd1 to match
|
||||
Conflicts: libmodulemd1 < %{libmodulemd_v1_version}-%{release}
|
||||
|
||||
|
||||
# Patches
|
||||
Patch0001: 0001-Double-valgrind-timeout.patch
|
||||
Patch0002: 0002-Parallelize-the-valgrind-tests.patch
|
||||
Patch0003: 0003-Fix-transfer-type-for-Module.search_streams.patch
|
||||
|
||||
|
||||
%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}
|
||||
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}
|
||||
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}
|
||||
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
|
||||
%autosetup -p1 -n modulemd-%{libmodulemd_version}
|
||||
|
||||
|
||||
%build
|
||||
%define _vpath_builddir api1
|
||||
%meson -Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false
|
||||
%meson_build
|
||||
|
||||
%define _vpath_builddir api2
|
||||
%meson -Ddeveloper_build=false -Dbuild_api_v1=false -Dbuild_api_v2=true -Dwith_py3_overrides=true -Dwith_py2_overrides=false
|
||||
%meson_build
|
||||
|
||||
|
||||
%check
|
||||
|
||||
export LC_CTYPE=C.utf8
|
||||
|
||||
%ifarch %{power64} s390x
|
||||
# Valgrind is broken on ppc64[le] with GCC7:
|
||||
# https://bugs.kde.org/show_bug.cgi?id=386945
|
||||
export MMD_SKIP_VALGRIND=1
|
||||
%endif
|
||||
%ifnarch %{valgrind_arches}
|
||||
export MMD_SKIP_VALGRIND=1
|
||||
%endif
|
||||
|
||||
%define _vpath_builddir api1
|
||||
%meson_test
|
||||
|
||||
%define _vpath_builddir api2
|
||||
%meson_test
|
||||
|
||||
|
||||
%install
|
||||
%define _vpath_builddir api1
|
||||
%meson_install
|
||||
|
||||
%define _vpath_builddir api2
|
||||
%meson_install
|
||||
|
||||
ln -s libmodulemd.so.%{libmodulemd_v1_version} \
|
||||
%{buildroot}%{_libdir}/%{name}.so.compat
|
||||
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc README.md
|
||||
%{_bindir}/modulemd-validator
|
||||
%{_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 COPYING
|
||||
%doc 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
|
||||
* 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
Block a user