%if 0%{?rhel} && 0%{?rhel} <= 7 %global meson_python_flags -Dwith_py2=true %global build_python2 1 %else %global meson_python_flags -Dwith_py2=false %global build_python2 0 %endif %global upstream_name libmodulemd %if (0%{?rhel} && 0%{?rhel} <= 7) %global v2_suffix 2 %endif # Rawhide builds currently fail when building with LTO %define _lto_cflags %{nil} Name: %{upstream_name}%{?v2_suffix} Version: 2.15.0 Release: 20230517123040.0.gbfde7f2%{?dist} Summary: Module metadata manipulation library License: MIT URL: https://github.com/fedora-modularity/libmodulemd Source0: libmodulemd-2.15.0-20230517123040.0.gbfde7f2.tar.xz BuildRequires: meson >= 0.55 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 BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-gobject-base # Patches %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 %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} %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 libmodulemd. %prep %autosetup -p1 -n modulemd-%{version} -n libmodulemd-2.15.0-20230517123040.0.gbfde7f2 %build %meson %{meson_python_flags} %meson_build %check export LC_CTYPE=C.utf8 # Don't run tests on ARM for now. There are problems with # performance on the builders and often these time out. %ifnarch %{arm} aarch64 # 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 %endif %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 %files -n python%{python3_pkgversion}-%{name} %{python3_sitearch}/gi/overrides/ %changelog * Wed May 10 2023 rpm-gitoverlay - 2.15.0-20230517123040.0.gbfde7f2 - [bfde7f2] Initialize automaticly freed variables where the function could return before the first assignment (Petr Písař) - [9f0c090] doc: NEWS for 2.15.0 (Petr Písař) - [5341acf] Replace "whitelist" with allowed_build_names (Petr Písař) - [44fc186] Replace "master" word with less evocative synonyms (Petr Písař) - [b9ba941] Convert license identifiers to an SPDX format (Petr Písař) - [1b5f74e] Correct a typo in a comment (Petr Písař) - [feefc5c] Lessen quoting for git commit IDs (Petr Písař) - [6a46125] Auto-quote values in obsoletes, streams, translations (Petr Písař) - [cb8d47e] Auto-quote all values in modulemd-defaults-v1 documents (Petr Písař) - [3002371] Double-quote strings in scalar values only when they look like a number (Petr Písař) - [8827603] CI: EndBug/add-and-commit@v9 removed "token" input argument (Petr Písař) - [31beacb] CI: Move uraimo/run-on-arch-action from v2.0.7 to v2 (Petr Písař) - [af11a6e] CI: Move EndBug/add-and-commit from v6 to v9 (Petr Písař) - [708d89f] CI: Move actions/checkout from v2 to v3 tag (Petr Písař) - [0d1d7e4] Add a support for decompressing Zstandard-compressed YAML files (Petr Písař) - [ce1ff53] CI: Enable tests on Mandriva (Petr Písař) - [e143f2d] CI: Remove -Dlibmgic meson options from CI (Petr Písař) - [b528e34] CI: Remove an architecture from ci-docs.sh and ci-autoformat.sh (Petr Písař) - [305c163] CI: Change hard-coded fedora:32 to fedora:latest (Petr Písař) - [29ef065] Code auto-formatting (Petr Písař) - [6f39c11] CI: Remove disabling seccomp for a container manager (Petr Písař) - [3d9a471] CI: Run tests on ubuntu-latest (Petr Písař) - [71ecb12] Remove an optional dependency on file library (libmagic) (Petr Písař) - [abeec3e] CI: Remove compatibility code for meson < 0.55.0 (Petr Písař) - [c5198bf] Remove tautological mesion version conditions (Petr Písař) - [6d3e284] Increase Meson version to 0.55 and remove deprecated meson functions (Matt Jolly) - [4662d88] Code auto-formatting (Libmodulemd CI) - [3f1996d] Fix warnings about passing unsigned char * to strcmp() (Petr Písař) - [28a0e15] Spec: YAML: Clarify when a content license can be missing (Petr Písař) - [13f97b4] Spec: XML: Fix a typo in the format (comunity) (Petr Písař) - [b29b4e0] Spec: XML: Add a top-level README (Petr Písař) - [52ee820] Spec: XML: Remove intents (Petr Písař) - [4df1550] Spec: XML: Remove RPM checksums (Petr Písař) - [8bd4f5b] Spec: XML: Remove service levels (Petr Písař) - [b35c040] Spec: XML: Dependencies without conflict elements cannot conflict implicitly (Petr Písař) - [5041775] Spec: XML: Remove dependencies-or level and flatten dependencies-and (Petr Písař) - [8562ee1] Spec: XML: Split specification into complete and reduced (Petr Písař) - [b93a253] Spec: XML: Recommend sorting module names, streams, versions (Petr Písař) - [2a492b8] Spec: XML: Reorganize files (Petr Písař) - [7613f41] Spec: XML: Split version of the format to version and revision (Petr Písař) - [ebe92e5] Spec: XML: Limit maximal length of identifiers to 255 characters (Petr Písař) - [99e3a96] Spec: XML: Relax license syntax (Petr Písař) - [45965b2] Spec: XML: Multiple service levels are allowed (Petr Písař) - [829399a] Spec: XML: Service level end expressed as a timestamp (Petr Písař) - [634cd6b] Spec: XML: Prevent from duplicate licenses (Petr Písař) - [fbbc1d3] Spec: XML: Tests for licenses (Petr Písař) - [ba7a1e6] Spec: XML: nevra checksums are attributes now (Petr Písař) - [b6087f0] Spec: XML: Intent is an arbitrary string (Petr Písař) - [d2a278a] Spec: XML: Obsolete and service level date-times are inclusive (Petr Písař) - [3d8204f] Spec: XML: Build summaries and licenses are single-line, other texts multi-line (Petr Písař) - [e06e6d1] Spec: XML: Fix a test harness (Petr Písař) - [9cb5f2d] Spec: XML: Clarify that obsoletes applies only to static-context module builds (Petr Písař) - [c021026] Spec: XML: Service level can contain underscores (Petr Písař) - [d4383b4] Spec: XML: Change locale identifiers from RFC 1766 to GNU libc (Petr Písař) - [f1e8d66] Spec: XML: Deny an empty list of translations (Petr Písař) - [6210c6c] Spec: XML: Context-specific obsolete overrides context-unspecific obsolete ever for reset (Petr Písař) - [372b5ce] Spec: XML: Require a unique context for an obsolete (Petr Písař) - [68f6234] Spec: XML: Allow empty and missing values for descriptive text (Petr Písař) - [0c29981] Spec: XML: build/@static is optional and defaults to false (Petr Písař) - [f2a39f0] Spec: XML: Contrain an alphabet of a module architecture (Petr Písař) - [efb0744] Spec: XML: Ad a forgotten test for a duplicate translation of the obsoletes (Petr Písař) - [d826902] Spec: XML: Restrict module, stream, profile alphabet (Petr Písař) - [eb87691] Spec: XML: Allow missing @name in at intents (Petr Písař) - [1747b16] Spec: XML: Allow missing @context in an obsolete translation (Petr Písař) - [d3fc1a2] Spec: XML: Constrain default stream intents to unique values (Petr Písař) - [2bf9d02] Spec: XML: stream uniqueness already constrained (Petr Písař) - [10a2774] Spec: XML: Require unique checksum types (Petr Písař) - [f27bf4e] Spec: XML: Automate testing the XML schema (Petr Písař) - [4aca699] Spec: XML: Require unique translation locale, profile, obsolete context (Petr Písař) - [eb6a6eb] Spec: XML: Require unique profile names and packages in a build (Petr Písař) - [d40ed6c] Spec: XML: Require unique module, stream, intent, and default profile names (Petr Písař) - [90c245e] Spec: XML: Clarify constrains for RPM package names and versions (Petr Písař) - [3cfe315] Spec: Add an XML schema (Petr Písař) - [ff0220b] Spec: XML: Move default, obselete, translation into stream level (Petr Písař) - [e38d625] Spec: Extend XML format for translations with obsolete messages (Petr Písař) - [2e61ebf] Spec: Use UNIX times instead of day-time strings in XML (Petr Písař) - [4048e26] Spec: Correct indentation in an XML example (Petr Písař) - [2133138] Spec: Add an example of data in XML format (Petr Písař) - [20c7e02] Spec: RPM packages checksums explained (Petr Písař) - [7df6ec5] Spec: Extend consise XML format with legacy features (Petr Písař) - [afce513] Spec: obsoletes and tranlations in XML (Petr Písař) - [31c9c78] Spec: defaults n XML (Petr Písař) - [a319d41] Spec: First idea of index format in XML (Petr Písař) - [2edaf37] build: Verify python version (Petr Písař) - [27cf6ee] build: Report a cause of failures in glib-doc and gir overrides search (Petr Písař) - [9d5cced] build: Pass an explicit check argument to run_command() (Petr Písař) - [af23bff] Specification: Deprecate intents in modulemd-defaults (Petr Písař) - [8f7543f] CI: Arch: Install python-six instead of python2-six (Petr Písař) - [4b9b512] CI: Adapt to changes in packit-0.56.0 (Petr Písař) - [a0741ff] CI: Set up debuginfod for Arch (Petr Písař) - [a6daf69] CI: Mark $GITHUB_WORKSPACE directory safe for git (Petr Písař) - [2dac56f] Fix parsing empty profiles (Petr Písař) - [6c80349] ci: Enable tests on Arch without seccomp. (Petr Písař) - [06303be] ci: Disable Arch Linux and OpenMandriva Cooker (Petr Písař) - [5ff54de] ci: Do not install glib2-doc by package name in OpenSUSE (Petr Písař) - [bd07534] Fix a crash when converting a modulemd-packager with a default profile without a module name or stream (Petr Písař) - [d8e5628] ci: Install glib2-doc in OpenSUSE (Petr Písař) - [2b3d7b3] tests: Check a return value of modulemd_module_index_update_from_file() in test-modulemd-merger (Petr Písař) - [0abd956] Code auto-formatting (Libmodulemd CI) - [da8e77d] Double-quote string sets and profiles in modulemd-defaults (Matthias Kruk) - [0ec73bf] Update libmodulemd.spec (JustALawnGnome7) - [3b598b9] Increase version to 2.14.1 (Petr Písař)