diff --git a/.gitignore b/.gitignore index f076e68..f1af3e5 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,5 @@ /subscription-manager-cockpit-1.21.1.tar.gz /subscription-manager-1.21.2.tar.gz /subscription-manager-cockpit-1.21.2.tar.gz +/subscription-manager-1.21.3.tar.gz +/subscription-manager-cockpit-1.21.3.tar.gz diff --git a/sources b/sources index 10b4ea9..a389463 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (subscription-manager-1.21.2.tar.gz) = 22037ccd946bce5c228be3e9e22cb835e344f6f883e0355f19b693ee83ecff8895c4df1ff621fe669ad9e5f8c806acf927a2cec229aa06cb0cf90de92414659b -SHA512 (subscription-manager-cockpit-1.21.2.tar.gz) = 189f2e2e872a13d8d882df04202c971e330182bdf13c0056cf999003e416ee383391f1f4c8a0828694d576b80559bc994e6e669fa1daef9047bae0b7fc16b409 +SHA512 (subscription-manager-1.21.3.tar.gz) = c954e01c195d005e6c85b1d036198c55b901a75298dcdf08de4025bbe4b292ff73dc220f935bd77c538c5f8db724fc8b67c8956a3db7015b2251b66061f9a862 +SHA512 (subscription-manager-cockpit-1.21.3.tar.gz) = 728b2cbfc3f488a011c45a721268098a264482449553b715f7adbe75135b6a34f8d5b003f119a229e7f71baf86ea7a1438d04de836444a04bc1c8c73bc6d837d diff --git a/subscription-manager.spec b/subscription-manager.spec index 0a998ba..5b1c745 100644 --- a/subscription-manager.spec +++ b/subscription-manager.spec @@ -7,6 +7,11 @@ %global use_firstboot 0 %global use_kitchen 1 %global use_inotify 1 +%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} @@ -15,12 +20,19 @@ %bcond_without python3 %endif +%if !(0%{?fedora} && %{with python3}) +%bcond_with python2_rhsm +%else +%bcond_without python2_rhsm +%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) %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 @@ -40,6 +52,7 @@ %global __python %__python3 %global py_package_prefix python%{python3_pkgversion} %global rhsm_package_name %{py_package_prefix}-subscription-manager-rhsm +%define include_intentctl 1 %else %global py_package_prefix python %global rhsm_package_name subscription-manager-rhsm @@ -93,9 +106,11 @@ %define with_systemd WITH_SYSTEMD=false %endif +%define subpackages SUBPACKAGES="%{?include_intentctl:intentctl}" + Name: subscription-manager -Version: 1.21.2 -Release: 3%{?dist} +Version: 1.21.3 +Release: 1%{?dist} Summary: Tools and libraries for subscription and repository management Group: System Environment/Base License: GPLv2 @@ -114,10 +129,16 @@ 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 @@ -160,7 +181,7 @@ Requires: %{?gtk3:gobject-introspection, pygobject3-base} %{!?gtk3:pygobject2} # 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: %{py_package_prefix}-dmidecode +Requires: %{py_package_prefix}-dmidecode %{?dmidecode_version} %endif %endif @@ -208,12 +229,21 @@ BuildRequires: systemd-rpm-macros BuildRequires: systemd %endif - %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}-intentctl +Summary: A commandline utility for declaring system intent +Group: System Environment/Base + +%description -n %{py_package_prefix}-intentctl +Provides the intentctl commandline utility. This utility manages the +system intent. +%endif + %package -n subscription-manager-plugin-container Summary: A plugin for handling container content @@ -357,14 +387,12 @@ Requires: subscription-manager-rhsm-certificates = %{version}-%{release} %{?python_provide:%python_provide %{py_package_prefix}-rhsm} %if %{with python3} Requires: python3-rpm -Provides: python3-python-rhsm = %{version}-%{release} -Obsoletes: python3-python-rhsm <= 1.20.3-1 +Provides: python3-rhsm = %{version}-%{release} +Obsoletes: python3-rhsm <= 1.20.3-1 %else Requires: rpm-python Provides: python-rhsm = %{version}-%{release} Obsoletes: python-rhsm <= 1.20.3-1 -Provides: subscription-manager-rhsm = %{version}-%{release} -Obsoletes: subscription-manager-rhsm <= 1.21.0-1 %endif %description -n %{rhsm_package_name} @@ -372,6 +400,32 @@ 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 %{with python2_rhsm} +%package -n python2-subscription-manager-rhsm +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: %{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 %{py2_package_prefix}-rhsm} +Requires: rpm-python +Provides: python-rhsm = %{version}-%{release} +Obsoletes: python-rhsm <= 1.20.3-1 + +%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 @@ -402,7 +456,11 @@ Subscription Manager Cockpit UI %build make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ - LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" PYTHON="%{__python}" %{?gtk_version} + LDFLAGS="%{__global_ldflags}" OS_DIST="%{dist}" PYTHON="%{__python}" %{?gtk_version} %{?subpackages} %{?include_intentctl:INCLUDE_INTENTCTL="1"} + +%if %{with python2_rhsm} +./setup.py build --quiet --gtk-version=%{?gtk3:3}%{?!gtk3:2} --rpm-version=%{version}-%{release} +%endif %install rm -rf %{buildroot} @@ -413,7 +471,14 @@ make -f Makefile install VERSION=%{version}-%{release} \ %{?install_ostree} %{?post_boot_tool} %{?gtk_version} \ %{?install_yum_plugins} %{?install_dnf_plugins} \ %{?install_zypper_plugins} \ - %{?with_systemd} + %{?with_systemd} \ + %{?subpackages} \ + %{?include_intentctl:INCLUDE_INTENTCTL="1"} + +%if %{with python2_rhsm} +mkdir -p %{buildroot}%{python2_sitearch} +cp -r %{buildroot}%{python_sitearch}/rhsm %{buildroot}%{python2_sitearch}/rhsm +%endif %if 0%{?suse_version} %suse_update_desktop_file -n -r subscription-manager-gui Settings PackageManager @@ -731,6 +796,17 @@ install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/ca/redhat-uep.pem %{buildroo %doc README.Fedora %endif +%if %{with python3} +%files -n %{py_package_prefix}-intentctl +%defattr(-,root,root,-) +%dir %{python3_sitelib}/intentctl*.egg-info +%{python3_sitelib}/intentctl*.egg-info/* +%dir %{_sysconfdir}/rhsm/intent +%dir %{python3_sitelib}/intentctl +%{python3_sitelib}/intentctl/{*.py*,__pycache__/*} + +%attr(755, root, root) %{_sbindir}/intentctl +%endif %files -n subscription-manager-plugin-container %defattr(-,root,root,-) @@ -809,6 +885,13 @@ install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/ca/redhat-uep.pem %{buildroo %dir %{python_sitearch}/rhsm %{python_sitearch}/rhsm/* +%if %{with python2_rhsm} +%files -n python2-subscription-manager-rhsm +%defattr(-,root,root,-) +%dir %{python2_sitearch}/rhsm +%{python2_sitearch}/rhsm/* +%endif + %files -n subscription-manager-rhsm-certificates %attr(755,root,root) %dir %{_sysconfdir}/rhsm %attr(755,root,root) %dir %{_sysconfdir}/rhsm/ca @@ -900,6 +983,42 @@ touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* 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 'intentctl' (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