diff --git a/.gitignore b/.gitignore index 29deb84..c31af57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ SOURCES/deps-pkgs-9.tar.gz -SOURCES/leapp-repository-0.18.0.tar.gz +SOURCES/leapp-repository-0.19.0.tar.gz diff --git a/.leapp-repository.metadata b/.leapp-repository.metadata index ab68f10..1597be5 100644 --- a/.leapp-repository.metadata +++ b/.leapp-repository.metadata @@ -1,2 +1,2 @@ 02499ccd70d4a8e6ce9ad29bd286a317d5e0b57b SOURCES/deps-pkgs-9.tar.gz -e69a6a7de3073175a4cc529cc47633a06e648a12 SOURCES/leapp-repository-0.18.0.tar.gz +79402ad1aa427e43bdce143f4c0641dda383eb5d SOURCES/leapp-repository-0.19.0.tar.gz diff --git a/SOURCES/0001-RHSM-Adjust-the-switch-to-container-mode-for-new-RHS.patch b/SOURCES/0001-RHSM-Adjust-the-switch-to-container-mode-for-new-RHS.patch new file mode 100644 index 0000000..241a920 --- /dev/null +++ b/SOURCES/0001-RHSM-Adjust-the-switch-to-container-mode-for-new-RHS.patch @@ -0,0 +1,37 @@ +From b6e409e1055b5d8b7f27e5df9eae096eb592a9c7 Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Fri, 27 Oct 2023 13:34:38 +0200 +Subject: [PATCH] RHSM: Adjust the switch to container mode for new RHSM + +RHSM in RHEL 8.9+ & RHEL 9.3+ requires newly for the switch to the +container mode existence and content under /etc/pki/entitlement-host, +which in our case should by symlink to /etc/pki/entitlement. + +So currently we need for the correct switch 2 symlinks: + * /etc/pki/rhsm-host -> /etc/pki/rhsm + * /etc/pki/entitlement-host -> /etc/pki/entitlement + +Technically we need that only for RHEL 8.9+ but discussing it with +RHSM SST, we can do this change unconditionally for any RHEL system +as older versions of RHSM do not check /etc/pki/entitlement-host. + +jira: RHEL-14839 +--- + repos/system_upgrade/common/libraries/rhsm.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/repos/system_upgrade/common/libraries/rhsm.py b/repos/system_upgrade/common/libraries/rhsm.py +index 4a5b0eb0..18842021 100644 +--- a/repos/system_upgrade/common/libraries/rhsm.py ++++ b/repos/system_upgrade/common/libraries/rhsm.py +@@ -334,6 +334,7 @@ def set_container_mode(context): + return + try: + context.call(['ln', '-s', '/etc/rhsm', '/etc/rhsm-host']) ++ context.call(['ln', '-s', '/etc/pki/entitlement', '/etc/pki/entitlement-host']) + except CalledProcessError: + raise StopActorExecutionError( + message='Cannot set the container mode for the subscription-manager.') +-- +2.41.0 + diff --git a/SOURCES/0002-Do-not-create-dangling-symlinks-for-containerized-RH.patch b/SOURCES/0002-Do-not-create-dangling-symlinks-for-containerized-RH.patch new file mode 100644 index 0000000..7739103 --- /dev/null +++ b/SOURCES/0002-Do-not-create-dangling-symlinks-for-containerized-RH.patch @@ -0,0 +1,62 @@ +From d1f28cbd143f2dce85f7f175308437954847aba8 Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Thu, 2 Nov 2023 14:20:11 +0100 +Subject: [PATCH] Do not create dangling symlinks for containerized RHSM + +When setting RHSM into the container mode, we are creating symlinks +to /etc/rhsm and /etc/pki/entitlement directories. However, this +creates dangling symlinks if RHSM is not installed or user manually +removes one of these dirs. + +If any of these directories is missing, skip other actions and +log the warning. Usually it means that RHSM is not actually used +or installed at all, so in these cases we can do the skip. The +only corner case when system could use RHSM without +/etc/pki/entitlement is when RHSM is configured to put these +certificate on a different path, and we do not support nor cover +such a scenario as we are not scanning the RHSM configuration at +all. + +This also solves the problems on systems that does not have RHSM +available at all. +--- + repos/system_upgrade/common/libraries/rhsm.py | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/repos/system_upgrade/common/libraries/rhsm.py b/repos/system_upgrade/common/libraries/rhsm.py +index 18842021..eb388829 100644 +--- a/repos/system_upgrade/common/libraries/rhsm.py ++++ b/repos/system_upgrade/common/libraries/rhsm.py +@@ -325,6 +325,11 @@ def set_container_mode(context): + could be affected and the generated repo file in the container could be + affected as well (e.g. when the release is set, using rhsm, on the host). + ++ We want to put RHSM into the container mode always when /etc/rhsm and ++ /etc/pki/entitlement directories exists, even when leapp is executed with ++ --no-rhsm option. If any of these directories are missing, skip other ++ actions - most likely RHSM is not installed in such a case. ++ + :param context: An instance of a mounting.IsolatedActions class + :type context: mounting.IsolatedActions class + """ +@@ -332,6 +337,17 @@ def set_container_mode(context): + api.current_logger().error('Trying to set RHSM into the container mode' + 'on host. Skipping the action.') + return ++ # TODO(pstodulk): check "rhsm identity" whether system is registered ++ # and the container mode should be required ++ if (not os.path.exists(context.full_path('/etc/rhsm')) ++ or not os.path.exists(context.full_path('/etc/pki/entitlement'))): ++ api.current_logger().warning( ++ 'Cannot set the container mode for the subscription-manager as' ++ ' one of required directories is missing. Most likely RHSM is not' ++ ' installed. Skipping other actions.' ++ ) ++ return ++ + try: + context.call(['ln', '-s', '/etc/rhsm', '/etc/rhsm-host']) + context.call(['ln', '-s', '/etc/pki/entitlement', '/etc/pki/entitlement-host']) +-- +2.41.0 + diff --git a/SOURCES/0004-Enforce-the-removal-of-rubygem-irb-do-not-install-it.patch b/SOURCES/0004-Enforce-the-removal-of-rubygem-irb-do-not-install-it.patch deleted file mode 100644 index 1cc62cc..0000000 --- a/SOURCES/0004-Enforce-the-removal-of-rubygem-irb-do-not-install-it.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 496abd1775779054377c5e35ae96fa4d390bab42 Mon Sep 17 00:00:00 2001 -From: Petr Stodulka -Date: Tue, 19 Apr 2022 21:51:03 +0200 -Subject: [PATCH] Enforce the removal of rubygem-irb (do not install it) - ---- - etc/leapp/transaction/to_remove | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/etc/leapp/transaction/to_remove b/etc/leapp/transaction/to_remove -index 0feb782..07c6864 100644 ---- a/etc/leapp/transaction/to_remove -+++ b/etc/leapp/transaction/to_remove -@@ -1,3 +1,6 @@ - ### List of packages (each on new line) to be removed from the upgrade transaction - # Removing initial-setup package to avoid it asking for EULA acceptance during upgrade - OAMG-1531 - initial-setup -+ -+# temporary workaround for the file conflict symlink <-> dir (#2030627) -+rubygem-irb --- -2.35.1 - diff --git a/SPECS/leapp-repository.spec b/SPECS/leapp-repository.spec index daad431..8ba4345 100644 --- a/SPECS/leapp-repository.spec +++ b/SPECS/leapp-repository.spec @@ -41,8 +41,8 @@ py2_byte_compile "%1" "%2"} # RHEL 8+ packages to be consistent with other leapp projects in future. Name: leapp-repository -Version: 0.18.0 -Release: 1%{?dist} +Version: 0.19.0 +Release: 4%{?dist} Summary: Repositories for leapp License: ASL 2.0 @@ -55,10 +55,8 @@ BuildArch: noarch ### PATCHES HERE # Patch0001: filename.patch - -## DO NOT REMOVE THIS PATCH UNLESS THE RUBYGEM-IRB ISSUE IS RESOLVED IN ACTORS! -# See: https://bugzilla.redhat.com/show_bug.cgi?id=2030627 -Patch0004: 0004-Enforce-the-removal-of-rubygem-irb-do-not-install-it.patch +Patch0001: 0001-RHSM-Adjust-the-switch-to-container-mode-for-new-RHS.patch +Patch0002: 0002-Do-not-create-dangling-symlinks-for-containerized-RH.patch %description @@ -104,7 +102,7 @@ Requires: leapp-repository-dependencies = %{leapp_repo_deps} # IMPORTANT: this is capability provided by the leapp framework rpm. # Check that 'version' instead of the real framework rpm version. -Requires: leapp-framework >= 3.1 +Requires: leapp-framework >= 5.0 # Since we provide sub-commands for the leapp utility, we expect the leapp # tool to be installed as well. @@ -201,7 +199,8 @@ Requires: python3-gobject-base # APPLY PATCHES HERE # %%patch0001 -p1 -%patch0004 -p1 +%patch0001 -p1 +%patch0002 -p1 %build @@ -220,6 +219,7 @@ install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/repos.d/ install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/transaction/ install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/files/ install -m 0644 etc/leapp/transaction/* %{buildroot}%{_sysconfdir}/leapp/transaction +install -m 0644 etc/leapp/files/* %{buildroot}%{_sysconfdir}/leapp/files # install CLI commands for the leapp utility on the expected path install -m 0755 -d %{buildroot}%{leapp_python_sitelib}/leapp/cli/ @@ -267,6 +267,7 @@ done; %dir %{repositorydir} %dir %{custom_repositorydir} %dir %{leapp_python_sitelib}/leapp/cli/commands +%config %{_sysconfdir}/leapp/files/* %{_sysconfdir}/leapp/repos.d/* %{_sysconfdir}/leapp/transaction/* %{repositorydir}/* @@ -277,6 +278,59 @@ done; # no files here %changelog +* Thu Nov 02 2023 Petr Stodulka - 0.19.0-4 +- Fix the upgrade for systems without subscription-manager package +- Resolves: RHEL-14901 + +* Tue Oct 31 2023 Petr Stodulka - 0.19.0-3 +- Fix the upgrade when the release is locked by new subscription-manager +- Resolves: RHEL-14901 + +* Wed Aug 23 2023 Petr Stodulka - 0.19.0-1 +- Rebase to v0.19.0 +- Requires leapp-framework 5.0 +- Handle correctly the installed certificates to allow upgrades with custom repositories using HTTPs with enabled SSL verification +- Fix failing upgrades with devtmpfs file systems specified in FSTAB +- Do not try to update GRUB core on IBM Z systems +- Minor improvements and fixes of various reports and error messages +- Redesign handling of information about kernel (booted and target) to reflect changes in RHEL 9.3 +- Use new leapp CLI API which provides better report summary output +- Resolves: rhbz#2215997, rhbz#2222861, rhbz#2232618 + +* Tue Jul 18 2023 Petr Stodulka - 0.18.0-5 +- Fix the calculation of the required free space on each partitions/volume for the upgrade transactions +- Create source overlay images with dynamic sizes to optimize disk space consumption +- Update GRUB2 when /boot resides on multiple devices aggregated in RAID +- Use new leapp CLI API which provides better report summary output +- Introduce possibility to add (custom) kernel drivers to initramfs +- Detect and report use of deprecated Xorg drivers +- Fix the generation of the report about hybrid images +- Inhibit the upgrade when unsupported x86-64 microarchitecture is detected +- Minor improvements and fixes of various reports +- Requires leapp-framework 4.0 +- Update leapp data files +- Resolves: rhbz#2140011, rhbz#2144304, rhbz#2174095, rhbz#2215997 + +* Mon Jun 19 2023 Petr Stodulka - 0.18.0-4 +- Introduce new upgrade path RHEL 8.9 -> 9.3 +- Update leapp data files to reflect new changes between systems +- Detect and report use of deprecated Xorg drivers +- Minor improvements of generated reports +- Fix false positive report about invalid symlinks +- Inhibit the upgrade when unsupported x86-64 microarchitecture is detected +- Resolves: rhbz#2215997 + +* Mon Jun 05 2023 Petr Stodulka - 0.18.0-3 +- Update the repomap.json file to address planned changes on RHUI Azure +- Resolves: rhbz#2203800 + +* Fri May 19 2023 Petr Stodulka - 0.18.0-2 +- Include leap data files in the package +- Introduce in-place upgrades for systems with enabled FIPS mode +- Enable the upgrade path 8.8 -> 9.2 for RHEL with SAP HANA +- Fix the upgrade of ruby-irb package +- Resolves: rhbz#2030627, rhbz#2097003, rhbz#2203800, rhbz#2203803 + * Tue Feb 21 2023 Petr Stodulka - 0.18.0-1 - Rebase to v0.18.0 - Introduce new upgrade path RHEL 8.8 -> 9.2