diff --git a/.gitignore b/.gitignore index 30b3abd..a7ee10e 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,5 @@ /subscription-manager-cockpit-1.28.6.tar.gz /subscription-manager-1.29.0.tar.gz /subscription-manager-cockpit-1.29.0.tar.gz +/subscription-manager-1.29.1.tar.gz +/subscription-manager-cockpit-1.29.1.tar.gz diff --git a/sources b/sources index 5503640..2444834 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (subscription-manager-1.29.0.tar.gz) = 5371241937a839f61f753f1c361d0d9b6fcea4d5d1113598c20590f9fdde6e9fa6c5b1a6729f090773684d42fd1faac537d1db3f4e542e38bfd6747a79dfda4d -SHA512 (subscription-manager-cockpit-1.29.0.tar.gz) = 5ba509bd6369fa6def866d3984eedd03f8cd250edbb7ec53387f0332583bc587a4c88ebf005ea65c81f9e49f95834b92dece0848ccd53c8fdb20fb989595474a +SHA512 (subscription-manager-1.29.1.tar.gz) = 1450066f246abc3aaca4a8f7224573cccb0194b4af36e09c2b213f8e6ca2e773e91d5498984772cd21c28cca0a03674df074bda9ad2ee6a0229f473dc6954e7d +SHA512 (subscription-manager-cockpit-1.29.1.tar.gz) = e740c2576a9f76c8f90fb938087fca9cac5ea6b4131aea9de8bfdb3e03064f98c61ea8132588492919d8911f89e573985c10082556a426d244d5e853b2294023 diff --git a/subscription-manager.spec b/subscription-manager.spec index a650c45..9e85c9b 100644 --- a/subscription-manager.spec +++ b/subscription-manager.spec @@ -100,6 +100,7 @@ %endif %global use_dnf (%{with python3} && (0%{?fedora} || (0%{?rhel}))) || (0%{?rhel} >= 7) +%global create_libdnf_rpm (0%{?fedora} > 32 || 0%{?rhel} > 8) %global use_yum (0%{?rhel} && 0%{?rhel} <= 7) %global use_cockpit 0%{?fedora} || 0%{?rhel} >= 7 @@ -243,7 +244,7 @@ %global use_rhsm_icons 0%{use_cockpit} || 0%{use_rhsm_gtk} Name: subscription-manager -Version: 1.29.0 +Version: 1.29.1 Release: 1%{?dist} Summary: Tools and libraries for subscription and repository management %if 0%{?suse_version} @@ -303,7 +304,7 @@ Requires: %{py_package_prefix}-python-dateutil BuildRequires: %{py_package_prefix}-dateutil Requires: %{py_package_prefix}-dateutil %endif -Requires: %{py_package_prefix}-syspurpose +Requires: %{py_package_prefix}-syspurpose = %{version}-%{release} # rhel 8 has different naming for setuptools going forward %if (0%{?rhel} && 0%{?rhel} == 8) @@ -322,9 +323,15 @@ Requires: %{?suse_version:dbus-1-python} %{!?suse_version:dbus-python} Requires: %{?suse_version:yum} %{!?suse_version:yum >= 3.2.29-73} %endif -%if (%{use_dnf} && (0%{?fedora} || 0%{?rhel} >= 8)) +%if %{use_dnf} +%if %{create_libdnf_rpm} +Requires: dnf >= 1.0.0 +Requires: python3-dnf-plugins-core +Requires: python3-librepo +%else Requires: dnf-plugin-subscription-manager = %{version} %endif +%endif # Support GTK2 and GTK3 on both SUSE and RHEL... %if 0%{?suse_version} @@ -399,6 +406,17 @@ BuildRequires: systemd Obsoletes: subscription-manager-plugin-container %endif +%if %{use_dnf} +%if %{create_libdnf_rpm} +# The libdnf plugin is in separate RPM, but shubscription-manager should be dependent +# on this RPM, because somebody can install microdnf on host and installing of product +# certs would not work as expected without libdnf plugin +Requires: libdnf-plugin-subscription-manager = %{version} +# The dnf plugin is now part of subscription-manager +Obsoletes: dnf-plugin-subscription-manager +%endif +%endif + %description The Subscription Manager package provides programs and libraries to allow users to manage subscriptions and yum repositories from the Red Hat entitlement @@ -412,7 +430,6 @@ Group: Productivity/Networking/System %else Group: System Environment/Base %endif -Requires: %{name} = %{version}-%{release} %description -n %{py_package_prefix}-syspurpose Provides the syspurpose commandline utility. This utility manages the system syspurpose. @@ -513,10 +530,11 @@ This package contains scripts that aid in moving to certificate based subscriptions %endif - -%if %use_dnf -%package -n dnf-plugin-subscription-manager -Summary: Subscription Manager plugins for DNF +%if %{use_dnf} +# RPM containing DNF plugin +%if %{create_libdnf_rpm} +%package -n libdnf-plugin-subscription-manager +Summary: Subscription Manager plugin for libdnf %if 0%{?suse_version} Group: Productivity/Networking/System %else @@ -547,11 +565,34 @@ Requires: python2-librepo %endif Requires: dnf >= 1.0.0 +%description -n libdnf-plugin-subscription-manager +This package provides a plugin to interact with repositories from the Red Hat +entitlement platform; contains only one product-id binary plugin used by +e.g. microdnf. +%else +# RPM containing DNF plugin +%package -n dnf-plugin-subscription-manager +Summary: Subscription Manager plugins for DNF +%if 0%{?suse_version} +Group: Productivity/Networking/System +%else +Group: System Environment/Base +%endif +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: json-c-devel +BuildRequires: libdnf-devel >= 0.22.5 +Requires: json-c +Requires: libdnf >= 0.22.5 +Requires: python3-dnf-plugins-core +Requires: python3-librepo +Requires: dnf >= 1.0.0 %description -n dnf-plugin-subscription-manager This package provides plugins to interact with repositories and subscriptions from the Red Hat entitlement platform; contains subscription-manager and product-id plugins. %endif +%endif %if %use_firstboot @@ -750,7 +791,7 @@ make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ python2 ./setup.py build --quiet --gtk-version=%{?gtk3:3}%{?!gtk3:2} --rpm-version=%{version}-%{release} %endif -%if (%{use_dnf} && (0%{?fedora} >= 29 || 0%{?rhel} >= 8)) +%if %{use_dnf} pushd src/dnf-plugins/product-id %cmake -DCMAKE_BUILD_TYPE="Release" %if (0%{?rhel} && 0%{?rhel} <= 8) @@ -779,7 +820,7 @@ make -f Makefile install VERSION=%{version}-%{release} \ %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} \ %{?exclude_packages} -%if (%{use_dnf} && (0%{?fedora} >= 29 || 0%{?rhel} >= 8)) +%if %{use_dnf} pushd src/dnf-plugins/product-id mkdir -p %{buildroot}%{_libdir}/libdnf/plugins %if (0%{?rhel} && 0%{?rhel} <= 8) @@ -1032,6 +1073,11 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %{_prefix}/lib/yum-plugins/search-disabled-repos.py* %endif +# When libdnf rpm is created, then dnf plugin is part of subscription-manager rpm +%if %{create_libdnf_rpm} +%{python_sitelib}/dnf-plugins/* +%endif + # zypper plugins %if 0%{?suse_version} %{_prefix}/lib/zypp/plugins/services/rhsm @@ -1270,11 +1316,18 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %endif -%if %use_dnf +%if %{use_dnf} +# libdnf RPM +%if %{create_libdnf_rpm} +%files -n libdnf-plugin-subscription-manager +%defattr(-,root,root,-) +%{python_sitelib}/dnf-plugins/* +%{_libdir}/libdnf/plugins/product-id.so +%else +# DNF RPM %files -n dnf-plugin-subscription-manager %defattr(-,root,root,-) %{python_sitelib}/dnf-plugins/* -%if (0%{?fedora} >= 29 || 0%{?rhel} >= 8) %{_libdir}/libdnf/plugins/product-id.so %endif %endif @@ -1446,6 +1499,19 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Thu Dec 03 2020 Christopher Snyder 1.29.1-1 +- 1894450: Fix issue with identity command; ENT-3235 (#2362) + (jhnidek@redhat.com) +- Extended D-Bus API - syspurpose methods; ENT-2373 (jhnidek@redhat.com) +- 1855437: Fixed rpm dependency of subscription-manager; ENT-3250 + (jhnidek@redhat.com) +- Fix building libdnf-plugin RPM; ENT-3192 (jhnidek@redhat.com) +- Create log dir by rhsmcertd, when log dir does not exist (jhnidek@redhat.com) +- Try to fix Suse tests. (jhnidek@redhat.com) +- improve the help message for attach --auto (ondrej@budai.cz) +- 1890080: Handle IOErrors and Exceptions when looking for process names + (csnyder@redhat.com) + * Mon Nov 16 2020 Christopher Snyder 1.29.0-1 - 1850624: Uncaught JSONDecodeError when content_access.json is empty and registering to Satellite6 (wpoteat@redhat.com)