import subscription-manager-1.26.9-1.el8

This commit is contained in:
CentOS Sources 2020-01-21 16:23:07 -05:00 committed by Stepan Oksanichenko
parent abdac4d01c
commit 620b006d9c
3 changed files with 392 additions and 47 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/subscription-manager-1.25.11.tar.gz SOURCES/subscription-manager-1.26.9.tar.gz
SOURCES/subscription-manager-cockpit-1.25.11.tar.gz SOURCES/subscription-manager-cockpit-1.26.9.tar.gz

View File

@ -1,2 +1,2 @@
224ed5211b01bac4e5a4e21461d6ea4b0c33f132 SOURCES/subscription-manager-1.25.11.tar.gz 833fd95c2c6d731ff45c50f2cbc9d915e6ca5e48 SOURCES/subscription-manager-1.26.9.tar.gz
19584b0a38ab0aea5756f06a362388337132f914 SOURCES/subscription-manager-cockpit-1.25.11.tar.gz 0f9de0cd11e966b8cac1d5574c2711adf3daf526 SOURCES/subscription-manager-cockpit-1.26.9.tar.gz

View File

@ -8,10 +8,30 @@
%global use_inotify 1 %global use_inotify 1
%global py2_package_prefix python2 %global py2_package_prefix python2
# Plugin for container (docker, podman) is not supported on RHEL 8 and higher
%if (0%{?rhel} && 0%{?rhel} >= 8)
%global use_container_plugin 0
%else
%global use_container_plugin 1
%endif
%if (0%{?rhel} >= 7 || 0%{?fedora}) %if (0%{?rhel} >= 7 || 0%{?fedora})
%global dmidecode_version >= 3.12.2-2 %global dmidecode_version >= 3.12.2-2
%endif %endif
# We use the tmpfiles_create macro from systemd-rpm-macros rpm.
# Because of an incorrect version labelling of that rpm in SLES 12 which
# contains the necessary macro definition, we are not able to simply require
# a certain version of systemd-rpm-macros which will definitely contain this
# macro. To keep our SLES builds working we define the macro here for ourselves.
%if !0%{?tmpfiles_create:1}
%define tmpfiles_create() \
[ -x /usr/bin/systemd-tmpfiles ] && \
/usr/bin/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
%{nil}
%endif
# borrowed from dnf spec file & tweaked # borrowed from dnf spec file & tweaked
%if (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version} %if (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version}
%bcond_with python3 %bcond_with python3
@ -25,7 +45,7 @@
%bcond_without python2_rhsm %bcond_without python2_rhsm
%endif %endif
%if %{with python3} %if %{with python3} || 0%{?suse_version}
%global use_subman_gui 0 %global use_subman_gui 0
%else %else
%global use_subman_gui 1 %global use_subman_gui 1
@ -37,6 +57,12 @@
%global completion_dir %{_datadir}/bash-completion/completions %global completion_dir %{_datadir}/bash-completion/completions
%endif %endif
%if 0%{?suse_version} > 1110
%global run_dir /run
%else
%global run_dir /var/run
%endif
%global rhsm_plugins_dir /usr/share/rhsm-plugins %global rhsm_plugins_dir /usr/share/rhsm-plugins
# on recent Fedora and RHEL 7, let's not use m2crypto # on recent Fedora and RHEL 7, let's not use m2crypto
%global use_m2crypto (0%{?fedora} < 23 && 0%{?rhel} < 7) %global use_m2crypto (0%{?fedora} < 23 && 0%{?rhel} < 7)
@ -46,13 +72,21 @@
%global gtk3 1 %global gtk3 1
%endif %endif
%if 0%{?rhel} == 6 || 0%{?suse_version} %if 0%{?rhel} == 6
%global use_initial_setup 0 %global use_initial_setup 0
%global use_firstboot 1 %global use_firstboot 1
%global use_inotify 0 %global use_inotify 0
%endif %endif
%if %{use_subman_gui} || %{use_initial_setup} || %{use_firstboot} %if 0%{?suse_version}
%global use_initial_setup 0
%global use_firstboot 0
%global use_subman_gui 0
%global use_container_plugin 0
%global use_inotify 0
%endif
%if (%{use_subman_gui} || %{use_initial_setup} || %{use_firstboot})
%global use_rhsm_gtk 1 %global use_rhsm_gtk 1
%else %else
%global use_rhsm_gtk 0 %global use_rhsm_gtk 0
@ -69,7 +103,11 @@
%global py_package_prefix python%{python3_pkgversion} %global py_package_prefix python%{python3_pkgversion}
%global rhsm_package_name %{py_package_prefix}-subscription-manager-rhsm %global rhsm_package_name %{py_package_prefix}-subscription-manager-rhsm
%else %else
%if 0%{?suse_version} >= 1500
%global py_package_prefix python2
%else
%global py_package_prefix python %global py_package_prefix python
%endif
%global rhsm_package_name subscription-manager-rhsm %global rhsm_package_name subscription-manager-rhsm
%endif %endif
@ -84,6 +122,12 @@
%global install_ostree INSTALL_OSTREE_PLUGIN=false %global install_ostree INSTALL_OSTREE_PLUGIN=false
%endif %endif
%if %{use_container_plugin}
%global install_container INSTALL_CONTAINER_PLUGIN=true
%else
%global install_container INSTALL_CONTAINER_PLUGIN=false
%endif
# makefile will guess, but be specific. # makefile will guess, but be specific.
%if 0%{?gtk3} %if 0%{?gtk3}
%global gtk_version GTK_VERSION=3 %global gtk_version GTK_VERSION=3
@ -99,6 +143,7 @@
%if 0%{?suse_version} %if 0%{?suse_version}
%global install_zypper_plugins INSTALL_ZYPPER_PLUGINS=true %global install_zypper_plugins INSTALL_ZYPPER_PLUGINS=true
%global post_boot_tool INSTALL_INITIAL_SETUP=false INSTALL_FIRSTBOOT=false
%else %else
%global install_zypper_plugins INSTALL_ZYPPER_PLUGINS=false %global install_zypper_plugins INSTALL_ZYPPER_PLUGINS=false
%endif %endif
@ -137,12 +182,56 @@
%global subpackages SUBPACKAGES="%{?include_syspurpose:syspurpose}" %global subpackages SUBPACKAGES="%{?include_syspurpose:syspurpose}"
# Build a list of python package to exclude from the build.
# This is necessary because we have multiple rpms which may or may not
# need to be built depending on the distro which are all in one source tree.
# Because the contents of these optional rpms is often a python package in the
# same source tree, if we choose not to build that package and don't tell
# setup.py to exclude those packages, we end up with files that get installed
# in the buildroot which are not packaged. This fails various
# rpm build / verify post steps, which in certain build systems causes the
# entire build to be considered a failure.
# The implementation of building a list iteratively in a spec file looks a bit
# weird. As we want the final value of the global named "exclude_packages" to
# be an environment variable definition it needs to begin with the following
# (less the single quotes): 'EXCLUDE_PACKAGES="'
# After that we can then make all of our checks to see whether certain items
# should be added to the comma separated list or not.
# In setup.py we are parsing the value of the env var as a string separated
# by commas ignoring empty values. That makes the comma at the end of
# each conditional addition to the list still valid.
%global exclude_packages EXCLUDE_PACKAGES="
# add new exclude packages items after me
%if !%{use_rhsm_gtk}
%global exclude_packages %{exclude_packages}subscription_manager.gui,
%endif
%if !%{use_container_plugin}
%global exclude_packages %{exclude_packages}*.plugin.container,}
%endif
# add new exclude_packages items before me
%global exclude_packages %{exclude_packages}"
# Moving our shared icon dependancies to their own package
# Both our cockpit plugin and the rhsm-gtk package require an overlapping
# set of icons.
%global use_rhsm_icons 0%{use_cockpit} || 0%{use_rhsm_gtk}
Name: subscription-manager Name: subscription-manager
Version: 1.25.11 Version: 1.26.9
Release: 1%{?dist} Release: 1%{?dist}
Summary: Tools and libraries for subscription and repository management Summary: Tools and libraries for subscription and repository management
%if 0%{?suse_version}
Group: Productivity/Networking/System
License: GPL-2.0
%else
Group: System Environment/Base Group: System Environment/Base
License: GPLv2 License: GPLv2
%endif
URL: http://www.candlepinproject.org/ URL: http://www.candlepinproject.org/
# How to create the source tarball: # How to create the source tarball:
@ -180,9 +269,19 @@ Requires: %{py_package_prefix}-ethtool
Requires: %{py_package_prefix}-iniparse Requires: %{py_package_prefix}-iniparse
Requires: %{py_package_prefix}-decorator Requires: %{py_package_prefix}-decorator
Requires: virt-what Requires: virt-what
%if 0%{?suse_version}
Requires: logrotate
Requires: cron
%endif
Requires: %{rhsm_package_name} = %{version} Requires: %{rhsm_package_name} = %{version}
Requires: %{py_package_prefix}-six Requires: %{py_package_prefix}-six
Requires: %{py_package_prefix}-dateutil %if 0%{?suse_version} >= 1500
BuildRequires: %{py_package_prefix}-python-dateutil
Requires: %{py_package_prefix}-python-dateutil
%else
BuildRequires: %{py_package_prefix}-dateutil
Requires: %{py_package_prefix}-dateutil
%endif
Requires: %{py_package_prefix}-syspurpose Requires: %{py_package_prefix}-syspurpose
# rhel 8 has different naming for setuptools going forward # rhel 8 has different naming for setuptools going forward
@ -251,7 +350,11 @@ BuildRequires: desktop-file-utils
%endif %endif
BuildRequires: %{?suse_version:dbus-1-glib-devel} %{!?suse_version:dbus-glib-devel} BuildRequires: %{?suse_version:dbus-1-glib-devel} %{!?suse_version:dbus-glib-devel}
%if 0%{?suse_version} <= 1110
BuildRequires: %{?suse_version:sles-release} %{!?suse_version:system-release}
%else
BuildRequires: %{?suse_version:distribution-release} %{!?suse_version:system-release} BuildRequires: %{?suse_version:distribution-release} %{!?suse_version:system-release}
%endif
BuildRequires: %{?suse_version:gconf2-devel} %{!?suse_version:GConf2-devel} BuildRequires: %{?suse_version:gconf2-devel} %{!?suse_version:GConf2-devel}
BuildRequires: %{?suse_version:update-desktop-files} %{!?suse_version:scrollkeeper} BuildRequires: %{?suse_version:update-desktop-files} %{!?suse_version:scrollkeeper}
@ -261,15 +364,18 @@ BuildRequires: %{?gtk3:gtk3-devel} %{!?gtk3:gtk2-devel}
BuildRequires: libzypp BuildRequires: libzypp
%endif %endif
%if %use_systemd
# We need the systemd RPM macros
%if 0%{?suse_version} >= 1210 %if 0%{?suse_version} >= 1210
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%endif %endif
%if %use_systemd
# We need the systemd RPM macros
BuildRequires: systemd BuildRequires: systemd
%endif %endif
%if !%{use_container_plugin}
Obsoletes: subscription-manager-plugin-container
%endif
%description %description
The Subscription Manager package provides programs and libraries to allow users The Subscription Manager package provides programs and libraries to allow users
to manage subscriptions and yum repositories from the Red Hat entitlement to manage subscriptions and yum repositories from the Red Hat entitlement
@ -278,32 +384,45 @@ platform.
%package -n %{py_package_prefix}-syspurpose %package -n %{py_package_prefix}-syspurpose
Summary: A commandline utility for declaring system syspurpose Summary: A commandline utility for declaring system syspurpose
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
%description -n %{py_package_prefix}-syspurpose %description -n %{py_package_prefix}-syspurpose
Provides the syspurpose commandline utility. This utility manages the Provides the syspurpose commandline utility. This utility manages the
system syspurpose. system syspurpose.
%if %{use_container_plugin}
%package -n subscription-manager-plugin-container %package -n subscription-manager-plugin-container
Summary: A plugin for handling container content Summary: A plugin for handling container content
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%description -n subscription-manager-plugin-container %description -n subscription-manager-plugin-container
Enables handling of content of type 'containerImage' in any certificates Enables handling of content of type 'containerImage' in any certificates
from the server. Populates /etc/docker/certs.d appropriately. from the server. Populates /etc/docker/certs.d appropriately.
%endif
%if %{use_rhsm_gtk} %if %{use_rhsm_gtk}
%package -n rhsm-gtk %package -n rhsm-gtk
Summary: GTK+ widgets used by subscription-manager-gui and initial_setup Summary: GTK+ widgets used by subscription-manager-gui and initial_setup
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: %{?gtk3:%{py_package_prefix}-gobject, gtk3} %{!?gtk3:pygtk2, pygtk2-libglade} Requires: %{?gtk3:%{py_package_prefix}-gobject, gtk3} %{!?gtk3:pygtk2, pygtk2-libglade}
Requires: usermode-gtk Requires: usermode-gtk
# Fedora can figure this out automatically, but RHEL cannot: # Fedora can figure this out automatically, but RHEL cannot:
# See #987071 # See #987071
Requires: librsvg2%{?_isa} Requires: librsvg2%{?_isa}
Requires: rhsm-icons
%if 0%{?gtk3} %if 0%{?gtk3}
Requires: font(cantarell) Requires: font(cantarell)
@ -314,6 +433,7 @@ Requires: %{?suse_version:dejavu} %{!?suse_version:dejavu-sans-fonts}
%if !0%{?suse_version} %if !0%{?suse_version}
Requires(post): scrollkeeper Requires(post): scrollkeeper
Requires(postun): scrollkeeper Requires(postun): scrollkeeper
%else
%endif %endif
%description -n rhsm-gtk %description -n rhsm-gtk
@ -325,7 +445,11 @@ and RHSM initial_setup module for Anaconda.
%if %{use_subman_gui} %if %{use_subman_gui}
%package -n subscription-manager-gui %package -n subscription-manager-gui
Summary: A GUI interface to manage Red Hat product subscriptions Summary: A GUI interface to manage Red Hat product subscriptions
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: gnome-icon-theme Requires: gnome-icon-theme
@ -345,7 +469,11 @@ subscriptions.
%package -n subscription-manager-migration %package -n subscription-manager-migration
Summary: Migration scripts for moving to certificate based subscriptions Summary: Migration scripts for moving to certificate based subscriptions
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: rhnlib Requires: rhnlib
@ -363,7 +491,11 @@ subscriptions
%if %use_dnf %if %use_dnf
%package -n dnf-plugin-subscription-manager %package -n dnf-plugin-subscription-manager
Summary: Subscription Manager plugins for DNF Summary: Subscription Manager plugins for DNF
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
%if (0%{?fedora} >= 29 || 0%{?rhel} >= 8) %if (0%{?fedora} >= 29 || 0%{?rhel} >= 8)
BuildRequires: cmake BuildRequires: cmake
BuildRequires: gcc BuildRequires: gcc
@ -374,7 +506,7 @@ Requires: libdnf >= 0.22.5
%endif %endif
# See BZ 1581410 - avoid a circular dependency # See BZ 1581410 - avoid a circular dependency
%if (0%{?rhel} < 8) %if (0%{?rhel} < 8)
Requires: %{name} = %{version}-%{release} Requires: %{name} >= %{version}-%{release}
%endif %endif
%if %{with python3} %if %{with python3}
Requires: python3-dnf-plugins-core Requires: python3-dnf-plugins-core
@ -399,7 +531,11 @@ product-id plugins.
%if %use_firstboot %if %use_firstboot
%package -n subscription-manager-firstboot %package -n subscription-manager-firstboot
Summary: Firstboot screens for subscription manager Summary: Firstboot screens for subscription manager
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: rhsm-gtk = %{version}-%{release} Requires: rhsm-gtk = %{version}-%{release}
Requires: rhn-setup-gnome Requires: rhn-setup-gnome
@ -414,7 +550,11 @@ This package contains the firstboot screens for subscription-manager.
%if %use_initial_setup %if %use_initial_setup
%package -n subscription-manager-initial-setup-addon %package -n subscription-manager-initial-setup-addon
Summary: initial-setup screens for subscription-manager Summary: initial-setup screens for subscription-manager
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: rhsm-gtk = %{version}-%{release} Requires: rhsm-gtk = %{version}-%{release}
Requires: initial-setup-gui >= 0.3.9.24-1 Requires: initial-setup-gui >= 0.3.9.24-1
Obsoletes: subscription-manager-firstboot < 1.15.3-1 Obsoletes: subscription-manager-firstboot < 1.15.3-1
@ -430,7 +570,11 @@ This package contains the initial-setup screens for subscription-manager.
%if %has_ostree %if %has_ostree
%package -n subscription-manager-plugin-ostree %package -n subscription-manager-plugin-ostree
Summary: A plugin for handling OSTree content. Summary: A plugin for handling OSTree content.
%if 0%{?suse_version}
Group: Productivity/Networking/System
%else
Group: System Environment/Base Group: System Environment/Base
%endif
Requires: %{py_package_prefix}-gobject-base Requires: %{py_package_prefix}-gobject-base
# plugin needs a slightly newer version of python-iniparse for 'tidy' # plugin needs a slightly newer version of python-iniparse for 'tidy'
@ -446,12 +590,20 @@ the remote in the currently deployed .origin file.
%package -n %{rhsm_package_name} %package -n %{rhsm_package_name}
Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform
%if 0%{?suse_version}
Group: Development/Libraries/Python
%else
Group: Development/Libraries Group: Development/Libraries
%endif
%if %use_m2crypto %if %use_m2crypto
Requires: %{?suse_version:python-m2crypto} %{!?suse_version:m2crypto} Requires: %{?suse_version:python-m2crypto} %{!?suse_version:m2crypto}
%endif %endif
%if 0%{?suse_version} >= 1500
Requires: %{py_package_prefix}-python-dateutil
%else
Requires: %{py_package_prefix}-dateutil Requires: %{py_package_prefix}-dateutil
%endif
Requires: %{py_package_prefix}-iniparse Requires: %{py_package_prefix}-iniparse
# rpm-python is an old name for python2-rpm but RHEL6 uses the old name # rpm-python is an old name for python2-rpm but RHEL6 uses the old name
Requires: %{py_package_prefix}-six Requires: %{py_package_prefix}-six
@ -479,7 +631,11 @@ entitlements, certificates, and access to content.
%if %{with python2_rhsm} %if %{with python2_rhsm}
%package -n python2-subscription-manager-rhsm %package -n python2-subscription-manager-rhsm
Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform
%if 0%{?suse_version}
Group: Development/Libraries/Python
%else
Group: Development/Libraries Group: Development/Libraries
%endif
BuildRequires: python2-devel BuildRequires: python2-devel
@ -505,7 +661,11 @@ entitlements, certificates, and access to content.
%package -n subscription-manager-rhsm-certificates %package -n subscription-manager-rhsm-certificates
Summary: Certificates required to communicate with a Red Hat Unified Entitlement Platform Summary: Certificates required to communicate with a Red Hat Unified Entitlement Platform
%if 0%{?suse_version}
Group: Development/Libraries/Python
%else
Group: Development/Libraries Group: Development/Libraries
%endif
Provides: python-rhsm-certificates = %{version}-%{release} Provides: python-rhsm-certificates = %{version}-%{release}
Obsoletes: python-rhsm-certificates <= 1.20.3-1 Obsoletes: python-rhsm-certificates <= 1.20.3-1
@ -523,18 +683,42 @@ BuildArch: noarch
Requires: subscription-manager Requires: subscription-manager
Requires: cockpit-bridge Requires: cockpit-bridge
Requires: cockpit-shell Requires: cockpit-shell
Requires: cockpit-ws
Requires: rhsm-icons
%description -n subscription-manager-cockpit %description -n subscription-manager-cockpit
Subscription Manager Cockpit UI Subscription Manager Cockpit UI
%endif %endif
%if %{use_rhsm_icons}
%package -n rhsm-icons
Summary: Icons for Red Hat Subscription Management client tools
License: GPLv2
BuildArch: noarch
# As these two packages previously contained the icons now contained in
# rhsm-icons package, we need to specify the logical complement to a
# "Requires", which is "Conflicts". With any luck the underlying
# depsolver will cause the removal of this package if the request
# is to downgrade either of the following to a version below these
# requirements.
Conflicts: rhsm-gtk < 1.26.7
Conflicts: subscription-manager-cockpit < 1.26.7
%description -n rhsm-icons
This package contains the desktop icons for the graphical interfaces provided for management
of Red Hat subscriptions. There are many such interfaces, subscription-manager-gui,
subscription-manager-initial-setup-addon, and subscription-manager-cockpit-plugin primarily.
%endif
%prep %prep
%setup -q %setup -q
%build %build
make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \
LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" PYTHON="%{__python}" \ LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" PYTHON="%{__python}" \
%{?gtk_version} %{?subpackages} %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} %{?gtk_version} %{?subpackages} %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} \
%{exclude_packages}
%if %{with python2_rhsm} %if %{with python2_rhsm}
python2 ./setup.py build --quiet --gtk-version=%{?gtk3:3}%{?!gtk3:2} --rpm-version=%{version}-%{release} python2 ./setup.py build --quiet --gtk-version=%{?gtk3:3}%{?!gtk3:2} --rpm-version=%{version}-%{release}
@ -554,14 +738,16 @@ make -f Makefile install VERSION=%{version}-%{release} \
DESTDIR=%{buildroot} PYTHON_SITELIB=%{python_sitearch} \ DESTDIR=%{buildroot} PYTHON_SITELIB=%{python_sitearch} \
OS_VERSION=%{?fedora}%{?rhel}%{?suse_version} OS_DIST=%{dist} \ OS_VERSION=%{?fedora}%{?rhel}%{?suse_version} OS_DIST=%{dist} \
COMPLETION_DIR=%{completion_dir} \ COMPLETION_DIR=%{completion_dir} \
%{?install_ostree} %{?post_boot_tool} %{?gtk_version} \ RUN_DIR=%{run_dir} \
%{?install_ostree} %{?install_container} %{?post_boot_tool} %{?gtk_version} \
%{?install_yum_plugins} %{?install_dnf_plugins} \ %{?install_yum_plugins} %{?install_dnf_plugins} \
%{?install_zypper_plugins} \ %{?install_zypper_plugins} \
%{?with_systemd} \ %{?with_systemd} \
%{?with_subman_gui} \ %{?with_subman_gui} \
%{?with_cockpit} \ %{?with_cockpit} \
%{?subpackages} \ %{?subpackages} \
%{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} \
%{?exclude_packages}
%if (%{use_dnf} && (0%{?fedora} >= 29 || 0%{?rhel} >= 8)) %if (%{use_dnf} && (0%{?fedora} >= 29 || 0%{?rhel} >= 8))
pushd src/dnf-plugins/product-id pushd src/dnf-plugins/product-id
@ -611,10 +797,12 @@ sed -i 's/libexec/lib/g' %{buildroot}/%{_sysconfdir}/cron.daily/rhsmd
mkdir -p %{buildroot}%{_sysconfdir}/pki/consumer mkdir -p %{buildroot}%{_sysconfdir}/pki/consumer
mkdir -p %{buildroot}%{_sysconfdir}/pki/entitlement mkdir -p %{buildroot}%{_sysconfdir}/pki/entitlement
%if %{use_container_plugin}
# Setup cert directories for the container plugin: # Setup cert directories for the container plugin:
mkdir -p %{buildroot}%{_sysconfdir}/docker/certs.d/ mkdir -p %{buildroot}%{_sysconfdir}/docker/certs.d/
mkdir %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com mkdir %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com
install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt
%endif
mkdir -p %{buildroot}%{_sysconfdir}/etc/rhsm/ca mkdir -p %{buildroot}%{_sysconfdir}/etc/rhsm/ca
install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}/%{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}/%{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem
@ -626,13 +814,24 @@ install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-uep.pem %{buildroot}/
%endif %endif
# fix timestamps on our byte compiled files so they match across arches # fix timestamps on our byte compiled files so they match across arches
find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \; find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \;
%if %{with python3} %if %{with python3}
%py_byte_compile %{__python3} %{buildroot}%{rhsm_plugins_dir}/ %py_byte_compile %{__python3} %{buildroot}%{rhsm_plugins_dir}/
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/anaconda/addons/com_redhat_subscription_manager/ %py_byte_compile %{__python3} %{buildroot}%{_datadir}/anaconda/addons/com_redhat_subscription_manager/
%endif %endif
# symlink services to /usr/sbin/ when building for SUSE distributions
%if 0%{?suse_version}
%if %{use_systemd}
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcrhsm
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcrhsm-facts
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcrhsmcertd
%else
ln -s %{_initrddir}/rhsmcertd %{buildroot}%{_sbindir}/rcrhsmcertd
%endif
%endif
# base/cli tools use the gettext domain 'rhsm', while the # base/cli tools use the gettext domain 'rhsm', while the
# gnome-help tools use domain 'subscription-manager' # gnome-help tools use domain 'subscription-manager'
%files -f rhsm.lang %files -f rhsm.lang
@ -701,6 +900,10 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/rhsm/rhsm.conf %attr(644,root,root) %config(noreplace) %{_sysconfdir}/rhsm/rhsm.conf
%config %attr(644,root,root) %{_sysconfdir}/rhsm/logging.conf %config %attr(644,root,root) %{_sysconfdir}/rhsm/logging.conf
%if 0%{?suse_version}
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/rhsm/zypper.conf
%endif
# PAM config # PAM config
%if !0%{?suse_version} %if !0%{?suse_version}
%{_sysconfdir}/pam.d/subscription-manager %{_sysconfdir}/pam.d/subscription-manager
@ -732,7 +935,7 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%attr(755,root,root) %dir %{_var}/log/rhsm %attr(755,root,root) %dir %{_var}/log/rhsm
%attr(755,root,root) %dir %{_var}/spool/rhsm/debug %attr(755,root,root) %dir %{_var}/spool/rhsm/debug
%attr(755,root,root) %dir %{_var}/run/rhsm %ghost %attr(755,root,root) %dir %{run_dir}/rhsm
%attr(750,root,root) %dir %{_var}/lib/rhsm %attr(750,root,root) %dir %{_var}/lib/rhsm
%attr(750,root,root) %dir %{_var}/lib/rhsm/facts %attr(750,root,root) %dir %{_var}/lib/rhsm/facts
%attr(750,root,root) %dir %{_var}/lib/rhsm/packages %attr(750,root,root) %dir %{_var}/lib/rhsm/packages
@ -830,10 +1033,18 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%if %use_systemd %if %use_systemd
%attr(644,root,root) %{_unitdir}/*.service %attr(644,root,root) %{_unitdir}/*.service
%attr(644,root,root) %{_tmpfilesdir}/%{name}.conf %attr(644,root,root) %{_tmpfilesdir}/%{name}.conf
%if 0%{?suse_version}
%{_sbindir}/rcrhsm
%{_sbindir}/rcrhsm-facts
%endif
%else %else
%attr(755,root,root) %{_initrddir}/rhsmcertd %attr(755,root,root) %{_initrddir}/rhsmcertd
%endif %endif
%if 0%{?suse_version}
%{_sbindir}/rcrhsmcertd
%endif
# Incude rt CLI tool # Incude rt CLI tool
%dir %{python_sitearch}/rct %dir %{python_sitearch}/rct
%{python_sitearch}/rct/*.py* %{python_sitearch}/rct/*.py*
@ -867,14 +1078,6 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%{python_sitearch}/subscription_manager/gui/data/ui/*.ui %{python_sitearch}/subscription_manager/gui/data/ui/*.ui
%{python_sitearch}/subscription_manager/gui/data/glade/*.glade %{python_sitearch}/subscription_manager/gui/data/glade/*.glade
%{python_sitearch}/subscription_manager/gui/data/icons/*.svg %{python_sitearch}/subscription_manager/gui/data/icons/*.svg
%{_datadir}/icons/hicolor/16x16/apps/*.png
%{_datadir}/icons/hicolor/22x22/apps/*.png
%{_datadir}/icons/hicolor/24x24/apps/*.png
%{_datadir}/icons/hicolor/32x32/apps/*.png
%{_datadir}/icons/hicolor/48x48/apps/*.png
%{_datadir}/icons/hicolor/96x96/apps/*.png
%{_datadir}/icons/hicolor/256x256/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%if %{with python3} %if %{with python3}
%{python_sitearch}/subscription_manager/gui/__pycache__ %{python_sitearch}/subscription_manager/gui/__pycache__
%endif %endif
@ -882,7 +1085,6 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%if %{use_subman_gui} %if %{use_subman_gui}
#%files -n subscription-manager-gui -f subscription-manager.lang
%files -n subscription-manager-gui %files -n subscription-manager-gui
%defattr(-,root,root,-) %defattr(-,root,root,-)
%attr(755,root,root) %{_sbindir}/subscription-manager-gui %attr(755,root,root) %{_sbindir}/subscription-manager-gui
@ -905,8 +1107,8 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%endif %endif
%{_bindir}/rhsm-icon %{_bindir}/rhsm-icon
%{_datadir}/gnome/help/subscription-manager/C/figures/*.png %doc %{_datadir}/gnome/help/subscription-manager/C/figures/*.png
%{_datadir}/gnome/help/subscription-manager/C/*.xml %doc %{_datadir}/gnome/help/subscription-manager/C/*.xml
%{_datadir}/omf/subscription-manager/subscription-manager-C.omf %{_datadir}/omf/subscription-manager/subscription-manager-C.omf
%{_datadir}/applications/subscription-manager-gui.desktop %{_datadir}/applications/subscription-manager-gui.desktop
@ -983,7 +1185,7 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%attr(644,root,root) %{_sysconfdir}/rhsm/syspurpose/valid_fields.json %attr(644,root,root) %{_sysconfdir}/rhsm/syspurpose/valid_fields.json
%attr(644,root,root) %{completion_dir}/syspurpose %attr(644,root,root) %{completion_dir}/syspurpose
%if %{use_container_plugin}
%files -n subscription-manager-plugin-container %files -n subscription-manager-plugin-container
%defattr(-,root,root,-) %defattr(-,root,root,-)
%if 0%{?suse_version} %if 0%{?suse_version}
@ -995,15 +1197,15 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%{_sysconfdir}/rhsm/pluginconf.d/container_content.ContainerContentPlugin.conf %{_sysconfdir}/rhsm/pluginconf.d/container_content.ContainerContentPlugin.conf
%{rhsm_plugins_dir}/container_content.py* %{rhsm_plugins_dir}/container_content.py*
%if %{with python3} %if %{with python3}
%{rhsm_plugins_dir}/__pycache__ %{rhsm_plugins_dir}/__pycache__/*container*
%endif %endif
%{python_sitearch}/subscription_manager/plugin/container.py* %{python_sitearch}/subscription_manager/plugin/container/*.py*
%{python_sitearch}/subscription_manager/plugin/container/__pycache__
# Copying Red Hat CA cert into each directory: # Copying Red Hat CA cert into each directory:
%attr(755,root,root) %dir %{_sysconfdir}/docker/certs.d/cdn.redhat.com %attr(755,root,root) %dir %{_sysconfdir}/docker/certs.d/cdn.redhat.com
%attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem
%attr(644,root,root) %{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt %attr(644,root,root) %{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt
%endif
%if %has_ostree %if %has_ostree
%files -n subscription-manager-plugin-ostree %files -n subscription-manager-plugin-ostree
@ -1013,6 +1215,7 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%{python_sitearch}/subscription_manager/plugin/ostree/*.py* %{python_sitearch}/subscription_manager/plugin/ostree/*.py*
%if %{with python3} %if %{with python3}
%{python_sitearch}/subscription_manager/plugin/ostree/__pycache__ %{python_sitearch}/subscription_manager/plugin/ostree/__pycache__
%{rhsm_plugins_dir}/__pycache__/*ostree*
%endif %endif
%endif %endif
@ -1057,6 +1260,7 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%attr(755,root,root) %dir %{_sysconfdir}/rhsm %attr(755,root,root) %dir %{_sysconfdir}/rhsm
%attr(755,root,root) %dir %{_sysconfdir}/rhsm/ca %attr(755,root,root) %dir %{_sysconfdir}/rhsm/ca
%attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem
%attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-uep.pem %attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-uep.pem
%if %use_cockpit %if %use_cockpit
@ -1074,21 +1278,32 @@ find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \;
%{_datadir}/metainfo/org.candlepinproject.subscription_manager.metainfo.xml %{_datadir}/metainfo/org.candlepinproject.subscription_manager.metainfo.xml
%if ! %use_subman_gui %if ! %use_subman_gui
%{_datadir}/applications/subscription-manager-cockpit.desktop %{_datadir}/applications/subscription-manager-cockpit.desktop
%{_datadir}/icons/hicolor/16x16/apps/*.png
%{_datadir}/icons/hicolor/22x22/apps/*.png
%{_datadir}/icons/hicolor/24x24/apps/*.png
%{_datadir}/icons/hicolor/32x32/apps/*.png
%{_datadir}/icons/hicolor/48x48/apps/*.png
%{_datadir}/icons/hicolor/96x96/apps/*.png
%{_datadir}/icons/hicolor/256x256/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%endif %endif
%endif %endif
%if %use_rhsm_icons
%files -n rhsm-icons
%defattr(-,root,root,-)
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_datadir}/icons/hicolor/symbolic/apps/*.svg
%endif
%if %use_systemd
%if 0%{?suse_version}
%pre
%service_add_pre rhsm.service
%service_add_pre rhsm-facts.service
%service_add_pre rhsmcertd.service
%endif
%endif
%post %post
%if %use_systemd %if %use_systemd
%if 0%{?suse_version} %if 0%{?suse_version}
%service_add_post rhsmcertd.service %service_add_post rhsmcertd.service
%service_add_post rhsm.service
%service_add_post rhsm-facts.service
%tmpfiles_create %{_tmpfilesdir}/subscription-manager.conf
%else %else
%systemd_post rhsmcertd.service %systemd_post rhsmcertd.service
%endif %endif
@ -1118,16 +1333,30 @@ scrollkeeper-update -q -o %{_datadir}/omf/%{name} || :
%endif %endif
%endif %endif
%if !0%{?suse_version}
%if %{use_container_plugin}
%post -n subscription-manager-plugin-container %post -n subscription-manager-plugin-container
%{__python} %{rhsm_plugins_dir}/container_content.py || : %{__python} %{rhsm_plugins_dir}/container_content.py || :
%endif
%endif
%preun %preun
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
%if %use_systemd %if %use_systemd
%systemd_preun rhsmcertd.service %if 0%{?suse_version}
%service_del_preun rhsm.service
%service_del_preun rhsm-facts.service
%service_del_preun rhsmcertd.service
%else
%systemd_preun rhsmcertd.service
%endif
%else %else
/sbin/service rhsmcertd stop >/dev/null 2>&1 %if 0%{?suse_version}
/sbin/chkconfig --del rhsmcertd %stop_on_removal %{_initrddir}/rhsmcertd
%else
/sbin/service rhsmcertd stop >/dev/null 2>&1
/sbin/chkconfig --del rhsmcertd
%endif
%endif %endif
if [ -x /bin/dbus-send ] ; then if [ -x /bin/dbus-send ] ; then
@ -1139,9 +1368,15 @@ fi
%if %use_systemd %if %use_systemd
%if 0%{?suse_version} %if 0%{?suse_version}
%service_del_postun rhsmcertd.service %service_del_postun rhsmcertd.service
%service_del_postun rhsm.service
%service_del_postun rhsm-facts.service
%else %else
%systemd_postun_with_restart rhsmcertd.service %systemd_postun_with_restart rhsmcertd.service
%endif %endif
%else
%if 0%{?suse_version}
%insserv_cleanup %{_initrddir}/rhsmcertd
%endif
%endif %endif
%if %{use_subman_gui} %if %{use_subman_gui}
@ -1165,6 +1400,116 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || :
%endif %endif
%changelog %changelog
* Fri Dec 13 2019 Christopher Snyder <csnyder@redhat.com> 1.26.9-1
- Make sure to set the mtime of the py files before creating pyc
(csnyder@redhat.com)
* Sun Dec 01 2019 Christopher Snyder <csnyder@redhat.com> 1.26.8-1
- Fix downgradability due to conflicts with rhsm-icons (csnyder@redhat.com)
* Wed Nov 20 2019 Christopher Snyder <csnyder@redhat.com> 1.26.7-1
- Add rhsm-icons package to contain all icons required by gui interfaces
(csnyder@redhat.com)
* Tue Nov 19 2019 Christopher Snyder <csnyder@redhat.com> 1.26.6-1
- 1728054: Obsolete sm-plugin-container on RHEL 8 (csnyder@redhat.com)
* Mon Nov 18 2019 Christopher Snyder <csnyder@redhat.com> 1.26.5-1
- Add RHEL 8.2 releaser (csnyder@redhat.com)
- Make Makefile SLE15 compatible (khowell@redhat.com)
- 1764265: Set gpgcheck to 0, when zypper is used; ENT-1758
(jhnidek@redhat.com)
- 1760837: Disable zypper plugin via ZYPP_RHSM_PLUGIN_DISABLE
(khowell@redhat.com)
- 1764340: Handle RestlibException in zypper plugin (khowell@redhat.com)
- cockpit: Use new services image instead of candlepin (martin@piware.de)
- 1738764: Fix issue with syspurpose three-way merge; ENT-1564
(jhnidek@redhat.com)
- 1703054: Blacklist some locales for Python2.x; ENT-1288 (jhnidek@redhat.com)
- 1752400: Ensure that configuration is recorded before data sync processes
(wpoteat@redhat.com)
- fixed wrong package name for dependency (p.seiler@linuxmail.org)
- cockpit: Bump test API to 204 (martin@piware.de)
- cockpit: Move default TESTS_OS to rhel-8-1 (martin@piware.de)
- cockpit: Support CI testing against a bots project PR (martin@piware.de)
- No need for inotify on suse (csnyder@redhat.com)
- cockpit: Don't clobber an existing bots checkout (martin@piware.de)
* Fri Oct 04 2019 Christopher Snyder <csnyder@redhat.com> 1.26.4-1
- No longer build subman gui for sles (csnyder@redhat.com)
- cockpit: Update bots target for moved GitHub project
(sanne.raymaekers@gmail.com)
* Tue Sep 24 2019 Christopher Snyder <csnyder@redhat.com> 1.26.3-1
- Include only container_content __pycache__ for container_content plugin
(csnyder@redhat.com)
- Do not use importlib unless available (csnyder@redhat.com)
- On sles15+ require python2-python-dateutil (csnyder@redhat.com)
- 1750546: Fix minor product-id issues (csnyder@redhat.com)
- cockpit: Add support for Red Hat Insights (mvollmer@redhat.com)
- Functional tests of yum/dnf plugins (jhnidek@redhat.com)
- 1520383: Update to logging levels (wpoteat@redhat.com)
- 1752059: corrected cron receving stdout mail for rhsmd run (crag@redhat.com)
- Update Vagrantfile to use sshfs instead of rsync. (bcourt@redhat.com)
- Add fedora30 vagrant box (csnyder@redhat.com)
- Align RHSM spoke to center (jhnidek@redhat.com)
- 1698606: Better advice message for syspurpose conflict; ENT-1341
(jhnidek@redhat.com)
- Fix RHSM addon spoke header background (mkolman@redhat.com)
- Use symbolic icon in Anaconda (jhnidek@redhat.com)
- icons: update app icon (jimmac@gmail.com)
- 1663432: Updated keys.pot for syspurpose CLI; ENT-1246 (jhnidek@redhat.com)
- 1687523: Try to create /var/log/rhsm directory; ENT-1406 (jhnidek@redhat.com)
* Tue Sep 03 2019 Christopher Snyder <csnyder@redhat.com> 1.26.2-1
- 1621275: YUM plugin - less API calls; ENT-923 (jhnidek@redhat.com)
- small spec file improvements (p.seiler@linuxmail.org)
- better SUSE distributions integration (p.seiler@linuxmail.org)
- 1643189: Updated defaults to include rhsmd.processtimeout (crag@redhat.com)
- 1643189: Added timeout for rhsmd cron job (crag@redhat.com)
- 1728054: Do not install container plugin on RHEL8; ENT-1488
(jhnidek@redhat.com)
- cockpit: Use less-loader 5.0.0 or later (mvollmer@redhat.com)
- cockpit: Make sure node_modules directory exists (mvollmer@redhat.com)
- cockpit: Put "root: true" into eslintrc (mvollmer@redhat.com)
- 1689974: Mark several strings for translation; ENT-1246 (jhnidek@redhat.com)
- 1743729: Update dnf-plugin dependencies for RHEL 7 (csnyder@redhat.com)
- 1657384: locale sent on request does not allow '.UTF-8' suffix
(wpoteat@redhat.com)
- 1742208: Send package profile on yum transactions (csnyder@redhat.com)
- Updated man pages (redeem command does not have --org option)
(jhnidek@redhat.com)
- 1700039: Cockpit - Disable cancel button on register dialog action
(wpoteat@redhat.com)
- Require the python2 version of Sphinx when necessary (csnyder@redhat.com)
- 1708494: Proper messaging of syspurpose add-addons; ENT-1332
(jhnidek@redhat.com)
- Bump jquery from 3.2.1 to 3.4.0 in /cockpit
(49699333+dependabot[bot]@users.noreply.github.com)
- test: Add check-subscriptions to test the Cockpit UI (mvollmer@redhat.com)
- 1703148: Fix cockpit plugin, when golden ticket is used; ENT-1287
(jhnidek@redhat.com)
- Generate 'ui_repoid_vars' only when running with YUM. (dmach@redhat.com)
- * Added chaching mechanism to function is_owner_using_golden_ticket to
minimize number of REST API call * Added several unit tests * Fixed some
typos (jhnidek@redhat.com)
- Send package profiles after updating repositories (yamato@redhat.com)
- 1710923: GUI: Do not auto-attach, when golden ticket is used; ENT-1309
(jhnidek@redhat.com)
- 1719725: rhsm - Write config file atomically (mvollmer@redhat.com)
- Adding debian / ubuntu package build instructions (suttner@atix.de)
* Tue Jun 25 2019 Christopher Snyder <csnyder@redhat.com> 1.26.1-1
- 1722055: cockpit package has additional dependency (wpoteat@redhat.com)
- 1705017: Show in man page that --installed is the default for the list
command (wpoteat@redhat.com)
- 1689974: Update translations for 8.1 (csnyder@redhat.com)
- Bump eslint from 3.19.0 to 4.18.2 in /cockpit
(49699333+dependabot[bot]@users.noreply.github.com)
- 1722238: Fix reporting insights id in facts on RHEL7 (jhnidek@redhat.com)
- Bump stringstream from 0.0.5 to 0.0.6 in /cockpit
(49699333+dependabot[bot]@users.noreply.github.com)
* Mon Jun 17 2019 Christopher Snyder <csnyder@redhat.com> 1.25.11-1 * Mon Jun 17 2019 Christopher Snyder <csnyder@redhat.com> 1.25.11-1
- 1665167: syspurpose attributes in list --consumed; ENT-1315 - 1665167: syspurpose attributes in list --consumed; ENT-1315
(jhnidek@redhat.com) (jhnidek@redhat.com)