Blame SPECS/libmodulemd.spec

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