diff --git a/.gitignore b/.gitignore index d8cdd6f200f43cdee07541d5fff279c292aa2bb6..1731e64818f28d74638c336d76ae33d584f500bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/deps-pkgs-10.tar.gz -SOURCES/leapp-repository-0.20.0.tar.gz +SOURCES/deps-pkgs-9.tar.gz +SOURCES/leapp-repository-0.18.1.tar.gz diff --git a/.leapp-repository.metadata b/.leapp-repository.metadata index c93f55a29520ac0ecc56993ee29f8a2964f03de7..f203018db9ae7d6cba1adb7b844cfde6b32938a8 100644 --- a/.leapp-repository.metadata +++ b/.leapp-repository.metadata @@ -1,2 +1,2 @@ -d520ada12294e4dd8837c81f92d4c184ab403d51 SOURCES/deps-pkgs-10.tar.gz -185bbb040dba48e1ea2d6c627133af594378afd4 SOURCES/leapp-repository-0.20.0.tar.gz +02499ccd70d4a8e6ce9ad29bd286a317d5e0b57b SOURCES/deps-pkgs-9.tar.gz +98b4d895ed8b1b15781acbcf925d4c5f088237fe SOURCES/leapp-repository-0.18.1.tar.gz diff --git a/SPECS/leapp-repository.spec b/SPECS/leapp-repository.spec index 434ab2b1453695885b8352b840721293adad52c9..59d4267508d5a7633825d2d8b496ad12d42d79ec 100644 --- a/SPECS/leapp-repository.spec +++ b/SPECS/leapp-repository.spec @@ -2,248 +2,93 @@ %global repositorydir %{leapp_datadir}/repositories %global custom_repositorydir %{leapp_datadir}/custom-repositories -%define leapp_repo_deps 10 - -%if 0%{?rhel} == 7 - %define leapp_python_sitelib %{python2_sitelib} - %define lpr_name leapp-upgrade-el7toel8 -%else - %define leapp_python_sitelib %{python3_sitelib} - %define lpr_name leapp-upgrade-el8toel9 - - # This drops autogenerated deps on - # - /usr/libexec/platform-python (rhel-8 buildroot) - # - /usr/bin/python3.x (epel-8 buildroot) - # - python(abi) = 3.x - # Each of these lead into the removal of leapp rpms as python is changed between - # major versions of RHEL - %global __requires_exclude ^python\\(abi\\) = 3\\..+|/usr/libexec/platform-python|/usr/bin/python.* -%endif - - -# TODO: not sure whether it's required nowadays. Let's check it and drop -# the whole block if not. -%if 0%{?rhel} == 7 -# Defining py_byte_compile macro because it is not defined in old rpm (el7) -# Only defined to python2 since python3 is not used in RHEL7 -%{!?py_byte_compile: %global py_byte_compile py2_byte_compile() {\ - python_binary="%1"\ - bytecode_compilation_path="%2"\ - find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ - find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ -}\ -py2_byte_compile "%1" "%2"} -%endif - - -# We keeps the leapp-repository name for the component, however we do not plan -# to create such an rpm. Instead, we are going to introduce new naming for -# RHEL 8+ packages to be consistent with other leapp projects in future. +%define leapp_repo_deps 9 +%define leapp_python_sitelib %{python3_sitelib} +%define lpr_name leapp-upgrade-oc8to9 +%global __requires_exclude ^python\\(abi\\) = 3\\..+|/usr/libexec/platform-python|/usr/bin/python.* Name: leapp-repository -Version: 0.20.0 -Release: 2%{?dist} +Version: 0.18.1 +Release: 8.oc8 Summary: Repositories for leapp License: ASL 2.0 URL: https://oamg.github.io/leapp/ Source0: https://github.com/oamg/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source1: deps-pkgs-10.tar.gz - -# NOTE: Our packages must be noarch. Do no drop this in any way. +Source1: deps-pkgs-9-oc.tar.gz BuildArch: noarch -### PATCHES HERE -# Patch0001: filename.patch - -Patch0001: 0001-rhui-do-not-bootstrap-target-client-on-aws.patch - - %description %{summary} - -# This is the real RPM with the leapp repositories content %package -n %{lpr_name} Summary: Leapp repositories for the in-place upgrade -%if 0%{?rhel} == 7 -######### RHEL 7 ############ -BuildRequires: python-devel -Requires: python2-leapp - -# We should not drop this on RHEL 7 because of the compatibility reasons -Obsoletes: leapp-repository-data <= 0.6.1 -Provides: leapp-repository-data <= 0.6.1 - -# Former leapp subpackage that is part of the sos package since RHEL 7.8 -Obsoletes: leapp-repository-sos-plugin <= 0.10.0 - -# Set the conflict to be sure this RPM is not upgraded automatically to -# the one from the target (upgraded) RHEL. The RPM has to stay untouched -# during the whole IPU process. -# The manual removal of the RPM is required after the IPU -Conflicts: leapp-upgrade-el8toel9 - -%else -######### RHEL 8 ############ BuildRequires: python3-devel -Requires: python3-leapp -# Same as the conflict above - we want to be sure our packages are untouched -# during the whole IPU process Conflicts: leapp-upgrade-el7toel8 -%endif - -# IMPORTANT: every time the requirements are changed, increment number by one -# - same for Provides in deps subpackage -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 >= 5.0 - -# Since we provide sub-commands for the leapp utility, we expect the leapp -# tool to be installed as well. -Requires: leapp - -# Used to determine RHEL version of a given target RHEL installation image - -# uncompressing redhat-release package from the ISO. -Requires: cpio - -# The leapp-repository rpm is renamed to %%{lpr_name} Obsoletes: leapp-repository < 0.14.0-5 -Provides: leapp-repository = %{version}-%{release} +Obsoletes: leapp-repository-deps < 0.14.0-5 -# Provide "leapp-upgrade" for the user convenience. Users will be pointed -# to install "leapp-upgrade" in the official docs. +Provides: leapp-repository = %{version}-%{release} Provides: leapp-upgrade = %{version}-%{release} - -# Provide leapp-commands so the framework could refer to them when customers -# do not have installed particular leapp-repositories Provides: leapp-command(answer) Provides: leapp-command(preupgrade) Provides: leapp-command(upgrade) Provides: leapp-command(rerun) Provides: leapp-command(list-runs) +Requires: leapp-framework >= 3.1 +Requires: leapp +Requires: cpio +Requires: dnf >= 4 +Requires: pciutils +Requires: systemd-container +Requires: python3-pyudev +Requires: python3-requests +Requires: python3-six +Requires: policycoreutils-python-utils +Requires: procps-ng +Requires: kmod +Requires: dracut +Requires: NetworkManager-libnm +Requires: python3-gobject-base %description -n %{lpr_name} Leapp repositories for the in-place upgrade to the next major version of the Red Hat Enterprise Linux system. - -# This metapackage should contain all RPM dependencies excluding deps on *leapp* -# RPMs. This metapackage will be automatically replaced during the upgrade -# to satisfy dependencies with RPMs from target system. -%package -n %{lpr_name}-deps -Summary: Meta-package with system dependencies of %{lpr_name} package - -# The package has been renamed, so let's obsoletes the old one -Obsoletes: leapp-repository-deps < 0.14.0-5 - -# IMPORTANT: every time the requirements are changed, increment number by one -# - same for Requires in main package -Provides: leapp-repository-dependencies = %{leapp_repo_deps} -################################################## -# Real requirements for the leapp-repository HERE -################################################## -Requires: dnf >= 4 -Requires: pciutils - -# required to be able to format disk images with XFS file systems (default) -Requires: xfsprogs - -# required to be able to format disk images with Ext4 file systems -# NOTE: this is not happening by default, but we can expact that many customers -# will want to / need to do this - especially on RHEL 7 now. Adding this deps -# as the best trade-off to resolve this problem. -Requires: e2fsprogs - -%if 0%{?rhel} && 0%{?rhel} == 7 -# Required to gather system facts about SELinux -Requires: libselinux-python -Requires: python-pyudev -# required by SELinux actors -Requires: policycoreutils-python -# Required to fetch leapp data -Requires: python-requests - -%else -############# RHEL 8 dependencies (when the source system is RHEL 8) ########## -# systemd-nspawn utility -Requires: systemd-container -Requires: python3-pyudev -# Required to fetch leapp data -Requires: python3-requests -# Required because the code is kept Py2 & Py3 compatible -Requires: python3-six -# required by SELinux actors -Requires: policycoreutils-python-utils -# required by systemfacts, and several other actors -Requires: procps-ng -Requires: kmod -# since RHEL 8+ dracut does not have to be present on the system all the time -# and missing dracut could be killing situation for us :) -Requires: dracut - -# Required to scan NetworkManagerConnection (e.g. to recognize secrets) -# NM is requested to be used on RHEL 8+ systems -Requires: NetworkManager-libnm -Requires: python3-gobject-base - -%endif -################################################## -# end requirement -################################################## - - -%description -n %{lpr_name}-deps -%{summary} - - %prep %setup -n %{name}-%{version} %setup -q -n %{name}-%{version} -D -T -a 1 -# APPLY PATCHES HERE -# %%patch0001 -p1 -%patch0001 -p1 - - %build -%if 0%{?rhel} == 7 -cp -a leapp*deps*el8.noarch.rpm repos/system_upgrade/el7toel8/files/bundled-rpms/ -%else -cp -a leapp*deps*el9.noarch.rpm repos/system_upgrade/el8toel9/files/bundled-rpms/ -%endif - +cp -a leapp*deps*el9.noarch.rpm repos/system_upgrade/oc8tooc9/files/bundled-rpms/ %install install -m 0755 -d %{buildroot}%{custom_repositorydir} install -m 0755 -d %{buildroot}%{repositorydir} cp -r repos/* %{buildroot}%{repositorydir}/ + +chmod -R 777 %{buildroot}%{repositorydir}/system_upgrade/common/actors/commonleappdracutmodules/files/ +chmod -R 777 %{buildroot}%{repositorydir}/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/ +chmod -R 777 %{buildroot}%{repositorydir}/system_upgrade/common/tools/ +chmod -R 777 %{buildroot}%{repositorydir}/system_upgrade/oc8tooc9/tools/ + 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 0755 -d %{buildroot}%{_sysconfdir}/yum.repos.d/ install -m 0644 etc/leapp/files/* %{buildroot}%{_sysconfdir}/leapp/files +install -m 0644 etc/yum.repos.d/* %{buildroot}%{_sysconfdir}/yum.repos.d -# install CLI commands for the leapp utility on the expected path install -m 0755 -d %{buildroot}%{leapp_python_sitelib}/leapp/cli/ cp -r commands %{buildroot}%{leapp_python_sitelib}/leapp/cli/ rm -rf %{buildroot}%{leapp_python_sitelib}/leapp/cli/commands/tests - -# Remove irrelevant repositories - We don't want to ship them for the particular -# RHEL version -%if 0%{?rhel} == 7 -rm -rf %{buildroot}%{repositorydir}/system_upgrade/el8toel9 -%else -rm -rf %{buildroot}%{repositorydir}/system_upgrade/el7toel8 -%endif - -# remove component/unit tests, Makefiles, ... stuff that related to testing only +rm -rf %{buildroot}%{repositorydir}/system_upgrade/el7tooc8 rm -rf %{buildroot}%{repositorydir}/common/actors/testactor find %{buildroot}%{repositorydir}/common -name "test.py" -delete rm -rf `find %{buildroot}%{repositorydir} -name "tests" -type d` @@ -257,15 +102,7 @@ do ln -s %{repositorydir}/$REPOSITORY %{buildroot}%{_sysconfdir}/leapp/repos.d/$REPOSITORY done; -# __python2 could be problematic on systems with Python3 only, but we have -# no choice as __python became error on F33+: -# https://fedoraproject.org/wiki/Changes/PythonMacroError -%if 0%{?rhel} == 7 -%py_byte_compile %{__python2} %{buildroot}%{repositorydir}/* -%else %py_byte_compile %{__python3} %{buildroot}%{repositorydir}/* -%endif - %files -n %{lpr_name} %doc README.md @@ -278,720 +115,32 @@ done; %dir %{leapp_python_sitelib}/leapp/cli/commands %config %{_sysconfdir}/leapp/files/* %{_sysconfdir}/leapp/repos.d/* -%{_sysconfdir}/leapp/transaction/* %{repositorydir}/* %{leapp_python_sitelib}/leapp/cli/commands/* - - -%files -n %{lpr_name}-deps -# no files here +%{_sysconfdir}/leapp/transaction/* +%{_sysconfdir}/yum.repos.d/* %changelog -* Tue Feb 20 2024 Petr Stodulka - 0.20.0-2 -- Fallback to original RHUI solution on AWS to fix issues caused by changes in RHUI client -- Resolves: RHEL-16729 - -* Tue Feb 13 2024 Toshio Kuratomi - 0.20.0-1 -- Rebase to new upstream v0.20.0. -- Fix semanage import issue -- Fix handling of libvirt's systemd services -- Add a dracut breakpoint for the pre-upgrade step. -- Drop obsoleted upgrade paths (obsoleted releases: 8.6, 8.9, 9.0, 9.3) -- Resolves: RHEL-16729 - -* Tue Jan 23 2024 Toshio Kuratomi - 0.19.0-10 -- Print nice error msg when device and driver deprecation data is malformed -- Fix another cornercase when preserving symlinks to certificates in /etc/pki -- Update the leapp upgrade data files - fixing upgrades with idm-tomcatjss -- Resolves: RHEL-16729 - -* Fri Jan 19 2024 Petr Stodulka - 0.19.0-9 -- Do not try to download data files anymore when missing as the service - is obsoleted since the data is part of installed packages -- Update error messages and reports when installed upgrade data files - are malformed or missing to instruct user how to resolve it -- Update the leapp upgrade data files - bump data stream to "3.0" -- Resolves: RHEL-16729 - -* Fri Jan 12 2024 Petr Stodulka - 0.19.0-7 -- Add detection of possible usage of OpenSSL IBMCA engine on IBM Z machines -- Add detection of modified /etc/pki/tls/openssl.cnf file -- Update the leapp upgrade data files -- Fix handling of symlinks under /etc/pki with relative paths specified -- Report custom actors and modifications of the upgrade tooling -- Requires xfsprogs and e2fsprogs to ensure that Ext4 and XFS tools are installed -- Bump leapp-repository-dependencies to 10 -- Resolves: RHEL-1774, RHEL-16729 - -* Thu Nov 16 2023 Petr Stodulka - 0.19.0-5 -- Enable new upgrade path for RHEL 8.10 -> RHEL 9.4 (including RHEL with SAP HANA) -- Introduce generic transition of systemd services states during the IPU -- Introduce possibility to upgrade with local repositories -- Improve possibilities of upgrade when a proxy is configured in DNF configutation file -- Fix handling of symlinks under /etc/pki when managing certificates -- Fix the upgrade with custom https repositories -- Default to the NO_RHSM mode when subscription-manager is not installed -- Detect customized configuration of dynamic linker -- Drop the invalid `tuv` target channel for the --channel option -- Fix the issue of going out of bounds in the isccfg parser -- Fix traceback when saving the rhsm facts results and the /etc/rhsm/facts directory doesn’t exist yet -- Load all rpm repository substitutions that dnf knows about, not just "releasever" only -- Simplify handling of upgrades on systems using RHUI, reducing the maintenance burden for cloud providers -- Detect possible unexpected RPM GPG keys has been installed during RPM transaction -- Resolves: RHEL-16729 - -* 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 -- Requires cpio -- Requires python3-gobject-base, NetworkManager-libnm -- Bump leapp-repository-dependencies to 9 -- Add breadcrumbs results to RHSM facts -- Add leapp RHUI packages to an allowlist to drop confusing reports -- Added checks for RHEL SAP IPU 8.6 -> 9.0 -- Check RPM signatures during the upgrade -- Check only mounted XFS partitions -- Check the validity and compatitibility of used leapp data -- Detect CIFS also when upgrading from RHEL8 to RHEL9 (PR1035) -- Detect RoCE on IBM Z machines and check the configuration is safe for the upgrade -- Detect a proxy configuration in YUM/DNF and adjust an error msg on issues caused by the configuration -- Detect and report systemd symlinks that are broken before the upgrade -- Detect the kernel-core RPM instead of kernel to prevent an error during post-upgrade phases -- Disable the amazon-id DNF plugin on AWS during the upgrade stage to omit confusing error messages -- Do not create new *pyc files when running leapp after the DNF upgrade transaction -- Drop obsoleted upgrade paths -- Enable upgrades of RHEL 8 for SAP HANA to RHEL 9 on ppc64le -- Enable upgrades on s390x when /boot is part of rootfs -- Extend the allow list of RHUI clients by azure-sap-apps to omit confusing report -- Filter out PES events unrelated for the used upgrade path and handle overlapping event - (fixes upgrades with quagga installed) -- Fix scan of ceph volumes on systems without ceph-osd or when ceph-osd container is not found -- Fix systemd symlinks that become incorrect during the IPU -- Fix the check of memory (RAM) limits and use human readable values in the report -- Fix the kernel detection during initramfs creation for new kernel on RHEL 9.2+ -- Fix the upgrade of IBM Z machines configured with ZFCP -- Fix the upgrade on Azure using RHUI for SAP Apps images -- Ignore external accounts in /etc/passwd -- Improve remediation instructions for packages in unknown repositories -- Improve the error message to guide users when discovered more space is needed -- Improve the handling of blocklisted certificates -- Inhibit the upgrade when entries in /etc/fstab cause overshadowing during the upgrade -- Introduced an option to use an ISO file as a target RHEL version content source -- Introduced possibility to specify what systemd services should be enabled/disabled on the upgraded system -- Introduced the --nogpgcheck option to skip checking of RPM signatures -- Map the target repositories also based on the installed content -- Prevent re-run of leapp in the upgrade initramfs in case of previous failure -- Prevent the upgrade with RHSM when Baseos and Appstream target repositories are not discovered -- Provide common information about systemd services -- RHUI(Azure) Handle correctly various SAP images -- Register subscribed systems automatically to Red Hat Insights unless --no-insights-register is used -- Remove obsoleted GPG keys provided by RH after the upgrade to prevent errors -- Rework the network configuration handling and parse the configuration data properly -- Set the system release lock after the upgrade also for premium channels -- Small improvements in various reports -- Resolves: rhbz#2088492, rhbz#2111691, rhbz#2127920, rhbz#2129716,rhbz#2139907, rhbz#2139907, rhbz#2141393, rhbz#2143372, rhbz#2155661 - -* Wed Sep 07 2022 Petr Stodulka - 0.17.0-3 -- Adding back instruction to not install rubygem-irb during the in-place upgrade - to prevent conflict between files -- Resolves: rhbz#2090995 - -* Wed Sep 07 2022 Petr Stodulka - 0.17.0-2 -- Update VDO checks to enable user to decide the system state on check failures - and undetermined block devices -- The VDO dialog and related VDO reports have been properly updated -- Resolves: rhbz#2096159 - -* Wed Aug 24 2022 Petr Stodulka - 0.17.0-1 -- Rebase to v0.17.0 -- Support upgrade path RHEL 8.7 -> 9.0 and RHEL SAP 8.6 -> 9.0 -- Provide and require leapp-repository-dependencies 7 -- Provide `leapp-command()` for each CLI command provided by leapp-repository -- Require dracut, kmod, procps-ng on RHEL 8+ -- Require leapp-framework >= 3.1 -- Add actors covering removal of NIS components on RHEL 9 -- Add checks for obsolete .NET versions -- Allow specifying the report schema v1.2.0 -- Check and handle upgrades with custom crypto policies -- Check and migrate OpenSSH configuration -- Check and migrate multipath configuration -- Check minimum memory requirements -- Do not create the upgrade bootloader entry when the dnf dry-run actor stops the upgrade -- Enable Base and SAP in-place upgrades on Azure -- Enable in-place upgrade in case LUKS volumes are Ceph OSDs -- Enable in-place upgrades in Azure RHEL 8 base images using RHUI -- Enable in-place upgrades on IBM z16 machines -- Enable the CRB repository for the upgrade only if enabled on the source system -- Fix cloud provider detection on AWS -- Fix detection of the latest kernel -- Fix issues caused by leapp artifacts from previous in-place upgrades -- Fix issues with false positive switch to emergency console during the upgrade -- Fix swap page size on aarch64 -- Fix the VDO scanner to skip partitions unrelated to VDO and adjust error messages -- Fix the false positive NFS storage detection on NFS servers and improve the report msg -- Fix the issues on systems with the LANGUAGE environment variable -- Fix the root directory scan to deal with non-utf8 filenames -- Handle upgrades of SAP systems on AWS -- Inform about necessary migrations related to bacula-director when installed on the system -- Inhibit the upgrade when /var/lib/leapp being mounted in a non-persistent fashion to prevent failures -- Inhibit the upgrade when /var/lib/leapp mounted with the noexec option to prevent failures -- Inhibit upgrade when NVIDIA driver is detected -- Make the application of custom selinux rules more reliable and do not override changes done by RPM scriptlets -- Migrate the OpenSSL configuration -- PESEventScanner actor has been fully refactored -- Report changes around SCP and SFTP -- Skip comment lines when parsing the GRUB configuration file -- Stop propagating the “debug” and ”enforcing=0” kernel cmdline options into the target kernel cmdline options -- Mass refactoring to be compatible with leapp v0.15.0 -- Resolves: rhbz#2090995, rhbz#2040470, rhbz#2092005, rhbz#2093220, rhbz#2095704, rhbz#2096159, rhbz#2100108, rhbz#2100110, rhbz#2103282, rhbz#2106904, rhbz#2110627 - -* Wed Apr 27 2022 Petr Stodulka - 0.16.0-6 -- Skip comments in /etc/default/grub during the parsing -- Resolves: #1997076 - -* Tue Apr 26 2022 Petr Stodulka - 0.16.0-5 -- Migrate blacklisted CA certificates during the upgrade -- Resolves: #1997076 - -* Tue Apr 19 2022 Petr Stodulka - 0.16.0-4 -- Extend the check of deprecated or removed PCI drivers -- Do not instruct DNF to install rubygem-irb during the in-place upgrade - to prevent conflict between files -- Resolves: #1997076 - -* Fri Mar 18 2022 Petr Stodulka - 0.16.0-1 -- Rebase to v0.16.0 -- Improve the performance of the leapp execution for "pre first reboot" phases -- Introduce upgrades for RHEL 8 to RHEL 9 -- Enabled upgrade paths: - - RHEL 8.6 -> 9.0 - - RHEL with SAP 8.6 -> 9.0 -- Requires leapp-framework >= 2.2 -- Bump leapp-framework-dependencies to 5 -- Add actors for MariaDB and PostgreSQL -- Add detection of enabled DNF plugins -- Add scan & checks for VDO devices -- Bind the /run/lock dir into the container in the upgrade initramfs env -- Check Firewalld configuration -- Check SSSD configuration for changes in RHEL 9 -- Check deprecated network settings -- Check ifcfg files for change in RHEL 9 -- Check the existence of the custom network-scripts -- Filter out PES data unrelated for the particular IPU path -- Fix generating of instructions/data for the leapp DNF plugin during -- Fix generating the target initramfs when additional files and dracut modules are requested to be added -- Fix getting device attribute through udev on Python 3 -- Fix parsing of sysctl output during the scan of the system -- Fix scanning "/etc/default/grub" with empty lines -- Fix scanning information about mounted devices -- Fix the execution order for the dnf dry run actor -- Handle SELinux during the in-place upgrade -- Handle live kernel patching during -- Improve and generalize checking of device drivers -- Inhibit the upgrade when ipa-server is detected -- Introduce DNFWorkarounds to register scripts to be executed before DNF run -- Introduce handling of DNF modularity during the upgrade -- Introduce the --report-schema option to control the version of the generated report format -- Introduce the --target option to specify the version of the target system -- Provide the LEAPP_IPU_IN_PROGRESS environment variable for actors during in-place upgrade -- Resolves: #1997076 - -* Tue Feb 01 2022 Petr Stodulka - 0.15.0-12 -- Fix handling of PES data for modularity packages -- Resolves: #1997076 - -* Thu Jan 27 2022 Petr Stodulka - 0.15.0-11 -- Beta version of IPU 8 -> 9 -- Resolves: #1997076 - -* Wed Oct 20 2021 Petr Stodulka - 0.15.0-10 -- Bumping the release for the testing purposes. -- First build for the IPU 8 -> 9 -- Resolves: #1997076 - -* Wed Oct 20 2021 Petr Stodulka - 0.15.0-3 -- Correct the version-release to obsolete previous leapp-repository-deps rpm -- Resolves: #2015192 - -* Wed Oct 20 2021 Petr Stodulka - 0.15.0-2 -- Correct the version-release to obsolete previous leapp-repository rpm -- Resolves: #2015192 - -* Tue Oct 19 2021 Petr Stodulka - 0.15.0-1 -- Rebase to v0.15.0 -- Changed supported upgrade path for: RHEL with SAP 7.9 -> 8.2 -- Enable upgrades for SAP on AWS & Azure using RHUI -- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 -- Provides the leapp-upgrade capability, so all required packages can be installed - by the `yum install leapp-upgrade` command -- Added a dependency on leapp as the new rpm provides leapp commands -- Bumped leapp-repository-dependencies to 6 -- Do not exclude repoids enabled via the --enablerepo option (#623) -- Enforce the `en_US.utf-8` locale when running leapp to prevent various issues - when a different locale is used on the system -- Enhance the check of required free space on disk for the upgrade -- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present -- Fix detection of XFS partitions without ftype -- Fix handling of /etc/yum.repos.d directory for RHUI -- Fix incorrect mapping of RHEL repositories -- Fix the detection of NFS partitions in /etc/fstab (e.g. when nfs3 or nfs4 is specified) -- Fix the report message when multiple NICs with ethX names are present (#640) -- Fix handling of issues when fetching leapp data files -- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management - of NICs names on user when set to '1'; it's wanted e.g. in case a bonding - is configured on the system -- Add actors to report about PostgresSQL changes -- Make generation of targetuserspace container, upgrade initramfs, and target initramfs more dynamic -- Require the /etc/dasd.conf file only when DASD is used on s390x -- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the upgrade -- Improve the report message when BTRFS is detected -- Inhibit the upgrade if any CIFS entries found in /etc/fstab -- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected -- Inhibit the upgrade when multiple rescue boot entries exist on s390x -- Inhibit the upgrade when x32b and x64b versions of packages are installed -- Introduce hard preservation of leapp packages during the IPU to make the - upgrade process more protected -- Introduce new system of automatic mapping of RHEL repositories for the in-place - upgrade based on the repomap.json data file -- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed - to be used for the upgrade -- Report the problems with target repositories using inhibitors instead of error messages -- Update (or create) the /etc/{yum,dnf}/var/releasever file containing the target - OS release if exists or RHUI is detected -- Introduced the upgrade/common leapp repository: contains fundamental parts - generic for all in-place upgrades -- The upgrade/el7toel8 leapp repository contains only stuff related to in-place - upgrade from RHEL 7 -> RHEL 8 -- Resolves: #2015192 - -* Thu May 13 2021 Petr Stodulka - 0.14.0-4 -- Fix the check of removed non-pci drivers - Relates: #1952886 - -* Tue May 04 2021 Petr Stodulka - 0.14.0-3 -- Fix handling of errors when fetching leapp data files from server - Relates: #1952886 - -* Tue Apr 27 2021 Petr Stodulka - 0.14.0-2 -- Improve fetching of leapp data files from server (increase timeouts and - retry multiple times in case of error) -- Relates: #1952886 - -* Fri Apr 23 2021 Petr Stodulka - 0.14.0-1 -- Rebase to v0.14.0 -- Added dependency on python-requests on RHEL 7 -- Changed supported upgrade paths: - RHEL-ALT 7.6 -> 8.4 - RHEL 7.9 -> 8.4 - RHEL with SAP 7.7 -> 8.2 (unchanged) -- Download the leapp data from cloud.redhat.com automatically - when no data are present locally (and system is registered) -- Fix migration of Quagga to FRR on RHEL 8.4 -- Inhibit the upgrade if the system uses any drivers dropped - from the RHEL 8 system -- Resolves: #1952886 - -* Thu Feb 04 2021 Dominik Rehak - 0.13.0-2 -- Rebuild -- Relates: #1915509 - -* Thu Feb 04 2021 Dominik Rehak - 0.13.0-1 -- Rebase to v0.13.0 -- Add actors to migrate Quagga to FRR -- Add stable uniq Key id for every dialog -- Add upgrade support for SAP HANA -- Allow upgrade with SCA enabled manifest -- Fix comparison of the newest installed and booted kernel -- Fix crash due to missing network interfaces during upgrade phases -- Fix error with /boot/efi existing on non-EFI systems -- Fix false positive detection of issue in /etc/default/grub that led into GRUB - prompt -- Fix remediation command for ipa-server removal -- Fix syntax error in upgrade script -- Inhibit upgrade if multiple kernel-debug pkgs are installed -- Inhibit upgrade on s390x machines with /boot on a separate partition -- Inhibit upgrade with mount options in fstab that break mounting on RHEL 8 -- Remove the *leapp-resume* service after the *FirstBoot* phase to prevent kill - of the leapp process on `systemctl daemon-reload` -- Remove the initial-setup package to avoid it asking for EULA acceptance during - upgrade -- Require the leapp-framework capability 1.4 -- Respect the *kernel-rt* package -- Resolves: #1915509 #1872356 #1873312 #1899455 #1901002 #1905247 #1870813 -- Relates: #1901440 - -* Sun Oct 25 2020 Petr Stodulka - 0.12.0-2 -- Add actors to migrate Quagga to FRR -- Fixes issues with interrupted leapp during the FirstBoot phase when reload - of daemons is required - Resolves: #1883218 -- Relates: #1887912 - -* Wed Oct 21 2020 Dominik Rehak - 0.12.0-1 -- Rebase to v0.12.0 -- Enable upgrades on AWS and Azure -- Check usage of removed/deprecated leapp env vars -- Do not inhibit if winbind or wins is used in nsswitch.conf - (as the issue is fixed in RHEL 8.2) -- Do not remove java from the upgrade transaction -- Fix handling of events with same initial releases and input packages -- Fix mkhomedir issues after authselect conversion -- Fix python macro error in spec file -- Fix storing of logs from initramfs -- Handle migration of authselect and PAM -- Improve remediation instructions for HA clusters -- Make sure "default.target.wants" dir exists -- Resolves: #1887912 - -* Tue Sep 15 2020 Dominik Rehak - 0.11.0-4 -- Remove java from the upgrade transaction - Relates: #1860375 - -* Tue Sep 08 2020 Petr Stodulka - 0.11.0-3 -- Set authselect and PAM actors experimental again - Relates: #1860375 - -* Wed Sep 02 2020 Petr Stodulka - 0.11.0-2 -- Make possible upgrade with the java-11-openjdk-headless package -- Fix check of local repositories when metalink or mirrorlist is specified -- Relates: #1860375 - -* Tue Aug 18 2020 Michal Bocek - 0.11.0-1 -- Rebase to v0.11.0 -- Do not crash when the /root/temp_leapp_py3 directory exists (when upgrade is executed multiple times) - Relates: #1858479 -- Do not detect grub device on the s390x architecture (ZIPL is used there) -- Consider the katello rpm being signed by Red Hat -- Omit printing grub binary data on terminal which could break terminal output -- Provide just a single remedition command in the pre-upgrade report to be compatible with Satellite and Cockpit -- Search repository files only in directories used by DNF -- Change supported upgrade paths: RHEL-ALT 7.6 -> 8.2; RHEL 7.9 -> 8.2 -- Check whether PAM modules, that are not present on RHEL 8, are used -- Inhibit upgrade when local repositories (referred by file://) are detected -- Introduce actors for migration of Authconfig to Authselect -- Support for an in-place upgrade for z15 machines - s390x architecture -- Update list of removed drivers on RHEL 8 -- Resolves: #1860375 - -* Mon Apr 20 2020 Michal Bocek - 0.10.0-2 -- Fixed broken cli output due to printing binary data -- Relates: #1821710 - -* Thu Apr 16 2020 Petr Stodulka - 0.10.0-1 -- Rebase to v0.10.0 -- Changed upgrade paths: RHEL-ALT 7.6 -> 8.2; RHEL 7.8 -> 8.2 -- Add initial multipath support (it doesn't handle all cases yet) -- Use the new framework mechanism to inhibit the upgrade without reporting errors -- Support the upgrade without the use of subscription-manager -- Add dependency on leapp-framework -- Check if the latest installed kernel is booted before the upgrade -- Check that the system satisfies minimum memory requirements - for the upgrade (#413) -- Do not mount pseudo and unsupposrted FS to overlayfs (e.g. proc) -- Drop leapp sos plugin (it's part of the sos rpm in RHEL 7.7+) -- Evaluate PES events transitively to create correct data for the upgrade - transaction -- Fix checking of kernel drivers (#400) -- Fix failures caused by local rpms added into the upgrade transaction -- Fix getting mount information with mountpoints with spaces in the path -- Fix handling of XFS without ftype for every such mounted FS -- Fix issue with random booting into old RHEL 7 kernel after the upgrade -- Fix issues on systems with statically mapped IPs in /etc/hosts -- Fix issues with device mapper and udev in a container -- Fix issues with failing rpm transaction calculation because of duplicate - instructions for dnf -- Fix various issues related to RHSM (including rhbz rhbz#1702691) -- Fix yum repository scan in case of repositories with invalid URL -- Improved report related to KDE/GNOME -- Inhibit the upgrade for ipa-server (#481) -- Inhibit the upgrade if multiple kernel-devel rpms are installed -- Inhibit the upgrade on FIPS systems -- Inhibit the upgrade when links on root dir '/' are not absolute to save the world -- Inhibit the upgrade when the raised dialogs are missing answers (#589) -- Introduce new ways of using custom repositories during the transaction -- Make report messages more explicit about Dialogs (#600) -- Migrate SpamAssassin -- Migrate cups-filters -- Migrate sane-backend -- Modify vim configuration to keep the original behaviour -- Parse correctly kernel cmdline inside the initrd (#383) (fixes various issues on s390x) -- Print warnings instead of a hard failure when expected rpms cannot be found - (e.g. python3-nss inside an rpm module) (#405) -- Remove java11-openjdk-headless during the upgrade (rhbz#1820172) -- Report changes in wireshark -- The name and baseurl field in the CustomTargetRepository message are optional now -- Throw a nice error when invalid locale is set (#430) -- Various texts are improved based on the feedback -- Resolves: #1821710 - -* Tue Nov 5 2019 Petr Stodulka - 0.9.0-5 -- Do not use efibootmgr on non-efi systems - Resolves: #1768904 - -* Mon Nov 4 2019 Petr Stodulka - 0.9.0-4 -- Inhibit upgrade on EFI systems when efibootmgr is not installed - Relates: #1753580 - -* Fri Nov 1 2019 Petr Stodulka - 0.9.0-3 -- Inhibit upgrade on s390x machines with rd.znet in kernel cmdline to prevent - troubles with networking (temporary) -- Fix issues with failing rpm transaction calculation because of duplicates -- Fix boot order on EFI systems - Relates: #1753580 - -* Wed Oct 30 2019 Michal Bocek - 0.9.0-2 -- Fixed some remediation instructions -- Not trying to make an overlay over /boot/efi - Relates: #1753580 - -* Thu Oct 24 2019 Petr Stodulka - 0.9.0-1 -- Rebase to v0.9.0 -- Added dependency on policycoreutils-python -- Change upgrade path from RHEL(-ALT) 7.6 (EUS) to RHEL 8.1 -- Changed the title of the upgrade boot entry to be valid for ZIPL -- Check NSS configuration for use of wins or winbind -- Check SSSD configuration -- Check use of removed PAM modules -- Check whether CPU on s390x is supported on RHEL 8 -- Do not remove packages which shall be installed/kept on target system -- Do not waste time by downloading of RPMs if upgrade has been inhibited already -- Enable and make possible upgrades on all architectures -- Enable repositories used for upgrade on the upgraded system -- Fix adding of local rpms into the upgrade transaction -- Fix check of active kernel modules -- Fix handling of XFS filesystems with ftype=0 (rhbz#1746956) -- Fix ntp migration: extract configs into the right directories -- Fix traceback when RHSM is skipped -- Handle possible error when setting release on upgraded system -- Handle systems with EFI boot -- Handle upgrade on systems with multiple partitions -- Improve message on failed subscription-manager and dnf -- Improved the reporting capability -- Migrate SELinux customizations -- No size limit on leapp.db in sosreport -- Process new PES data format + process PES events in order of releases -- Require the biosdevname dracut module on the intel architecture only -- Retry some actions of subscription-manager on failure to reduce number of issues -- Update the list of packages supposed to be removed during the upgrade -- Upgrade only packages signed by Red Hat - Resolves: #1753580 - -* Thu Jul 25 2019 Petr Stodulka - 0.8.1-2 -- attempt to (un)set rhsm release several times to omit possible problems with - server - Relates: #1723115 - -* Wed Jul 24 2019 Petr Stodulka - 0.8.1-1 -- Rebase to v0.8.1 - Relates: #1723115 -- enable installation of RPMs that were previously blacklisted due to problems - with rich dependencies - -* Mon Jul 15 2019 Petr Stodulka - 0.8.0-1 -- Rebase to v0.8.0 - Relates: #1723115 -- improve handling of RPM transaction to be able to process RPMs with - rich dependencies -- add missing dependency on python-udev & python3-udev -- fix processing of last phase during the first boot of the upgraded system -- set RHSM target release after the upgrade to expected version of the system -- enable the CRB repository when the Optional repository is enabled -- check tcp wrappers -- check OpenSSH configuration -- check and handle vftpd configuration -- check kernel drivers -- improve checks related to subscriptions -- improve parsing of /etc/fstab -- ensure the new target kernel is default boot entry -- handle better cases when no target repositories has been found -- migrate NTP to chronyd -- migrate brltty configuration -- migrate sendmail -- avoid removal of /etc/localtime and /etc/resolv.conf during the upgrade -- add informational actors for: acpid, chrony, dosfstools, grep, irssi, - postfix, powertop - -* Sun Jun 23 2019 Vojtech Sokol - 0.7.0-6 -- Rebuild - Resolves: #1723115 - -* Fri Apr 26 2019 Petr Stodulka - 0.7.0-5 -- build rhel8 initrd on the fly during the upgrade process -- do not bundle initrd and vmlinuz file in the rpm - Relates: #1636481 - -* Fri Apr 26 2019 Petr Stodulka - 0.7.0-4 -- add python2-docs and python3-docs to the list of rpms for removal as - currently it causes troubles with RPM transaction - Relates: #1636481 - -* Fri Apr 26 2019 Petr Stodulka - 0.7.0-3 -- set selinux into the permissive mode on RHEL 8 when enforcing was set - originally -- add python-docs and squid rpms to the list of rpms for removal - Relates: #1636481 - -* Wed Apr 17 2019 Petr Stodulka - 0.7.0-2 -- fix inhibition when ethX network interface exists and more additional NIC - exist as well - Relates: #1636481 - -* Wed Apr 17 2019 Petr Stodulka - 0.7.0-1 -- Rebase to v0.7.0 - Relates: #1636481 -- new dependencies: python3, python*-pyudev -- upgrade process is interrupted after RPMUpgradePhase and resumed with Python3 -- upgrade of NetworkManager is fixed -- upgrade of firewalld is handled -- name changes of network interfaces are handled -- HTB repositories used for upgrades are replaced with the ones used for GA -- tpm2-abrmd and all packages that depend on redhat-rpm-config are removed - during upgrade -- handling of the upgrade RPM transaction is improved -- sync command is used in initrd to avoid issues related to cache -- networking naming changes are handled -- disable udev's persistent network interface naming scheme when the only NIC - is eth0 -- inhibit upgrade when ethX is detected and more NICs exist -- check whether all target upgrade repositories are available -- output of dnf tool is always showed during the upgrade -- all logs and reports are stored in /var/log/leapp/ directory - - -* Tue Apr 09 2019 Vojtech Sokol - 0.6.0-4 -- Remove wrong license for sos subpackage - Relates: #1636481 - -* Mon Apr 08 2019 Vojtech Sokol - 0.6.0-3 -- Fix patch - Relates: #1636481 - -* Mon Apr 08 2019 Vojtech Sokol - 0.6.0-2 -- Fix specfile - Relates: #1636481 - -* Mon Apr 08 2019 Vojtech Sokol - 0.6.0-1 -- Rebase to v0.6.0 - Relates: #1636481 -- Change license to Apache 2.0 -- leapp-repository-data subpackage is removed (it included data files) - - data files are required to be delivered by user manually now -- udev database is accessible during the upgrade -- downtime of some machines is significantly reduced -- sos plugin is introduced for collecting data needed for debugging -- redhat-rpm-config package is removed during upgrade -- system is checked for NFS filesystems usage and upgrade is inhibited when - detected -- /boot is checked for sufficient free space -- upgrade is not inhibited any more when Logic SCSI Controllers are present -- repositories used to upgrade the system are based on provided data files -- specific syntax errors in grub configuration are handled when detected -- SCTP is handled during the upgrade -- migration of yum is handled (yum is available after the upgrade) -- upgrade of NetworkManager is handled -- upgrades with XFS filesystems without ftype is handled better -- new reporting functionality is introduced and used -- new dependencies: python2-jinja2, pciutils, sos -- new directory /etc/leapp/files for data files is introduced -- python files are precompiled to avoid left over pyc files - -* Thu Jan 24 2019 Petr Stodulka - 0.5.0-1 -- Rebase to v0.5.0 - Relates: #1636481 -- Require DNF v4+ and Leapp framework v0.5.0 -- Improved handling of RPM transaction using own DNF plugin and PES - data -- Models have been refactored to use new format supported by framework -- Handle transaction preparation when release is set through RHSM -- Fix failing overlayfs unmounting -- Reduce the IPUWorkflo workflow -- Include all required directories inside RPMs -- Handle repositories using metalink and mirrorlist -- Handle better installation of local RPMs -- Move system dependencies into the RPM metapackage -- Satisfy leapp and leapp-repository RPM dependencies during the - upgrade +* Fri Jan 17 2025 xiaoyunzhao - 0.18.1-8 +- bugfix: fix the bug that can upgrade when os installed libpq-devel and postgresql-server-devel -* Thu Jan 03 2019 Petr Stodulka - 0.4.0-4 -- Activate LVM LVs during upgrade -- Resolve file conflict of python-inotify during the RPM transaction - Relates: #1636481 +* Mon Jan 13 2025 xiaoyunzhao - 0.18.1-7 +- bugfix: fix the bug that can not enter new kernel -* Thu Nov 29 2018 Petr Stodulka - 0.4.0-3 -- Add empty empty events for leapp-repository-data. -- Requiring now DNF 2.7.5-19 or higher - Relates: #1636481 +* Tue Jan 7 2025 xiaoyunzhao - 0.18.1-6 +- bugfix: fix the bug that the upgrade failed because of grubenv -* Wed Nov 21 2018 Petr Stodulka - 0.4.0-2 -- update leapp-repository-data source - Relates: #1636481 +* Thu Jan 2 2025 xiaoyunzhao - 0.18.1-5 +- bugfix:rust-doc -* Wed Nov 21 2018 Petr Stodulka - 0.4.0-1 -- Rebase to 0.4.0 -- change hierarchy of repositories -- scan RHEL system for custom and 3rd-party packages -- improve error messages - Relates: #1636481 +* Thu Dec 19 2024 xiaoyunzhao - 0.18.1-4 +- support graphical upgrade -* Fri Nov 09 2018 Petr Stodulka - 0.3.1-1 -- Rebase to 0.3.1 -- move data to separate subpackage - Relates: #1636481 +* Thu Dec 19 2024 xiaoyunzhao - 0.18.1-3 +- support aarch64 -* Wed Nov 07 2018 Petr Stodulka - 0.3-1 -- Initial RPM - Resolves: #1636481 +* Tue Aug 20 2024 xiaoyunzhao - 0.18.1-2 +- support OpenCloudOS 8.8/8.6 to 9.2 +* Fri Oct 13 2023 xiaoyunzhao - 0.18.1-1 +- modify for OpenCloudOS