From b2216378630579fd46b24d926d0db2af8003fd5c Mon Sep 17 00:00:00 2001 From: eabdullin Date: Fri, 31 May 2024 17:10:28 +0000 Subject: [PATCH] Import from AlmaLinux stable repository --- .gitignore | 1 - .subscription-manager.metadata | 2 - SOURCES/subscription-manager-debrand.patch | 32 +++++++++++ ...scription-manager-remove-redhat.repo.patch | 16 ++++++ SOURCES/use-almalinux-syspurposes.patch | 20 +++++++ SPECS/subscription-manager.spec | 55 +++++++++++++------ 6 files changed, 107 insertions(+), 19 deletions(-) delete mode 100644 .subscription-manager.metadata create mode 100644 SOURCES/subscription-manager-debrand.patch create mode 100644 SOURCES/subscription-manager-remove-redhat.repo.patch create mode 100644 SOURCES/use-almalinux-syspurposes.patch diff --git a/.gitignore b/.gitignore index 18b7f59..465a6cf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ SOURCES/subscription-manager-1.28.42.tar.gz -SOURCES/subscription-manager-cockpit-1.28.42.tar.gz diff --git a/.subscription-manager.metadata b/.subscription-manager.metadata deleted file mode 100644 index 6bafdd9..0000000 --- a/.subscription-manager.metadata +++ /dev/null @@ -1,2 +0,0 @@ -01f0a068cb66e42b795d775faa5cf6d6741356e4 SOURCES/subscription-manager-1.28.42.tar.gz -2599b490ec820cd7b36a3debb6651246854162dc SOURCES/subscription-manager-cockpit-1.28.42.tar.gz diff --git a/SOURCES/subscription-manager-debrand.patch b/SOURCES/subscription-manager-debrand.patch new file mode 100644 index 0000000..ac83ccc --- /dev/null +++ b/SOURCES/subscription-manager-debrand.patch @@ -0,0 +1,32 @@ +diff -aruN subscription-manager-1.28.29/etc-conf/subscription-manager-cockpit.desktop.in subscription-manager-1.28.29.alma/etc-conf/subscription-manager-cockpit.desktop.in +--- subscription-manager-1.28.29/etc-conf/subscription-manager-cockpit.desktop.in 2022-04-13 18:01:03.000000000 +0300 ++++ subscription-manager-1.28.29.alma/etc-conf/subscription-manager-cockpit.desktop.in 2022-05-10 19:54:57.000000000 +0300 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-_Name=Red Hat Subscription Manager ++_Name=Subscription Manager + Icon=subscription-manager + Type=Application + TryExec=/usr/libexec/cockpit-desktop +diff -aruN subscription-manager-1.28.29/etc-conf/subscription-manager-gui.desktop.in subscription-manager-1.28.29.alma/etc-conf/subscription-manager-gui.desktop.in +--- subscription-manager-1.28.29/etc-conf/subscription-manager-gui.desktop.in 2022-04-13 18:01:03.000000000 +0300 ++++ subscription-manager-1.28.29.alma/etc-conf/subscription-manager-gui.desktop.in 2022-05-10 19:55:18.000000000 +0300 +@@ -1,5 +1,5 @@ + [Desktop Entry] +-_Name=Red Hat Subscription Manager ++_Name=Subscription Manager + Icon=subscription-manager + Exec=subscription-manager-gui + Terminal=false +diff -aruN subscription-manager-1.28.29/src/subscription_manager/repolib.py subscription-manager-1.28.29.alma/src/subscription_manager/repolib.py +--- subscription-manager-1.28.29/src/subscription_manager/repolib.py 2022-04-13 18:01:03.000000000 +0300 ++++ subscription-manager-1.28.29.alma/src/subscription_manager/repolib.py 2022-05-10 20:01:44.000000000 +0300 +@@ -87,7 +87,7 @@ + @staticmethod + def warning_message(enabled_yum_plugins): + message = _('The yum/dnf plugins: %s were automatically enabled for the benefit of ' +- 'Red Hat Subscription Management. If not desired, use ' ++ 'Subscription Management. If not desired, use ' + '"subscription-manager config --rhsm.auto_enable_yum_plugins=0" to ' + 'block this behavior.') % ', '.join(enabled_yum_plugins) + return message diff --git a/SOURCES/subscription-manager-remove-redhat.repo.patch b/SOURCES/subscription-manager-remove-redhat.repo.patch new file mode 100644 index 0000000..0001d86 --- /dev/null +++ b/SOURCES/subscription-manager-remove-redhat.repo.patch @@ -0,0 +1,16 @@ +diff -Nurp subscription-manager-1.27.11.orig/src/subscription_manager/repofile.py subscription-manager-1.27.11/src/subscription_manager/repofile.py +--- subscription-manager-1.27.11.orig/src/subscription_manager/repofile.py 2020-07-28 11:06:10.000000000 -0500 ++++ subscription-manager-1.27.11/src/subscription_manager/repofile.py 2020-08-05 16:48:00.911709258 -0500 +@@ -368,11 +368,7 @@ class RepoFileBase(object): + Try to create new repo file. + :return: None + """ +- self.create_dir_path() +- if self.path_exists(self.path) or not self.manage_repos: +- return +- with open(self.path, 'w') as f: +- f.write(self.REPOFILE_HEADER) ++ pass + + def fix_content(self, content): + return content diff --git a/SOURCES/use-almalinux-syspurposes.patch b/SOURCES/use-almalinux-syspurposes.patch new file mode 100644 index 0000000..2cfced4 --- /dev/null +++ b/SOURCES/use-almalinux-syspurposes.patch @@ -0,0 +1,20 @@ +diff --git a/etc-conf/syspurpose/valid_fields.json b/etc-conf/syspurpose/valid_fields.json +index 1ac7ea0e..305ec4b9 100644 +--- a/etc-conf/syspurpose/valid_fields.json ++++ b/etc-conf/syspurpose/valid_fields.json +@@ -1,12 +1,10 @@ + { + "role": [ +- "Red Hat Enterprise Linux Server", +- "Red Hat Enterprise Linux Workstation", +- "Red Hat Enterprise Linux Compute Node" ++ "AlmaLinux Server", ++ "AlmaLinux Workstation", ++ "AlmaLinux Compute Node" + ], + "service_level_agreement": [ +- "Premium", +- "Standard", + "Self-Support" + ], + "usage": [ diff --git a/SPECS/subscription-manager.spec b/SPECS/subscription-manager.spec index 9ac495b..43d53be 100644 --- a/SPECS/subscription-manager.spec +++ b/SPECS/subscription-manager.spec @@ -1,9 +1,10 @@ +%global dist %{?dist}.alma.1 # Prefer systemd over sysv on Fedora and RHEL 7+ %global use_systemd 0%{?fedora} || (0%{?rhel} && 0%{?rhel} >= 7) || (0%{?suse_version} && 0%{?suse_version} >= 1315) # For optional building of ostree-plugin sub package. Unrelated to systemd # but the same versions apply at the moment. %global has_ostree %use_systemd && 0%{?suse_version} == 0 -%global use_initial_setup 1 +%global use_initial_setup 0 %global use_firstboot 0 %global use_inotify 1 %global py2_package_prefix python2 @@ -90,14 +91,14 @@ %endif %if (%{use_subman_gui} || %{use_initial_setup} || %{use_firstboot}) -%global use_rhsm_gtk 1 +%global use_rhsm_gtk 0 %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) -%global use_cockpit 0%{?fedora} || 0%{?rhel} >= 7 +%global use_cockpit 0 %if %{with python3} %global python_sitearch %python3_sitearch @@ -255,6 +256,9 @@ Source2: subscription-manager-rpmlintrc %if (0%{?suse_version} && 0%{?suse_version} < 1200) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %endif +Patch100: use-almalinux-syspurposes.patch +Patch101: subscription-manager-remove-redhat.repo.patch +Patch102: subscription-manager-debrand.patch # 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 @@ -379,10 +383,15 @@ Obsoletes: subscription-manager-migration <= %{version}-%{release} %if !%{use_container_plugin} Obsoletes: subscription-manager-plugin-container %endif +# AlmaLinux do not provide the following packages no more +Obsoletes: subscription-manager-cockpit +Obsoletes: subscription-manager-initial-setup-addon +Obsoletes: rhsm-gtk +Obsoletes: rhsm-icons %description 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 EL entitlement platform. @@ -442,7 +451,7 @@ and RHSM initial_setup module for Anaconda. %if %{use_subman_gui} %package -n subscription-manager-gui -Summary: A GUI interface to manage Red Hat product subscriptions +Summary: A GUI interface to manage product subscriptions %if 0%{?suse_version} Group: Productivity/Networking/System %else @@ -465,7 +474,7 @@ Requires(postun): scrollkeeper %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 +registering a system with a Entitlement platform and manage subscriptions. %endif @@ -505,7 +514,7 @@ Requires: dnf >= 1.0.0 %description -n dnf-plugin-subscription-manager This package provides plugins to interact with repositories and subscriptions -from the Red Hat entitlement platform; contains subscription-manager and +from the entitlement platform; contains subscription-manager and product-id plugins. %endif @@ -540,9 +549,11 @@ Group: System Environment/Base Requires: rhsm-gtk = %{version}-%{release} Requires: initial-setup-gui >= 0.3.9.24-1 Obsoletes: subscription-manager-firstboot < 1.15.3-1 +%if %{undefined almalinux_ver} %if (0%{?rhel} >= 8) Supplements: initial-setup-gui %endif +%endif %description -n subscription-manager-initial-setup-addon This package contains the initial-setup screens for subscription-manager. @@ -571,7 +582,7 @@ the remote in the currently deployed .origin file. %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 Unified Entitlement Platform %if 0%{?suse_version} Group: Development/Libraries/Python %else @@ -606,14 +617,14 @@ Obsoletes: python-rhsm <= 1.20.3-1 %endif %description -n %{rhsm_package_name} -A small library for communicating with the REST interface of a Red Hat Unified +A small library for communicating with the REST interface of a 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 +Summary: A Python library to communicate with a Unified Entitlement Platform %if 0%{?suse_version} Group: Development/Libraries/Python %else @@ -637,7 +648,7 @@ 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 +A small library for communicating with the REST interface of a Unified Entitlement Platform. This interface is used for the management of system entitlements, certificates, and access to content. %endif @@ -661,7 +672,7 @@ Subscription Manager Cockpit UI %if %{use_rhsm_icons} %package -n rhsm-icons -Summary: Icons for Red Hat Subscription Management client tools +Summary: Icons for Subscription Management client tools License: GPLv2 BuildArch: noarch @@ -676,7 +687,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, +of subscriptions. There are many such interfaces, subscription-manager-gui, subscription-manager-initial-setup-addon, and subscription-manager-cockpit-plugin primarily. %endif @@ -696,6 +707,9 @@ cloud metadata and signatures. %prep %setup -q +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 %build make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ @@ -774,7 +788,9 @@ desktop-file-validate %{buildroot}/usr/share/applications/subscription-manager-c # fake out the redhat.repo file %if %{use_yum} || %{use_dnf} mkdir %{buildroot}%{_sysconfdir}/yum.repos.d + %if %{undefined almalinux_ver} touch %{buildroot}%{_sysconfdir}/yum.repos.d/redhat.repo + %endif %endif # fake out the certificate directories @@ -784,9 +800,11 @@ mkdir -p %{buildroot}%{_sysconfdir}/pki/entitlement %if %{use_container_plugin} # Setup cert directories for the container plugin: mkdir -p %{buildroot}%{_sysconfdir}/docker/certs.d/ +%if %{undefined almalinux_ver} mkdir %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com install -m 644 %{_builddir}/%{buildsubdir}/src/content_plugins/redhat-entitlement-authority.pem %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt %endif +%endif %if %use_cockpit # install cockpit dist targz @@ -811,6 +829,9 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; ln -s %{_initrddir}/rhsmcertd %{buildroot}%{_sbindir}/rcrhsmcertd %endif %endif +%if %{defined almalinux_ver} +sed -e '/^enabled=/ s/1/0/' -i %{buildroot}%{_sysconfdir}/dnf/plugins/subscription-manager.conf +%endif # base/cli tools use the gettext domain 'rhsm', while the # gnome-help tools use domain 'subscription-manager' @@ -1164,10 +1185,12 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %endif %{python_sitearch}/subscription_manager/plugin/container/*.py* +%if %{undefined almalinux_ver} # Copying Red Hat CA cert into each directory: %attr(755,root,root) %dir %{_sysconfdir}/docker/certs.d/cdn.redhat.com %attr(644,root,root) %{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt %endif +%endif %if %has_ostree %files -n subscription-manager-plugin-ostree @@ -1381,6 +1404,9 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Wed Mar 27 2024 Eduard Abdullin - 1.28.42-1.alma +- AlmaLinux changes + * Thu Jan 25 2024 Pino Toscano 1.28.42-1 - Translated using Weblate (Korean) (simmon@nplob.com) - Translated using Weblate (Chinese (Simplified) (zh_CN)) @@ -1389,7 +1415,6 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : (jhnidek@redhat.com) - RHEL-21049: [1.28] Fix issue with registration using gsd-subman (jhnidek@redhat.com) - * Tue Dec 05 2023 Pino Toscano 1.28.41-1 - tito: drop bz requirement (ptoscano@redhat.com) - Translated using Weblate (Chinese (Simplified) (zh_CN)) (jsefler@redhat.com) @@ -1508,7 +1533,6 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : - Fix tests for Python 3.6 runner (mhorky@redhat.com) - Stop calling pytest with --failed-first (mhorky@redhat.com) - Handle tests in containers better (mhorky@redhat.com) - * Fri Jan 20 2023 Pino Toscano 1.28.35-1 - Translated using Weblate (Spanish) (ptoscano@redhat.com) - Translated using Weblate (Georgian) (temuri.doghonadze@gmail.com) @@ -1604,7 +1628,6 @@ gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : (mhorky@redhat.com) - ENT-5215: Handle errors raised in DNF plugin (mhorky@redhat.com) - Translated using Weblate (Chinese (Simplified) (zh_CN)) (ljanda@redhat.com) - * Tue Jun 28 2022 Christopher Snyder 1.28.31-1 - Translated using Weblate (Korean) (simmon@nplob.com) - Update translation files (noreply@weblate.org)