diff --git a/.gitignore b/.gitignore index f90216f..2ad657c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/subscription-manager-1.20.11.tar.gz -SOURCES/subscription-manager-cockpit-1.20.11.tar.gz +SOURCES/subscription-manager-1.21.10.tar.gz +SOURCES/subscription-manager-cockpit-1.21.10.tar.gz diff --git a/.subscription-manager.metadata b/.subscription-manager.metadata index c4cd706..e5f94c5 100644 --- a/.subscription-manager.metadata +++ b/.subscription-manager.metadata @@ -1,2 +1,2 @@ -85f1f2f8859236e51d7392ba0946ef6d7b97cce5 SOURCES/subscription-manager-1.20.11.tar.gz -03162ea1e684f24ebe9f49694fe3f818c4b8538c SOURCES/subscription-manager-cockpit-1.20.11.tar.gz +71bff73e6850d16d768763c6c771c257791ca381 SOURCES/subscription-manager-1.21.10.tar.gz +ce6c8d9a4c33d6a5d987afe2be213034ade2b103 SOURCES/subscription-manager-cockpit-1.21.10.tar.gz diff --git a/README.debrand b/README.debrand deleted file mode 100644 index 01c46d2..0000000 --- a/README.debrand +++ /dev/null @@ -1,2 +0,0 @@ -Warning: This package was configured for automatic debranding, but the changes -failed to apply. diff --git a/SPECS/subscription-manager.spec b/SPECS/subscription-manager.spec index 53bc1bb..c2373e2 100644 --- a/SPECS/subscription-manager.spec +++ b/SPECS/subscription-manager.spec @@ -5,34 +5,69 @@ %global has_ostree %use_systemd && 0%{?suse_version} == 0 %global use_initial_setup 1 %global use_firstboot 0 -%global use_kitchen 1 %global use_inotify 1 -%global use_python3 0%{?fedora} +%global py2_package_prefix python2 + +%if (0%{?rhel} >= 7 || 0%{?fedora}) +%global dmidecode_version >= 3.12.2-2 +%endif + +# borrowed from dnf spec file & tweaked +%if (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version} +%bcond_with python3 +%else +%bcond_without python3 +%endif + +%if !(0%{?fedora} && %{with python3}) +%bcond_with python2_rhsm +%else +%bcond_without python2_rhsm +%endif + +%if %{with python3} +%global use_subman_gui 0 +%else +%global use_subman_gui 1 +%endif + %global rhsm_plugins_dir /usr/share/rhsm-plugins # on recent Fedora and RHEL 7, let's not use m2crypto %global use_m2crypto (0%{?fedora} < 23 && 0%{?rhel} < 7) -# SLES 11 and RHEL6 don't have macros defined for python2; just "python". Alias them. -%{!?__python2:%global __python2 %__python} -%{!?python2_sitearch:%global python2_sitearch %python_sitearch} -%{?python_provide:%python_provide python-rhsm} - %if %{use_systemd} -# Note that %gtk3 will be undefined if it's not used +# Note that the global gtk3 will be undefined if it's not used %global gtk3 1 %endif %if 0%{?rhel} == 6 || 0%{?suse_version} %global use_initial_setup 0 %global use_firstboot 1 -%global use_kitchen 0 %global use_inotify 0 %endif -%global use_dnf 0%{?fedora} +%if %{use_subman_gui} || %{use_initial_setup} || %{use_firstboot} +%global use_rhsm_gtk 1 +%else +%global use_rhsm_gtk 0 +%endif + +%global use_dnf (%{with python3} && (0%{?fedora} || (0%{?rhel}))) || (0%{?rhel} >= 7) %global use_yum (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?suse_version}) %global use_cockpit 0%{?fedora} || 0%{?rhel} >= 7 +%if %{with python3} +%global python_sitearch %python3_sitearch +%global python_sitelib %python3_sitelib +%global __python %__python3 +%global py_package_prefix python%{python3_pkgversion} +%global rhsm_package_name %{py_package_prefix}-subscription-manager-rhsm +%define include_syspurpose 1 +%else +%global py_package_prefix python +%global rhsm_package_name subscription-manager-rhsm +%endif + %global _hardened_build 1 %{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro -Wl,-z,now} @@ -61,14 +96,14 @@ %define install_zypper_plugins INSTALL_ZYPPER_PLUGINS=false %endif -# makefile defaults to INSTALL_DNF_PLUGIN=false +# makefile defaults to INSTALL_DNF_PLUGINS=false %if %{use_dnf} %define install_dnf_plugins INSTALL_DNF_PLUGINS=true %else %define install_dnf_plugins INSTALL_DNF_PLUGINS=false %endif -# makefile defaults to INSTALL_DNF_PLUGIN=true +# makefile defaults to INSTALL_YUM_PLUGINS=true %if %{use_yum} %define install_yum_plugins INSTALL_YUM_PLUGINS=true %else @@ -81,9 +116,23 @@ %define with_systemd WITH_SYSTEMD=false %endif +%if %{use_subman_gui} +%define with_subman_gui WITH_SUBMAN_GUI=true +%else +%define with_subman_gui WITH_SUBMAN_GUI=false +%endif + +%if %{use_cockpit} && !0%{use_subman_gui} +%define with_cockpit WITH_COCKPIT=true +%else +%define with_cockpit WITH_COCKPIT=false +%endif + +%define subpackages SUBPACKAGES="%{?include_syspurpose:syspurpose}" + Name: subscription-manager -Version: 1.20.11 -Release: 1%{?dist} +Version: 1.21.10 +Release: 2%{?dist} Summary: Tools and libraries for subscription and repository management Group: System Environment/Base License: GPLv2 @@ -102,45 +151,64 @@ Source1: %{name}-cockpit-%{version}.tar.gz Source2: subscription-manager-rpmlintrc %endif +%if 0%{?suse_version} < 1200 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +%endif -# A note about the %{?foo:bar} %{!?foo:quux} convention. The %{?foo:bar} +# The following macro examples are preceeded by '%' to stop macro expansion +# in the comments. (See https://bugzilla.redhat.com/show_bug.cgi?id=1224660 for +# why this is necessary) +# A note about the %%{?foo:bar} %%{!?foo:quux} convention. The %%{?foo:bar} # syntax evaluates foo and if it is **defined**, it expands to "bar" otherwise it -# expands to nothing. The %{!?foo:quux} syntax similarily only the expansion +# expands to nothing. The %%{!?foo:quux} syntax similarily only the expansion # occurs when foo is **undefined**. Since one and only one of the expressions will # expand we can more concisely handle when a dependency has different names in # SUSE versus RHEL. The traditional if syntax gets extremely confusing when # nesting is required since RPM requires the various preamble directives to be # at the start of a line making meaningful indentation impossible. -Requires: python-ethtool -Requires: python-iniparse -Requires: python-decorator +Requires: %{py_package_prefix}-ethtool +Requires: %{py_package_prefix}-iniparse +Requires: %{py_package_prefix}-decorator Requires: virt-what -Requires: subscription-manager-rhsm = %{version} -Requires: python-decorator -Requires: python-six -Requires: python-dateutil +Requires: %{rhsm_package_name} = %{version} +Requires: %{py_package_prefix}-six +Requires: %{py_package_prefix}-dateutil +Requires: %{py_package_prefix}-setuptools +%if %{with python3} +Requires: python3-dbus +%else Requires: %{?suse_version:dbus-1-python} %{!?suse_version:dbus-python} -Requires: %{?suse_version:aaa_base} %{!?suse_version:chkconfig} +%endif + +%if %{use_yum} Requires: %{?suse_version:yum} %{!?suse_version:yum >= 3.2.29-73} +%endif + +%if (%{use_dnf} && (0%{?fedora} || 0%{?rhel} >= 8)) +Requires: dnf-plugin-subscription-manager = %{version} +%endif # Support GTK2 and GTK3 on both SUSE and RHEL... %if 0%{?suse_version} Requires: %{?gtk3:python-gobject} %{!?gtk3:python-gobject2, libzypp, zypp-plugin-python, python-zypp} %else Requires: usermode +%if %{with python3} +Requires: python3-gobject-base +%else Requires: %{?gtk3:gobject-introspection, pygobject3-base} %{!?gtk3:pygobject2} +%endif # There's no dmi to read on these arches, so don't pull in this dep. # Additionally, dmidecode isn't packaged at all on SUSE %ifnarch ppc ppc64 s390 s390x -Requires: python-dmidecode +Requires: %{py_package_prefix}-dmidecode %{?dmidecode_version} %endif %endif %if %use_inotify -Requires: python-inotify +Requires: %{py_package_prefix}-inotify %endif %if %use_systemd @@ -148,20 +216,26 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else +Requires: %{?suse_version:aaa_base} %{!?suse_version:chkconfig} Requires(post): %{?suse_version:aaa_base} %{!?suse_version:chkconfig} Requires(preun): %{?suse_version:aaa_base} %{!?suse_version:chkconfig, initscripts} %endif -BuildRequires: python-devel -BuildRequires: python-setuptools +BuildRequires: %{?suse_version:python-devel >= 2.6} %{!?suse_version:%{py_package_prefix}-devel} +BuildRequires: openssl-devel +BuildRequires: gcc +BuildRequires: %{py_package_prefix}-setuptools BuildRequires: gettext BuildRequires: intltool BuildRequires: libnotify-devel +BuildRequires: %{py_package_prefix}-six + +%if %{use_subman_gui} || %{use_cockpit} BuildRequires: desktop-file-utils -BuildRequires: python-six +%endif BuildRequires: %{?suse_version:dbus-1-glib-devel} %{!?suse_version:dbus-glib-devel} -BuildRequires: %{?suse_version:lsb-release, distribution-release} %{!?suse_version:redhat-lsb} +BuildRequires: %{?suse_version:distribution-release} %{!?suse_version:system-release} BuildRequires: %{?suse_version:gconf2-devel} %{!?suse_version:GConf2-devel} BuildRequires: %{?suse_version:update-desktop-files} %{!?suse_version:scrollkeeper} @@ -180,16 +254,21 @@ BuildRequires: systemd-rpm-macros BuildRequires: systemd %endif -# The %{?something:foo} expands to foo only when something is **defined**. Likewise the -# %{!?something:foo} expands only when something is **not defined**. -BuildRequires: %{?suse_version:python-devel >= 2.6} %{!?suse_version:python2-devel} -BuildRequires: openssl-devel - %description The Subscription Manager package provides programs and libraries to allow users to manage subscriptions and yum repositories from the Red Hat entitlement platform. +%if %{with python3} +%package -n %{py_package_prefix}-syspurpose +Summary: A commandline utility for declaring system syspurpose +Group: System Environment/Base + +%description -n %{py_package_prefix}-syspurpose +Provides the syspurpose commandline utility. This utility manages the +system syspurpose. +%endif + %package -n subscription-manager-plugin-container Summary: A plugin for handling container content @@ -201,15 +280,15 @@ Enables handling of content of type 'containerImage' in any certificates from the server. Populates /etc/docker/certs.d appropriately. -%package -n subscription-manager-gui -Summary: A GUI interface to manage Red Hat product subscriptions +%if %{use_rhsm_gtk} +%package -n rhsm-gtk +Summary: GTK+ widgets used by subscription-manager-gui and initial_setup Group: System Environment/Base -Requires: %{name} = %{version}-%{release} - -# We need pygtk3 and gtk2 until rhsm-icon is ported to gtk3 -Requires: %{?gtk3:pygobject3, gtk3} %{!?gtk3:pygtk2, pygtk2-libglade} +Requires: %{?gtk3:%{py_package_prefix}-gobject, gtk3} %{!?gtk3:pygtk2, pygtk2-libglade} Requires: usermode-gtk -Requires: gnome-icon-theme +# Fedora can figure this out automatically, but RHEL cannot: +# See #987071 +Requires: librsvg2%{?_isa} %if 0%{?gtk3} Requires: font(cantarell) @@ -222,18 +301,31 @@ Requires(post): scrollkeeper Requires(postun): scrollkeeper %endif +%description -n rhsm-gtk +This package contains GUI and widgets used by subscription-manager-gui +and RHSM initial_setup module for Anaconda. +%endif + + +%if %{use_subman_gui} +%package -n subscription-manager-gui +Summary: A GUI interface to manage Red Hat product subscriptions +Group: System Environment/Base +Requires: %{name} = %{version}-%{release} +Requires: gnome-icon-theme + +# We need pygtk3 and gtk2 until rhsm-icon is ported to gtk3 +Requires: rhsm-gtk = %{version}-%{release} + # Renamed from -gnome, so obsolete it properly Obsoletes: %{name}-gnome < 1.0.3-1 Provides: %{name}-gnome = %{version}-%{release} -# Fedora can figure this out automatically, but RHEL cannot: -# See #987071 -Requires: librsvg2%{?_isa} - %description -n subscription-manager-gui This package contains a GTK+ graphical interface for configuring and registering a system with a Red Hat Entitlement platform and manage subscriptions. +%endif %package -n subscription-manager-migration @@ -259,7 +351,11 @@ Summary: Subscription Manager plugins for DNF Group: System Environment/Base Requires: %{name} = %{version}-%{release} Requires: dnf >= 1.0.0 +%if %{with python3} +Requires: python3-dnf-plugins-core +%else Requires: python2-dnf-plugins-core +%endif %description -n dnf-plugin-subscription-manager This package provides plugins to interact with repositories and subscriptions @@ -272,7 +368,7 @@ product-id plugins. %package -n subscription-manager-firstboot Summary: Firstboot screens for subscription manager Group: System Environment/Base -Requires: %{name}-gui = %{version}-%{release} +Requires: rhsm-gtk = %{version}-%{release} Requires: rhn-setup-gnome # Fedora can figure this out automatically, but RHEL cannot: @@ -287,7 +383,7 @@ This package contains the firstboot screens for subscription-manager. %package -n subscription-manager-initial-setup-addon Summary: initial-setup screens for subscription-manager Group: System Environment/Base -Requires: %{name}-gui = %{version}-%{release} +Requires: rhsm-gtk = %{version}-%{release} Requires: initial-setup-gui >= 0.3.9.24-1 Obsoletes: subscription-manager-firstboot < 1.15.3-1 @@ -301,9 +397,9 @@ This package contains the initial-setup screens for subscription-manager. Summary: A plugin for handling OSTree content. Group: System Environment/Base -Requires: pygobject3-base +Requires: %{py_package_prefix}-gobject-base # plugin needs a slightly newer version of python-iniparse for 'tidy' -Requires: python-iniparse >= 0.4 +Requires: %{py_package_prefix}-iniparse >= 0.4 Requires: %{name} = %{version}-%{release} %description -n subscription-manager-plugin-ostree @@ -313,54 +409,65 @@ the remote in the currently deployed .origin file. %endif -%package -n subscription-manager-rhsm +%package -n %{rhsm_package_name} Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform Group: Development/Libraries %if %use_m2crypto Requires: %{?suse_version:python-m2crypto} %{!?suse_version:m2crypto} %endif -Requires: python-dateutil -Requires: python-iniparse +Requires: %{py_package_prefix}-dateutil +Requires: %{py_package_prefix}-iniparse # rpm-python is an old name for python2-rpm but RHEL6 uses the old name -Requires: rpm-python -Requires: python-six +Requires: %{py_package_prefix}-six Requires: subscription-manager-rhsm-certificates = %{version}-%{release} +# Required by Fedora packaging guidelines +%{?python_provide:%python_provide %{py_package_prefix}-rhsm} +%if %{with python3} +Requires: python3-rpm +Provides: python3-rhsm = %{version}-%{release} +Obsoletes: python3-rhsm <= 1.20.3-1 +Provides: python-rhsm = %{version}-%{release} +Obsoletes: python-rhsm <= 1.20.3-1 +%else +Requires: rpm-python Provides: python-rhsm = %{version}-%{release} Obsoletes: python-rhsm <= 1.20.3-1 +%endif -%description -n subscription-manager-rhsm +%description -n %{rhsm_package_name} A small library for communicating with the REST interface of a Red Hat Unified Entitlement Platform. This interface is used for the management of system entitlements, certificates, and access to content. -%if %{use_python3} -%package -n python3-subscription-manager-rhsm +%if %{with python2_rhsm} +%package -n python2-subscription-manager-rhsm Summary: A Python library to communicate with a Red Hat Unified Entitlement Platform -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-six +Group: Development/Libraries -Requires: python3-dateutil -Requires: python3-iniparse -Requires: python3-rpm -Requires: python3-six -# M2Crypto isn't even used in new Fedoras and RHEL 8 -Requires: subscription-manager-rhsm-certificates = %{version}-%{release} -Provides: python3-python-rhsm = %{version}-%{release} -Obsoletes: python3-python-rhsm <= 1.20.3-1 +BuildRequires: python2-devel +%if %use_m2crypto +Requires: %{?suse_version:python-m2crypto} %{!?suse_version:m2crypto} +%endif +Requires: %{py2_package_prefix}-dateutil +Requires: %{py2_package_prefix}-iniparse +# rpm-python is an old name for python2-rpm but RHEL6 uses the old name +Requires: %{py2_package_prefix}-six +Requires: subscription-manager-rhsm-certificates = %{version}-%{release} # Required by Fedora packaging guidelines -%{?python_provide:%python_provide python3-python-rhsm} +%{?python_provide:%python_provide %{py2_package_prefix}-rhsm} +Requires: rpm-python +Provides: python-rhsm = %{version}-%{release} +Obsoletes: python-rhsm <= 1.20.3-1 -%description -n python3-subscription-manager-rhsm +%description -n python2-subscription-manager-rhsm A small library for communicating with the REST interface of a Red Hat Unified Entitlement Platform. This interface is used for the management of system entitlements, certificates, and access to content. %endif - %package -n subscription-manager-rhsm-certificates Summary: Certificates required to communicate with a Red Hat Unified Entitlement Platform Group: Development/Libraries @@ -375,7 +482,7 @@ and to receive access to content. %if %use_cockpit %package -n subscription-manager-cockpit Summary: Subscription Manager Cockpit UI -License: LGPLv2.1+ +License: GPLv2 BuildArch: noarch Requires: subscription-manager @@ -391,41 +498,51 @@ Subscription Manager Cockpit UI %build make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ - LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" %{?gtk_version} + LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" PYTHON="%{__python}" \ + %{?gtk_version} %{?subpackages} %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} + +%if %{with python2_rhsm} +python2 ./setup.py build --quiet --gtk-version=%{?gtk3:3}%{?!gtk3:2} --rpm-version=%{version}-%{release} +%endif %install rm -rf %{buildroot} make -f Makefile install VERSION=%{version}-%{release} \ - PYTHON=/usr/bin/python2 \ - PREFIX=%{buildroot} PYTHON_SITELIB=%{python_sitearch} \ + PYTHON=%{__python} PREFIX=%{_prefix} \ + DESTDIR=%{buildroot} PYTHON_SITELIB=%{python_sitearch} \ OS_VERSION=%{?fedora}%{?rhel}%{?suse_version} OS_DIST=%{dist} \ %{?install_ostree} %{?post_boot_tool} %{?gtk_version} \ %{?install_yum_plugins} %{?install_dnf_plugins} \ %{?install_zypper_plugins} \ - %{?with_systemd} -%if %{use_python3} -make -f Makefile install VERSION=%{version}-%{release} \ - PYTHON=/usr/bin/python3 \ - PREFIX=%{buildroot} PYTHON_SITELIB=%{python3_sitearch} \ - OS_VERSION=%{?fedora}%{?rhel}%{?suse_version} OS_DIST=%{dist} \ - %{?install_ostree} %{?post_boot_tool} %{?gtk_version} \ - %{?install_yum_plugins} %{?install_dnf_plugins} \ - %{?install_zypper_plugins} \ - %{?with_systemd} + %{?with_systemd} \ + %{?with_subman_gui} \ + %{?with_cockpit} \ + %{?subpackages} \ + %{?include_syspurpose:INCLUDE_SYSPURPOSE="1"} + +%if %{with python2_rhsm} +mkdir -p %{buildroot}%{python2_sitearch}/rhsm +# Build binary extension in Python2 site-packages directory +python2 ./setup.py build_ext --build-lib %{buildroot}%{python2_sitearch} --quiet +# Copy all *.py file from Python3 to Python2 directory +cp %{buildroot}%{python_sitearch}/rhsm/*.py %{buildroot}%{python2_sitearch}/rhsm/ %endif %if 0%{?suse_version} %suse_update_desktop_file -n -r subscription-manager-gui Settings PackageManager %endif +%if %use_subman_gui desktop-file-validate %{buildroot}/etc/xdg/autostart/rhsm-icon.desktop desktop-file-validate %{buildroot}/usr/share/applications/subscription-manager-gui.desktop +%else +%if %use_cockpit +desktop-file-validate %{buildroot}/usr/share/applications/subscription-manager-cockpit.desktop +%endif +%endif %find_lang rhsm -%find_lang %{name} --with-gnome -# fix timestamps on our byte compiled files so they match across arches -find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \; # fake out the redhat.repo file %if %{use_yum} || %{use_dnf} @@ -451,9 +568,13 @@ install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/ca/redhat-uep.pem %{buildroo tar --strip-components=1 -xzf %{SOURCE1} -C %{buildroot} %endif -%clean -rm -rf %{buildroot} +%if %{with python3} +%py_byte_compile %{__python3} %{buildroot}%{rhsm_plugins_dir}/ +%py_byte_compile %{__python3} %{buildroot}%{_datadir}/anaconda/addons/com_redhat_subscription_manager/ +%endif +# fix timestamps on our byte compiled files so they match across arches +find %{buildroot} -name \*.py -exec touch -r %{SOURCE0} '{}' \; # base/cli tools use the gettext domain 'rhsm', while the # gnome-help tools use domain 'subscription-manager' @@ -468,6 +589,12 @@ rm -rf %{buildroot} %dir %{_prefix}/lib/yum-plugins/ %endif +%if %{use_dnf} + %dir %{_sysconfdir}/dnf + %dir %{_sysconfdir}/dnf/plugins + %dir %{_prefix}/lib/dnf-plugins/ +%endif + %if %{use_yum} || %{use_dnf} %dir %{_sysconfdir}/yum.repos.d %endif @@ -484,9 +611,7 @@ rm -rf %{buildroot} %dir %{python_sitearch}/subscription_manager/branding %dir %{python_sitearch}/subscription_manager/model %dir %{python_sitearch}/subscription_manager/plugin -%if %{use_python3} -%exclude %{python3_sitearch}/rhsmlib -%endif +%dir %{python_sitearch}/subscription_manager/scripts %dir %{_var}/spool/rhsm %dir %{_prefix}/share/polkit-1 %dir %{_prefix}/share/polkit-1/actions @@ -536,6 +661,14 @@ rm -rf %{buildroot} %config(noreplace) %attr(644,root,root) %{_sysconfdir}/yum/pluginconf.d/search-disabled-repos.conf %endif +# dnf plugin config +%if %{use_dnf} + # remove the repo file when we are deleted + %config(noreplace) %attr(644,root,root) %{_sysconfdir}/dnf/plugins/subscription-manager.conf + %config(noreplace) %attr(644,root,root) %{_sysconfdir}/dnf/plugins/product-id.conf + %config(noreplace) %attr(644,root,root) %{_sysconfdir}/dnf/plugins/search-disabled-repos.conf +%endif + # misc system config %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/subscription-manager %attr(700,root,root) %{_sysconfdir}/cron.daily/rhsmd @@ -553,9 +686,12 @@ rm -rf %{buildroot} %{_sysconfdir}/bash_completion.d/rct %{_sysconfdir}/bash_completion.d/rhsm-debug %{_sysconfdir}/bash_completion.d/rhn-migrate-classic-to-rhsm -%{_sysconfdir}/bash_completion.d/rhsm-icon %{_sysconfdir}/bash_completion.d/rhsmcertd +%if %use_subman_gui +%{_sysconfdir}/bash_completion.d/rhsm-icon +%endif + %dir %{python_sitearch}/subscription_manager # code, python modules and packages @@ -565,14 +701,22 @@ rm -rf %{buildroot} %{python_sitearch}/subscription_manager/branding/*.py* %{python_sitearch}/subscription_manager/model/*.py* %{python_sitearch}/subscription_manager/plugin/__init__.py* -%if %{use_python3} -%exclude %{python3_sitearch}/subscription_manager-*.egg-info/* -%exclude %{python3_sitearch}/subscription_manager +%{python_sitearch}/subscription_manager/scripts/*.py* +%if %{with python3} +%{python_sitearch}/subscription_manager/__pycache__ +%{python_sitearch}/subscription_manager/api/__pycache__ +%{python_sitearch}/subscription_manager/branding/__pycache__ +%{python_sitearch}/subscription_manager/model/__pycache__ +%{python_sitearch}/subscription_manager/plugin/__pycache__ +%{python_sitearch}/subscription_manager/scripts/__pycache__ %endif # our gtk2/gtk3 compat modules %dir %{python_sitearch}/subscription_manager/ga_impls %{python_sitearch}/subscription_manager/ga_impls/__init__.py* +%if %{with python3} +%{python_sitearch}/subscription_manager/ga_impls/__pycache__ +%endif %if 0%{?gtk3} %{python_sitearch}/subscription_manager/ga_impls/ga_gtk3.py* @@ -610,8 +754,15 @@ rm -rf %{buildroot} %{python_sitearch}/rhsmlib/dbus/*.py* %{python_sitearch}/rhsmlib/dbus/facts/*.py* %{python_sitearch}/rhsmlib/dbus/objects/*.py* -%if %{use_python3} -%exclude %{python3_sitearch}/rhsmlib +%if %{with python3} +%{python_sitearch}/rhsmlib/__pycache__ +%{python_sitearch}/rhsmlib/candlepin/__pycache__ +%{python_sitearch}/rhsmlib/compat/__pycache__ +%{python_sitearch}/rhsmlib/dbus/__pycache__ +%{python_sitearch}/rhsmlib/dbus/facts/__pycache__ +%{python_sitearch}/rhsmlib/dbus/objects/__pycache__ +%{python_sitearch}/rhsmlib/facts/__pycache__ +%{python_sitearch}/rhsmlib/services/__pycache__ %endif %{_datadir}/polkit-1/actions/com.redhat.*.policy @@ -630,16 +781,16 @@ rm -rf %{buildroot} # Incude rt CLI tool %dir %{python_sitearch}/rct %{python_sitearch}/rct/*.py* -%if %{use_python3} -%exclude %{python3_sitearch}/rct +%if %{with python3} +%{python_sitearch}/rct/__pycache__ %endif %attr(755,root,root) %{_bindir}/rct # Include consumer debug CLI tool %dir %{python_sitearch}/rhsm_debug %{python_sitearch}/rhsm_debug/*.py* -%if %{use_python3} -%exclude %{python3_sitearch}/rhsm_debug +%if %{with python3} +%{python_sitearch}/rhsm_debug/__pycache__ %endif %attr(755,root,root) %{_bindir}/rhsm-debug @@ -652,7 +803,31 @@ rm -rf %{buildroot} %doc LICENSE -%files -n subscription-manager-gui -f subscription-manager.lang +%if %{use_rhsm_gtk} +%files -n rhsm-gtk +%defattr(-,root,root,-) +%dir %{python_sitearch}/subscription_manager/gui +%{python_sitearch}/subscription_manager/gui/*.py* +%{python_sitearch}/subscription_manager/gui/data/ui/*.ui +%{python_sitearch}/subscription_manager/gui/data/glade/*.glade +%{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} +%{python_sitearch}/subscription_manager/gui/__pycache__ +%endif +%endif + + +%if %{use_subman_gui} +#%files -n subscription-manager-gui -f subscription-manager.lang +%files -n subscription-manager-gui %defattr(-,root,root,-) %attr(755,root,root) %{_sbindir}/subscription-manager-gui %if 0%{?suse_version} @@ -663,48 +838,69 @@ rm -rf %{buildroot} %dir %{_datadir}/appdata %dir %{_datadir}/gnome %dir %{_datadir}/gnome/help +%dir %{_datadir}/gnome/help/subscription-manager +%dir %{_datadir}/gnome/help/subscription-manager/C +%dir %{_datadir}/gnome/help/subscription-manager/C/figures %dir %{_datadir}/omf +%dir %{_datadir}/omf/subscription-manager %else # symlink to console-helper %{_bindir}/subscription-manager-gui %endif %{_bindir}/rhsm-icon -%dir %{python_sitearch}/subscription_manager/gui -%{python_sitearch}/subscription_manager/gui/*.py* -%{python_sitearch}/subscription_manager/gui/data/ui/*.ui -%{python_sitearch}/subscription_manager/gui/data/glade/*.glade -%{python_sitearch}/subscription_manager/gui/data/icons/*.svg +%{_datadir}/gnome/help/subscription-manager/C/figures/*.png +%{_datadir}/gnome/help/subscription-manager/C/*.xml +%{_datadir}/omf/subscription-manager/subscription-manager-C.omf %{_datadir}/applications/subscription-manager-gui.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 %{_datadir}/appdata/subscription-manager-gui.appdata.xml -# gui system config files +# desktop config files %{_sysconfdir}/xdg/autostart/rhsm-icon.desktop %if !0%{?suse_version} %{_sysconfdir}/pam.d/subscription-manager-gui %{_sysconfdir}/security/console.apps/subscription-manager-gui %endif + %{_sysconfdir}/bash_completion.d/subscription-manager-gui %doc %{_mandir}/man8/subscription-manager-gui.8* %{_mandir}/man8/rhsm-icon.8* %doc LICENSE +%endif + + +%if %use_initial_setup + +%files -n subscription-manager-initial-setup-addon +%defattr(-,root,root,-) +%dir %{_datadir}/anaconda/addons/com_redhat_subscription_manager/ +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/*.py* +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/*.py* +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/spokes/*.ui +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/spokes/*.py* +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/categories/*.py* +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/ks/*.py* +%if %{with python3} +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/__pycache__ +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/__pycache__ +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/spokes/__pycache__ +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/categories/__pycache__ +%{_datadir}/anaconda/addons/com_redhat_subscription_manager/ks/__pycache__ +%endif + +%endif %files -n subscription-manager-migration %defattr(-,root,root,-) %dir %{python_sitearch}/subscription_manager/migrate %{python_sitearch}/subscription_manager/migrate/*.py* +%if %{with python3} +%{python_sitearch}/subscription_manager/migrate/__pycache__ +%endif %attr(755,root,root) %{_sbindir}/rhn-migrate-classic-to-rhsm %doc @@ -714,6 +910,20 @@ rm -rf %{buildroot} %doc README.Fedora %endif +%if %{with python3} +%files -n %{py_package_prefix}-syspurpose +%defattr(-,root,root,-) +%dir %{python3_sitelib}/syspurpose*.egg-info +%{python3_sitelib}/syspurpose*.egg-info/* +%dir %{_sysconfdir}/rhsm/syspurpose +%dir %{python3_sitelib}/syspurpose +%{python3_sitelib}/syspurpose/{*.py*,__pycache__/*} +%doc %{_mandir}/man8/syspurpose.8.* +%doc LICENSE + +%attr(755, root, root) %{_sbindir}/syspurpose +%attr(644,root,root) %{_sysconfdir}/rhsm/syspurpose/valid_fields.json +%endif %files -n subscription-manager-plugin-container %defattr(-,root,root,-) @@ -725,6 +935,9 @@ rm -rf %{buildroot} %endif %{_sysconfdir}/rhsm/pluginconf.d/container_content.ContainerContentPlugin.conf %{rhsm_plugins_dir}/container_content.py* +%if %{with python3} +%{rhsm_plugins_dir}/__pycache__ +%endif %{python_sitearch}/subscription_manager/plugin/container.py* # Copying Red Hat CA cert into each directory: @@ -739,19 +952,9 @@ rm -rf %{buildroot} %{_sysconfdir}/rhsm/pluginconf.d/ostree_content.OstreeContentPlugin.conf %{rhsm_plugins_dir}/ostree_content.py* %{python_sitearch}/subscription_manager/plugin/ostree/*.py* +%if %{with python3} +%{python_sitearch}/subscription_manager/plugin/ostree/__pycache__ %endif - - -%if %use_initial_setup -%files -n subscription-manager-initial-setup-addon -%defattr(-,root,root,-) -%dir %{_datadir}/anaconda/addons/com_redhat_subscription_manager/ -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/*.py* -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/*.py* -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/spokes/*.ui -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/gui/spokes/*.py* -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/categories/*.py* -%{_datadir}/anaconda/addons/com_redhat_subscription_manager/ks/*.py* %endif @@ -763,6 +966,8 @@ rm -rf %{buildroot} %dir %{_datadir}/rhn/up2date_client %dir %{_datadir}/rhn/up2date_client/firstboot %endif +# Not explicitly byte compiling this as we do not support firstboot +# on newer versions of fedora %{_datadir}/rhn/up2date_client/firstboot/rhsm_login.py* %endif @@ -770,23 +975,20 @@ rm -rf %{buildroot} %if %use_dnf %files -n dnf-plugin-subscription-manager %defattr(-,root,root,-) -%{python_sitearch}/dnf-plugins/* -%if %{use_python3} -%exclude %{python3_sitearch}/dnf-plugins/* -%endif +%{python_sitelib}/dnf-plugins/* %endif -%files -n subscription-manager-rhsm +%files -n %{rhsm_package_name} %defattr(-,root,root,-) -%dir %{python2_sitearch}/rhsm -%{python2_sitearch}/rhsm/* +%dir %{python_sitearch}/rhsm +%{python_sitearch}/rhsm/* -%if %{use_python3} -%files -n python3-subscription-manager-rhsm +%if %{with python2_rhsm} +%files -n python2-subscription-manager-rhsm %defattr(-,root,root,-) -%dir %{python3_sitearch}/rhsm -%{python3_sitearch}/rhsm/* +%dir %{python2_sitearch}/rhsm +%{python2_sitearch}/rhsm/* %endif %files -n subscription-manager-rhsm-certificates @@ -807,6 +1009,17 @@ rm -rf %{buildroot} %{_datadir}/cockpit/subscription-manager/po.js %{_datadir}/cockpit/subscription-manager/node_modules/* %{_datadir}/metainfo/org.cockpit-project.subscription-manager.metainfo.xml +%if ! %use_subman_gui +%{_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 %post @@ -834,11 +1047,13 @@ if [ "$1" -eq "2" ] ; then fi %endif +%if %{use_subman_gui} %post -n subscription-manager-gui touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %if !0%{?suse_version} scrollkeeper-update -q -o %{_datadir}/omf/%{name} || : %endif +%endif %post -n subscription-manager-plugin-container %{__python} %{rhsm_plugins_dir}/container_content.py || : @@ -866,6 +1081,7 @@ fi %endif %endif +%if %{use_subman_gui} %postun -n subscription-manager-gui if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null @@ -874,35 +1090,255 @@ if [ $1 -eq 0 ] ; then scrollkeeper-update -q || : %endif fi - %posttrans -n subscription-manager-gui touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : +%endif %changelog -* Tue Mar 13 2018 Christopher Snyder 1.20.11-1 -- 1554482: Reenable RHUI support (csnyder@redhat.com) +* Wed Sep 05 2018 Christopher Snyder 1.21.10-2 +- Fix up Makefile (csnyder@redhat.com) + +* Wed Sep 05 2018 Christopher Snyder 1.21.10-1 +- Updated translations (csnyder@redhat.com) +- 1623262: Make automatic enablement of yum plugins working again; ENT-820 + (jhnidek@redhat.com) + +* Mon Aug 13 2018 Christopher Snyder 1.23.3-1 +- 1606435: Rename the async module for compatibility with python 3.7; ENT-737 + (csnyder@redhat.com) +- Cockpit/Syspurpose service integration fix (aparadka@redhat.com) +- Display both new and old value in syspurpose diff message + (csnyder@redhat.com) +- Fix sending single value of addons. (jhnidek@redhat.com) +- Fix synchronization of usage with candlepin (jhnidek@redhat.com) +- 1596294: Fix displayin RHSM Spoke in Initial Setup (jhnidek@redhat.com) +- Syspurpose field value lists [ENT-766] (wpoteat@redhat.com) +- ENT-717: Syncing of syspurpose store with candlepin (jhnidek@redhat.com) +- 1609048: Replacement of imp module with importlib; ENT-758 + (jhnidek@redhat.com) + +* Fri Aug 03 2018 Christopher Snyder 1.23.2-1 +- Move "nose" to test requirements for syspurpose (csnyder@redhat.com) + +* Fri Aug 03 2018 Christopher Snyder 1.23.1-1 +- Integrate Syspurpose DBus Signal with Cockpit (aparadka@redhat.com) +- Change usage_type to usage (csnyder@redhat.com) +- ENT-715 Sync syspurpose with server (csnyder@redhat.com) +- 1609052: DNF Plugin needs config initiated earlier (wpoteat@redhat.com) +- 1608963: Minimize packaging for python 3 (wpoteat@redhat.com) +- Improve test setup for syspurpose tests. (awood@redhat.com) +- Two simple fixes for syspurpose (jhnidek@redhat.com) +- Raise ioerr when necessary during sp read (csnyder@redhat.com) +- ENT-720 Adds the addons subcommand (csnyder@redhat.com) +- 1602056: Added role subcommand ENT-719 (jhnidek@redhat.com) +- Replace lsb-release in spec and Makefile (khowell@redhat.com) +- Mock out syspurpose code from being executed in subman tests + (csnyder@redhat.com) +- ENT-584 syspurpose UTF-8 support & better formatting - All syspurpose + operations now support UTF-8 - syspurpose.json now has user-friendly + indentation (nmoumoul@redhat.com) +- ENT-446 Report systempurpose on registration (csnyder@redhat.com) +- 1512944: Fix up remaining python2 deps ENT-724 (csnyder@redhat.com) +- ENT-721: Usage command (wpoteat@redhat.com) +- ENT-590 Enhanced SyspurposeStore add/remove operations - 'add' will now not + override an existing value that was added by the 'set' command, but it will + be maintained and added in a list along with the newly added value. - 'add' + will now not add an element to a list if the list already contains it (no + duplicates). - 'remove' will now unset the current value, if that turns out + to be scalar instead of being contained in a list. (nmoumoul@redhat.com) +- Move syspurpose out of packages directory. (awood@redhat.com) +- Correct small problems in syspurpose. (awood@redhat.com) +- ansible vagrant QOL fixes (khowell@redhat.com) +- ENT-723: Add System Purpose Status to System Status output + (wpoteat@redhat.com) +- Improve debug logging for release listing (khowell@redhat.com) +- Remove other references to python-kitchen. (awood@redhat.com) +- Make build_ext a proper dependency. (awood@redhat.com) +- Add zanata.xml configuration file and gettext keys.pot (awood@redhat.com) +- Move clean command to common build_ext module. (awood@redhat.com) +- Only gather optparse strings in subscription-manager. (awood@redhat.com) +- Move syspurpose source files to be under package directory. + (awood@redhat.com) +- Look for source files based on package directory locations. + (awood@redhat.com) +- Add gettext calls to syspurpose. (awood@redhat.com) +- Load build_ext i18n commands in setup.py (awood@redhat.com) +- Integrate Dbus signals with Cockpit GUI (aparadka@redhat.com) +- Do not install subman-gui from setup.py by default (khowell@redhat.com) +- ENT-591 Handle when syspurpose.json is missing & create it. + (nmoumoul@redhat.com) +- Fix indeterminate unit test failure. (awood@redhat.com) +- Removal of python-kitchen (wpoteat@redhat.com) +- ENT-731 Replaced syspurpose 'offerings' commands with 'role': - Removed + commands 'add-offerings', 'remove-offerings', 'unset-offerings' - Added + commands 'set-role' and 'unset-role' (nmoumoul@redhat.com) +- ENT-589 Intentctl -> syspurpose (csnyder@redhat.com) +- ENT-710: Add three_way_merge utility function (csnyder@redhat.com) +- ENT-477: Add signal EntitlementsChanged (aparadka@redhat.com) +- ENT-476: Add signal InstalledProductsChanged (aparadka@redhat.com) +- 1594733: Fix GetStatus in com.redhat.RHSM1.Entitlement ENT-641 + (jhnidek@redhat.com) +- Make vagrant setup more flexible (khowell@redhat.com) +- ENT-475: Add signal ConfigChanged (aparadka@redhat.com) +- 1581777: Reraise exception properly. ENT-566 (jhnidek@redhat.com) +- Replace curly quote with straight quote (khowell@redhat.com) +- Add implementation of filesystem watcher (aparadka@redhat.com) +- 1581410: ENT-572: subman should require dnf-plugin-subscription-manager + (adarshvritant@gmail.com) +- ENT-478 com.redhat.RHSM1.Consumer D-Bus service object (jhnidek@redhat.com) +- 1576423: Polished changes provided in #1816 and added unit test. + (jhnidek@redhat.com) + +* Fri Jun 22 2018 Christopher Snyder 1.22.1-1 +- 1571998: Ignore HTB repos (nmoumoul@redhat.com) +- 1589296: subman list option --after now named --afterdate + (aparadka@redhat.com) +- 1558411: Begin building dnf-plugin-subscription-manager for RHEL 7 + (csnyder@redhat.com) +- Use constant defined in cerdirectory.py. (jhnidek@redhat.com) +- 1553266: When d-bus methods are unavailable, show appropriate message. * + Added a "safe call" mechanism that makes the initial dbus calls + (entitlementService, configService, productsService) only if the service is + available, tries to restart the rhsm service if possible, and otherwise + failing gracefully. * Added new UI curtain that provides a meaningful message + and advice to the end user. * Re-added utility method statusUpdateFailed that + was accidentally deleted. (nmoumoul@redhat.com) +- 1580996: Fix comparision of objects in Python 3 (ENT-578) + (jhnidek@redhat.com) +- Make xauth Idempotent again (csnyder@redhat.com) +- Fixes missing locale issues while running nosetests (csnyder@redhat.com) +- Remove freezegun (khowell@redhat.com) +- 1576582: Make rhsm.full_fresh_on_yum=1 working again (ENT-534) + (jhnidek@redhat.com) +- ansible-fix: fixed ansible failing during vagrant up (aparadka@redhat.com) +- Update the license of the subman-cockpit-plugin to GPLv2 (csnyder@redhat.com) +- 1510920: Allow access to job cancellation API (wpoteat@redhat.com) +- ENT-447 Add icons to RPM package for subman cockpit plugin + (jhnidek@redhat.com) + +* Fri Jun 08 2018 Christopher Snyder 1.22.0-1 +- Remove F26 from releasers (Fedora 26 EOL) (csnyder@redhat.com) + +* Thu Jun 07 2018 Christopher Snyder 1.21.5-1 +- Fix python-rhsm Provides and Obsoletes (csnyder@redhat.com) +- 1568609: Updated man page for --after list option (aparadka@redhat.com) +- Get Initial Setup Addon to run during installation in Vagrant + (jhnidek@redhat.com) +- ENT-447 Create .desktop file that opens web page with our cockpit plugin + (jhnidek@redhat.com) +- ENT-481 service-level command & options now update syspurpose metadata + (nmoumoul@redhat.com) +- 1560727: Search for proxy auth message in whole error string + (aria.paradkar@gmail.com) +- 1555384: get_libexecdir now returns a string instead of bytes + (aria.paradkar@gmail.com) +- Added generic set/unset and add/remove commands to syspurpose + (crog@redhat.com) +- ENT-488 syspurpose now warns if running in container (nmoumoul@redhat.com) +- 1574706: Create python2-subscription-manager-rhsm properly + (jhnidek@redhat.com) +- Automatic rebuilding of updates.img on PXE Server (jhnidek@redhat.com) +- 1574529: Fix rhsmcertd integer overflow on i386 & i686 (csnyder@redhat.com) +- Respecting proxy port configured in rhsm.conf (oskar@wycislak.pl) + +* Tue May 01 2018 Christopher Snyder 1.21.4-3 +- Add dist back to release (csnyder@redhat.com) -* Tue Jan 30 2018 Kevin Howell 1.20.10-1 -- Update translations from zanata (khowell@redhat.com) +* Tue May 01 2018 Christopher Snyder 1.21.4-2 +- Add missing buildrequires to fix upstream fedora python2 builds + (csnyder@redhat.com) + +* Tue May 01 2018 Christopher Snyder 1.21.4-1 +- Stop building subscription-manager-gui, when Python 3 is used + (jhnidek@redhat.com) +- Remove kitchen from install_requires (khowell@redhat.com) + +* Wed Apr 25 2018 Christopher Snyder 1.21.3-1 +- 1439645: Perform a full entitlement refresh in the yum/dnf/zypper plugins + (csnyder@redhat.com) +- 1527727: Add proc_stat.btime fact (csnyder@redhat.com) +- 1568214: rhsmcertd no longer uses reload on py3 (csnyder@redhat.com) +- 1559227: Do not use str format for python 2.6 (csnyder@redhat.com) +- 1425766: Additional message in status to indicate content access + (wpoteat@redhat.com) +- Adds a new cli utility 'syspurpose' (csnyder@redhat.com) +- 1559227: Do not log Error messages for missing identity cert/key + (csnyder@redhat.com) +- 1458159: python-dmidecode bug fix requires specific RPM release. + (awood@redhat.com) +- fix for proxy-server provisioning - resolving of 'candlepin.example.com' + (jstavel@redhat.com) +- 1458159: Require latest version of python-dmidecode (awood@redhat.com) +- 1551044: Add the option to build both python{3,2}-subscription-manager-rhsm + (csnyder@redhat.com) +- 1559743: Reduce log level of network address fact collection to debug + (csnyder@redhat.com) +- added a vagrant section for a VM for proxy-server (jstavel@redhat.com) +- ansible role rhsm-services and TESTING.md document (jstavel@redhat.com) +- Fix updates.img to include required Python packages (jhnidek@redhat.com) +- Do not remove existing zypper repos when disconnected (csnyder@redhat.com) +- Apply updates.img druing PXE boot (jhnidek@redhat.com) +- Do not use private network addresses for vagrant hostmanager + (csnyder@redhat.com) +- Adds tool to make updates.img file for use with anaconda (csnyder@redhat.com) +- 1554482: Reenable RHUI support (csnyder@redhat.com) +- Fix building on SLES 11 (jhnidek@redhat.com) +- Added PXE BOOT client to the Vagrant setup (jhnidek@redhat.com) +- New Vagrant file for creating PXEBOOT server (jhnidek@redhat.com) +- 1551386: Cannot put unicode into gtk for button label (wpoteat@redhat.com) +- 1551465: Fix unicode decode issue on py 2.6 (csnyder@redhat.com) +- Remove unneeded spec file directives (awood@redhat.com) + +* Tue Feb 27 2018 Alex Wood 1.21.2-3 +- Add missing dist macro to release + +* Mon Feb 26 2018 Alex Wood 1.21.2-2 +- Remove %%clean section (ignatenkobrain@fedoraproject.org) +- Remove BuildRoot definition (ignatenkobrain@fedoraproject.org) + +* Mon Feb 26 2018 Alex Wood 1.21.2-1 +- 1547354: Add missing requires for python-kitchen (awood@redhat.com) +- 1528625: Prevent dmidecode failure from returning None (awood@redhat.com) +- 1543639: Properly encode package profile data (jturel@redhat.com) +- 1527396: Subman cockpit plugin - fix registration using act. keys + (jhnidek@redhat.com) +- 1535974: Close register dialog, when status is changed (jhnidek@redhat.com) +- Add start date to available pool listing (wpoteat@redhat.com) +- Condition requiring --after and --all is unnecessary (wpoteat@redhat.com) - 1510024: Handle rhel-alt product tags properly (khowell@redhat.com) +- 1540204: Raise RateLimitExceededException with headers (jhnidek@redhat.com) +- 1533905: Remove dependency on yum and chkconfig. (jhnidek@redhat.com) +- 1479353: Add --after option to list command (csnyder@redhat.com) +- 1537473: Subman rpm requires python-setuptools (jhnidek@redhat.com) +- 1525238: Do not protect rhel prod. cert with special case + (jhnidek@redhat.com) - 1526622: Do not delete product certificates in protected directory (jhnidek@redhat.com) -- 1527813: subman-gui use new URL of Online Documentation (jhnidek@redhat.com) - 1519512: Handle non-UTF8 RPM vendors (khowell@redhat.com) -- 1526385: Bug fix of autoregistration in subman--cockpit plugin - (jhnidek@redhat.com) +- 1487600: Fix registration success detection (khowell@redhat.com) +- 1527813: subman-gui use new URL of Online Documentation (jhnidek@redhat.com) - 1527392: Clear credential data in register dialog (jhnidek@redhat.com) -- 1526385: Fix registration success detection (khowell@redhat.com) +- rct cat-manifest: show Web and API urls from consumer.json (evgeni@golov.de) +- Use dnf on RHEL or Fedora w/ using Python 3 (khowell@redhat.com) +- 1507030: RestlibExceptions should show they originate server-side + (awood@redhat.com) +- Package for Python 3 on Fedora (khowell@redhat.com) + +* Fri Feb 09 2018 Fedora Release Engineering - 1.21.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 11 2018 Alex Wood 1.21.1-1 +- Do not enable gpgcheck if the only a metadata gpg key is configured + (git@PaulSD.com) - 1448313: Do not log error, when rhsmcertd is restarted (jhnidek@redhat.com) +- Support configuration of a repo metadata signing key (git@PaulSD.com) +- Generate bin scripts via setuptools entry_points (khowell@redhat.com) +- 1304056: Fix D-Bus path of com.redhat.RHSM1.Facts (jhnidek@redhat.com) - 1516439: Cockpit reports error during unregister when candlepin unavailable (jhnidek@redhat.com) - -* Fri Dec 15 2017 Kevin Howell 1.20.9-1 -- Sync zanata translations (khowell@redhat.com) - 1510727: Enable starting of subman GUI, when consumer has been deleted (jhnidek@redhat.com) -- 1304056: Fix D-Bus path of com.redhat.RHSM1.Facts (jhnidek@redhat.com) * Mon Dec 11 2017 Kevin Howell 1.20.8-1 - Sync zanata translations (khowell@redhat.com)