Name: libcomps Version: 0.1.24 Release: 1%{?dist} Summary: libcomps - a library for working with comps XML files Summary(ru): libcomps — библиотека для работы с comps XML файлами License: GPL-2.0-or-later URL: https://github.com/rpm-software-management/libcomps Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Packager: NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 Vendor: NiceSOFT Distribution: NiceOS.Core BugURL: https://bugs.niceos.ru/ VCS: https://specs.niceos.ru/rmps/%{name} BuildRequires: check-devel BuildRequires: cmake BuildRequires: expat-devel BuildRequires: gcc BuildRequires: libxml2-devel BuildRequires: zlib-devel BuildRequires: python3-xml %description libcomps is a library for handling comps metadata (groups, categories and environments) used by RPM-based package management. It provides parsing and manipulation of comps XML and related metadata for integration in package tools. %description -l ru libcomps — библиотека для работы с метаданными comps (группы, категории и окружения), используемыми в пакетных менеджерах RPM-систем. Она предоставляет возможности разбора и изменения comps XML и связанных метаданных для интеграции в инструменты управления пакетами. %package devel Summary: Development files for the libcomps library Summary(ru): Файлы разработки для библиотеки libcomps Requires: %{name}%{?_isa} = %{version}-%{release} %description -n %{name}-devel Header files, pkg-config metadata and development symlinks for building applications against libcomps. %description -l ru -n %{name}-devel Заголовочные файлы, метаданные pkg-config и ссылки для разработки, необходимые для сборки приложений, использующих libcomps. %package doc Summary: Documentation for the libcomps library Summary(ru): Документация для библиотеки libcomps BuildArch: noarch BuildRequires: doxygen Requires: python3-%{name} = %{version}-%{release} %description -n %{name}-doc Documentation for libcomps, including reference materials and guides. %description -l ru -n %{name}-doc Документация для libcomps, включая справочные материалы и руководства. %package -n python-%{name}-doc Summary: Documentation for the Python libcomps library Summary(ru): Документация для Python-библиотеки libcomps BuildArch: noarch BuildRequires: python3-sphinx BuildRequires: python3-xml Requires: python3-%{name} = %{version}-%{release} %description -n python-%{name}-doc Developer documentation for using libcomps from Python. %description -l ru -n python-%{name}-doc Документация для разработчиков по использованию libcomps из Python. %package -n python3-%{name} Summary: Python 3 bindings for the libcomps library Summary(ru): Python 3 привязки для библиотеки libcomps BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools %{?python_provide:%python_provide python3-%{name}} Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: platform-python-%{name} < %{version}-%{release} %description -n python3-%{name} Python 3 bindings for libcomps, enabling access to comps metadata APIs from Python applications. %description -l ru -n python3-%{name} Python 3 привязки для libcomps, позволяющие приложениям на Python работать с API метаданных comps. %prep %autosetup -p1 -n %{name}-%{version} mkdir -p build-py3 mkdir -p build-doc # RU: Исправление цели py3-copy: в некоторых сборочных окружениях цель отсутствует. # EN: Fix py3-copy target: in some build environments the target is missing. cat << 'EOF' >> libcomps/src/python/pycopy-target-fix.cmake if(NOT TARGET py3-copy) add_custom_target(py3-copy) endif() EOF echo "include(\${CMAKE_CURRENT_SOURCE_DIR}/../pycopy-target-fix.cmake)" | \ cat - libcomps/src/python/pycopy.cmake > libcomps/src/python/pycopy.cmake.fixed \ && mv libcomps/src/python/pycopy.cmake.fixed libcomps/src/python/pycopy.cmake # RU: Отключаем линковку тестов с utility targets, чтобы избежать ошибок CMake. # EN: Drop linking tests to utility targets to avoid CMake errors. sed -i '/target_link_libraries *(test_parse_run/d' libcomps/tests/CMakeLists.txt sed -i '/target_link_libraries *(test_comps_run/d' libcomps/tests/CMakeLists.txt %build pushd build-py3 %cmake ../libcomps/ %cmake_build popd pushd build-doc %cmake ../libcomps/ %cmake_build --target docs %cmake_build --target pydocs popd %install pushd build-py3 %cmake_install popd if [ -d "%{buildroot}%{python3_sitelib}" ]; then find "%{buildroot}%{python3_sitelib}" -type f -name '*.pyc' -delete || : find "%{buildroot}%{python3_sitelib}" -type d -name '__pycache__' -prune -exec rm -rf {} + || : fi %check pushd build-py3 %cmake_build --target test %cmake_build --target pytest popd %if %{undefined ldconfig_scriptlets} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %else %ldconfig_scriptlets %endif %files %license COPYING %doc README.md %attr(0755,root,root) %{_libdir}/%{name}.so.* %files devel %{_includedir}/%{name}/ %{_libdir}/%{name}.so %{_libdir}/pkgconfig/%{name}.pc %files doc %doc build-doc/NiceSOFT-linux-build/docs/libcomps-doc/html %files -n python-%{name}-doc %doc build-doc/NiceSOFT-linux-build/src/python/docs/html %files -n python3-%{name} %{python3_sitearch}/%{name}/ %{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info %changelog * Sat May 09 2026 NiceOS Team - 0.1.24-1 - EN: - Update libcomps from 0.1.23 to 0.1.24. - Upstream release appears maintenance-oriented: memory-leak fix, Python binding cleanup, CMake 3.27 compatibility, test maintenance, and a data-correctness fix for COMPS_ElemInfo attributes. - No explicit upstream ABI/API break was identified, but manual review is recommended because release notes are minimal and one fix changes a runtime data invariant. - RU: - Обновить libcomps с версии 0.1.23 до 0.1.24. - Upstream-релиз выглядит как maintenance-обновление: исправление утечки памяти, cleanup в Python bindings, совместимость с CMake 3.27, обновление тестов и исправление инварианта данных для COMPS_ElemInfo attributes. - Явных ABI/API-breaking изменений не выявлено, но рекомендуется manual review, так как release notes минимальны и один из фиксов меняет runtime-инвариант данных. * Fri Jan 09 2026 NiceOS Team - 0.1.23-1 - Initial build for NiceOS (Первая сборка для НАЙС.ОС)