%global majorversion 1 %global minorversion 3 %global patchversion 0 %global majorminorversion %{majorversion}.%{minorversion} %global nsversion %{majorversion}.0 Name: libmodulemd Version: %{majorminorversion}%{?patchversion:.%{patchversion}} 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 BuildRequires: gcc BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(yaml-0.1) BuildRequires: pkgconfig(gtk-doc) BuildRequires: python3-gobject-base # Patches # Defaults emitter wasn't following the spec properly. Included upstream # https://github.com/fedora-modularity/libmodulemd/commit/2f302ac7dfa5d922cf1981752153f53a69eaa2c9 Patch0001: 0001-Defaults-emitter-should-use-the-correct-name-key.patch %description C Library for manipulating module metadata files. See https://github.com/fedora-modularity/libmodulemd/blob/master/README.md for more details. %package devel Summary: Development files for libmodulemd Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for libmodulemd. %prep %autosetup -p1 -n modulemd-%{version} %build %meson %meson_build %check export LC_CTYPE=C.utf8 %meson_test %install %meson_install %ldconfig_scriptlets %files %license COPYING %doc README.md %{_bindir}/modulemd-validator %{_libdir}/%{name}.so.%{majorversion}* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/Modulemd-%{nsversion}.typelib %files devel %{_libdir}/%{name}.so %{_libdir}/pkgconfig/modulemd.pc %{_includedir}/modulemd/ %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/Modulemd-%{nsversion}.gir %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html %{_datadir}/gtk-doc/html/modulemd/ %changelog * Mon Apr 16 2018 Stephen Gallagher - 1.3.0-2 - Fix serious error in modulemd-defaults emitter * Fri Apr 13 2018 Stephen Gallagher - 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 - 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 - 1.1.3-2 - Fix missing G_END_DECL from public headers * Mon Mar 19 2018 Stephen Gallagher - 1.1.3-1 - Fix numerous memory leaks - Drop upstreamed patch * Thu Mar 15 2018 Stephen Gallagher - 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 - 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 - 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 - 1.0.4-2 - Obsolete unsupported pythonX-modulemd packages * Tue Feb 27 2018 Stephen Gallagher - 1.0.4-1 - Update to 1.0.4 - Rework version autodetection - Avoid infinite loop on unparseable YAML * Sun Feb 25 2018 Stephen Gallagher - 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 - 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 - 1.0.1-2 - Handle certain unlikely format violations * Thu Feb 15 2018 Stephen Gallagher - 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 - 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 - 0.2.1-3 - Own appropriate directories * Fri Feb 02 2018 Igor Gnatenko - 0.2.1-2 - Switch to %%ldconfig_scriptlets * Fri Jan 05 2018 Stephen Gallagher - 0.2.1-1 - Update to libmodulemd 0.2.1 - Add 'name' property for Profiles * Thu Oct 05 2017 Stephen Gallagher - 0.2.0-2 - Add missing BuildRequires for gtk-doc * Thu Oct 05 2017 Stephen Gallagher - 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 - 0.1.0-5 - Use %%_isa in Requires for main package from devel * Mon Sep 18 2017 Stephen Gallagher - 0.1.0-4 - Correct the license to MIT * Mon Sep 18 2017 Stephen Gallagher - 0.1.0-3 - Modifications requested during package review * Fri Sep 15 2017 Stephen Gallagher - 0.1.0-2 - First public release