leapp-repository/SPECS/leapp-repository.spec

998 lines
44 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%global leapp_datadir %{_datadir}/leapp-repository
%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.
Name: leapp-repository
Version: 0.20.0
Release: 2%{?dist}
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.
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}
# Provide "leapp-upgrade" for the user convenience. Users will be pointed
# to install "leapp-upgrade" in the official docs.
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)
%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
%install
install -m 0755 -d %{buildroot}%{custom_repositorydir}
install -m 0755 -d %{buildroot}%{repositorydir}
cp -r repos/* %{buildroot}%{repositorydir}/
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/
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}/common/actors/testactor
find %{buildroot}%{repositorydir}/common -name "test.py" -delete
rm -rf `find %{buildroot}%{repositorydir} -name "tests" -type d`
find %{buildroot}%{repositorydir} -name "Makefile" -delete
find %{buildroot} -name "*.py.orig" -delete
for DIRECTORY in $(find %{buildroot}%{repositorydir}/ -mindepth 1 -maxdepth 1 -type d);
do
REPOSITORY=$(basename $DIRECTORY)
echo "Enabling repository $REPOSITORY"
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
%license LICENSE
%dir %{_sysconfdir}/leapp/transaction
%dir %{_sysconfdir}/leapp/files
%dir %{leapp_datadir}
%dir %{repositorydir}
%dir %{custom_repositorydir}
%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
%changelog
* Tue Feb 20 2024 Petr Stodulka <pstodulk@redhat.com> - 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 <toshio@fedoraproject.org> - 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 <toshio@fedoraproject.org> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 doesnt 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 <pstodulk@redhat.com> - 0.19.0-4
- Fix the upgrade for systems without subscription-manager package
- Resolves: RHEL-14901
* Tue Oct 31 2023 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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(<CMD>)` 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 <pstodulk@redhat.com> - 0.16.0-6
- Skip comments in /etc/default/grub during the parsing
- Resolves: #1997076
* Tue Apr 26 2022 Petr Stodulka <pstodulk@redhat.com> - 0.16.0-5
- Migrate blacklisted CA certificates during the upgrade
- Resolves: #1997076
* Tue Apr 19 2022 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 0.15.0-12
- Fix handling of PES data for modularity packages
- Resolves: #1997076
* Thu Jan 27 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-11
- Beta version of IPU 8 -> 9
- Resolves: #1997076
* Wed Oct 20 2021 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 0.15.0-3
- Correct the version-release to obsolete previous leapp-repository-deps rpm
- Resolves: #2015192
* Wed Oct 20 2021 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-2
- Correct the version-release to obsolete previous leapp-repository rpm
- Resolves: #2015192
* Tue Oct 19 2021 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 0.14.0-4
- Fix the check of removed non-pci drivers
Relates: #1952886
* Tue May 04 2021 Petr Stodulka <pstodulk@redhat.com> - 0.14.0-3
- Fix handling of errors when fetching leapp data files from server
Relates: #1952886
* Tue Apr 27 2021 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <drehak@redhat.com> - 0.13.0-2
- Rebuild
- Relates: #1915509
* Thu Feb 04 2021 Dominik Rehak <drehak@redhat.com> - 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 <pstodulk@redhat.com> - 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 <drehak@redhat.com> - 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 <drehak@redhat.com> - 0.11.0-4
- Remove java from the upgrade transaction
Relates: #1860375
* Tue Sep 08 2020 Petr Stodulka <pstodulk@redhat.com> - 0.11.0-3
- Set authselect and PAM actors experimental again
Relates: #1860375
* Wed Sep 02 2020 Petr Stodulka <pstodulk@redhat.com> - 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 <mbocek@redhat.com> - 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 <mbocek@redhat.com> - 0.10.0-2
- Fixed broken cli output due to printing binary data
- Relates: #1821710
* Thu Apr 16 2020 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 0.9.0-5
- Do not use efibootmgr on non-efi systems
Resolves: #1768904
* Mon Nov 4 2019 Petr Stodulka <pstodulk@redhat.com> - 0.9.0-4
- Inhibit upgrade on EFI systems when efibootmgr is not installed
Relates: #1753580
* Fri Nov 1 2019 Petr Stodulka <pstodulk@redhat.com> - 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 <mbocek@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <vsokol@redhat.com> - 0.7.0-6
- Rebuild
Resolves: #1723115
* Fri Apr 26 2019 Petr Stodulka <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <pstodulk@redhat.com> - 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 <vsokol@redhat.com> - 0.6.0-4
- Remove wrong license for sos subpackage
Relates: #1636481
* Mon Apr 08 2019 Vojtech Sokol <vsokol@redhat.com> - 0.6.0-3
- Fix patch
Relates: #1636481
* Mon Apr 08 2019 Vojtech Sokol <vsokol@redhat.com> - 0.6.0-2
- Fix specfile
Relates: #1636481
* Mon Apr 08 2019 Vojtech Sokol <vsokol@redhat.com> - 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 <pstodulk@redhat.com> - 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
* Thu Jan 03 2019 Petr Stodulka <pstodulk@redhat.com> - 0.4.0-4
- Activate LVM LVs during upgrade
- Resolve file conflict of python-inotify during the RPM transaction
Relates: #1636481
* Thu Nov 29 2018 Petr Stodulka <pstodulk@redhat.com> - 0.4.0-3
- Add empty empty events for leapp-repository-data.
- Requiring now DNF 2.7.5-19 or higher
Relates: #1636481
* Wed Nov 21 2018 Petr Stodulka <pstodulk@redhat.com> - 0.4.0-2
- update leapp-repository-data source
Relates: #1636481
* Wed Nov 21 2018 Petr Stodulka <pstodulk@redhat.com> - 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
* Fri Nov 09 2018 Petr Stodulka <pstodulk@redhat.com> - 0.3.1-1
- Rebase to 0.3.1
- move data to separate subpackage
Relates: #1636481
* Wed Nov 07 2018 Petr Stodulka <pstodulk@redhat.com> - 0.3-1
- Initial RPM
Resolves: #1636481