%if 0%{?rhel} && 0%{?rhel} <= 7 %{!?__python2: %global __python2 /usr/bin/python2} %global __python %{__python2} %global python_pkgversion %{nil} %else %{!?__python3: %global __python3 /usr/bin/python3} %global __python %{__python3} %global python_pkgversion %{python3_pkgversion} %endif Name: convert2rhel Version: 2.2.0 Release: 1.20241203171846958765.pr1422.75.ge2446ff%{?dist} Summary: Automates the conversion of RHEL derivative distributions to RHEL License: GPLv3+ URL: https://github.com/oamg/convert2rhel Source0: convert2rhel-2.2.0.tar.gz BuildArch: noarch BuildRequires: python%{python_pkgversion}-devel BuildRequires: python%{python_pkgversion}-setuptools BuildRequires: python%{python_pkgversion}-six %if 0%{?rhel} && 0%{?rhel} >= 8 BuildRequires: python3-pexpect # rpm is being imported through utils.py BuildRequires: python3-rpm # Disallow packages like python38-rpm-macros or python39-rpm-macros to be installed when building the package. # Having them installed would expand the 'python3_pkgversion' macro to 38 or 39 instead of the expected 3. BuildConflicts: python-modular-rpm-macros %endif %if 0%{?rhel} && 0%{?rhel} <= 7 BuildRequires: pexpect BuildRequires: rpm-python %endif # We need to talk to subscription-manager over dbus Requires: dbus Requires: efibootmgr Requires: kmod Requires: rpm Requires: python%{python_pkgversion} Requires: python%{python_pkgversion}-setuptools Requires: python%{python_pkgversion}-six %if 0%{?rhel} && 0%{?rhel} >= 8 Requires: dnf # The yum rpm mainly takes care of creating symlinks to dnf. We need it since we call yum in convert2rhel. Requires: yum # dnf-utils includes yumdownloader and package-cleanup we use Requires: dnf-utils Requires: grubby Requires: python3-pexpect Requires: python3-dbus %endif %if 0%{?rhel} && 0%{?rhel} <= 7 Requires: yum # yum-utils includes yumdownloader we use Requires: yum-utils Requires: pexpect Requires: dbus-python %endif # grub2-tools includes grub2-mkconfig and grub2-install needed by PR#417 %if 0%{?rhel} && 0%{?rhel} >= 7 Requires: grub2-tools %endif %description The purpose of the convert2rhel tool is to provide an automated way of converting the installed other-than-RHEL OS distribution to Red Hat Enterprise Linux (RHEL). The tool replaces all the original OS-signed packages with the RHEL ones. Available are conversions of CentOS Linux 7/8, CentOS Stream 8/9, Oracle Linux 7/8/9, Alma Linux 8/9, Rocky Linux 8/9 and Scientific Linux 7 to the respective major version of RHEL. %prep %setup -q -n convert2rhel-2.2.0 %build %{__python} setup.py build # Do not include unit tests in the package rm -rf build/lib/%{name}/unit_tests # Do not include the man building script rm -rf build/lib/man %install %{__python} setup.py install --skip-build --root %{buildroot} rm -rf %{buildroot}%{python_sitelib}/%{name}/data # Create the /usr/share/convert2rhel/ directory for storing data like GPG keys and config files install -d %{buildroot}%{_datadir}/%{name}/ cp -a build/lib/%{name}/data/version-independent/. \ %{buildroot}%{_datadir}/%{name} cp -a build/lib/%{name}/data/%{rhel}/x86_64/. \ %{buildroot}%{_datadir}/%{name} # Create a directory into which convert2rhel downloads RHSM-related packages install -d %{buildroot}%{_datadir}/%{name}/subscription-manager/ # Create a temporary directory /var/lib/convert2rhel/ - used mainly for backing up files during the conversion install -d %{buildroot}%{_sharedstatedir}/%{name}/ install -d %{buildroot}%{_sharedstatedir}/%{name}/backup/ install -d %{buildroot}%{_sharedstatedir}/%{name}/rhsm/ install -d -m 755 %{buildroot}%{_mandir}/man8 install -p man/%{name}.8 %{buildroot}%{_mandir}/man8/ # Put the config file into place install -d %{buildroot}%{_sysconfdir}/ install -m 0600 config/convert2rhel.ini %{buildroot}%{_sysconfdir}/convert2rhel.ini %files %{_bindir}/%{name} %{_datadir}/%{name}/ %{_sharedstatedir}/%{name}/ %{python_sitelib}/%{name}* %config(noreplace) %attr(0600, root, root) %{_sysconfdir}/convert2rhel.ini %{!?_licensedir:%global license %%doc} %license LICENSE %doc README.md %attr(0644,root,root) %{_mandir}/man8/%{name}.8* %changelog * Tue Dec 03 2024 Packit - 2.2.0-1.20241203171846958765.pr1422.75.ge2446ff - added placeholder stuff in the convert2rhel.ini (Andrew Anglin) - makes a balnk convert2rhel.ini file (Andrew Anglin) - chore(deps): update dependency pytest to v8.3.4 (renovate[bot]) - Additional grub2 config failure msg tweaks (Michal Bocek) - [RHELC-1780] Fix bad grub2-mkconfig call on EL9+ (Daniel Diblik) - reverted back a bit (Andrew Anglin) - added the install for six (Andrew Anglin) - added in some debug statments (Andrew Anglin) - reverted back to old commit (Andrew Anglin) - added in six (Andrew Anglin) - added some debug messages to fix the issue (Andrew Anglin) - reveted the recent change for the cli path (Andrew Anglin) - fixed the use of the class for cli (Andrew Anglin) - fix the import for cli (Andrew Anglin) - fixed the path for cli in the action (Andrew Anglin) - removed an extra "()" on line 138 (Andrew Anglin) - added in the install for six (Andrew Anglin) - drafr added the download for all the depencies for rpm (Andrew Anglin) - added to the installations a way to disable lua (Andrew Anglin) - added in setting the env vars per the action (Andrew Anglin) - set an updated version of python for 3.10 (Andrew Anglin) - added in libdb-dev for db.h (Andrew Anglin) - added in libarchive-dev to get the rest of the packages (Andrew Anglin) - added in the installation of libnpipt-dev (Andrew Anglin) - seperated commands to make sure they run properly (Andrew Anglin) - added in the install NSPR and NSS development (Andrew Anglin) - added a manuel install of rpm and python bindings (Andrew Anglin) - changed to use python3-rpm (Andrew Anglin) - added universe repo as it has the packages (Andrew Anglin) - added in the verification for rpm (Andrew Anglin) - added in a check to see if pexpect is in the action (Andrew Anglin) - Removed the virtual enviorment as its not needed (Andrew Anglin) - removed the installation of rpm-python (Andrew Anglin) - draft changed to do all of the work in the action (Andrew Anglin) - draft check to see the path for the config file (Andrew Anglin) - fixed the imprort for tool_opts in cli.py (Andrew Anglin) - draft fix the import for utils.py (Andrew Anglin) - draft readded back the install for six (Andrew Anglin) - draft removed the check for the ini file (Andrew Anglin) - draft change the path (Andrew Anglin) - another fix for the path (Andrew Anglin) - edited the config.ini files path (Andrew Anglin) - added in the path for the config file (Andrew Anglin) - added in a check to see if the config file is there (Andrew Anglin) - Added in getting the current config file into the container (Andrew Anglin) - added in six into the packages to be installed (Andrew Anglin) - changed from using rpm-python to python3-rpm (Andrew Anglin) - removed the virtual envorment (Andrew Anglin) - draft more installations for rpm (Andrew Anglin) - draft changed out the virtual env being installed (Andrew Anglin) - draft using a pre-configured base image (Andrew Anglin) - draft install python3-rpm system wide (Andrew Anglin) - removing the rpm_py_installer (Andrew Anglin) - draft install python dev headers (Andrew Anglin) - draft installing rpm in the virtual env (Andrew Anglin) - draft added in git and libpopt-dev in the install (Andrew Anglin) - draft set the path for the manpage_generation.sh file (Andrew Anglin) - draft added in a virtual enviorment to the container (Andrew Anglin) - draft specfied the container file path (Andrew Anglin) - fixed the containerfiles dir spelling in the action (Andrew Anglin) - added the right name for the container file (Andrew Anglin) - added the use of a podman container (Andrew Anglin) - draft looking to see if rpm and python-rpm are installed (Andrew Anglin) - change to using spt-get for rpm (Andrew Anglin) - used the rpm-py-install to get rpm (Andrew Anglin) - added in the installation of rpm to the action (Andrew Anglin) - added in the config files in the action (Andrew Anglin) - changed how cli calls the attribues from rpm.py (Andrew Anglin) - edited the command for generating the manpages (Andrew Anglin) - Added rpm to the other dependencies being installed (Andrew Anglin) - Fixed the action (Andrew Anglin) - removed the check for the version (Andrew Anglin) - Added in a check to see if the manpages (Andrew Anglin) - Added in the check for the version for the manpage (Andrew Anglin) * Thu Nov 28 2024 Michal Bocek 2.2.0 - Rename GPG fingerprint to key_id - Port environment variables to config file - Add pre-conversion check for invalid grub file - Add deprecation notice about environment variables - Enable checking for EL9 convert2rhel latest version - Include EUS/ELS switches in breadcrumbs - Load inhibitor override env vars into the toolopts structure - Advise users to back up their system - Change out-of-date packages overridable inhibitor to a warning - Handle failing duplicate package check on EL9 - Always check accessibility of --enablerepo repos - Fix missing /etc/yum.repos.d/ directory on EL9 - Make the check for initramfs validity more robust - Make exit codes consistent when inhibitors found - Fix the latest RHEL kernel not set as default on CentOS Stream 9 - Don't update RHSM facts with sub-man not present - Handle yum failing on trying to reach inaccessible --enablerepo repos * Wed Aug 21 2024 Preston Watson 2.1.0 - Use public CDN instead of paywalled CDN and FTP - Remove RuntimeWarning caused by bufsize value of run_subprocess - Port ModifiedRPMFilesDiff to Action framework - Port preserve_only_rhel_kernel to Action framework - Include all reports in post-conversion report - Port list_non_red_hat_pkgs_left to Action framework - Port post_ponr_set_efi_configuration to Action framework - Port PkgManagerConf to Action framework - Port lock_releasever_in_rhel_repositories to Action framework - Port update_grub_after_conversion to Action framework - Port remove_tmp_dir to Action framework - Port kernel_boot_files to Action framework - Port hostmetering to Action framework - Disregard minor version with CentOS Stream - Port breadcrumbs.finish_collection to action framework - Port update_rhsm_custom_facts to Action framework - Remove RHSM repositories enablement fallback - Fix CodeQL error uninitialized variable - Fix duplicating backups - Use no_rhsm to detect if enablerepos should be disabled - Add --els to convert2rhel man page and synopsis. - Fix of super(run()) call inside action - Fix rpm -Va parsing and improve speed - Prevent kernel being excluded in repoquery calls - Pick correct report results after inhibitors - Detect a newer version of RHEL kernel in the main transaction - Override exclude option during yumdownloader call - Fix edge case of kernel meta package not the on system * Tue Jul 23 2024 Freya Gustavsson 2.0.1 - Fix files being backed up multiple times and causing rollback errors - Fix conversions failing with third-party repositories * Mon May 27 2024 Adam Hosek 2.0.0 - Breaking change: Remove deprecated CLI arguments - Breaking change: Remove deprecated latest kernel check env variable - Breaking change: Remove deprecated unsupported convert2rhel version env variable - Breaking change: Remove `--disable-submgr` arg - Breaking change: Rename incomplete rollback envvar - Breaking change: Remove `-v|--variant` arg - Port RestorablePackage and ChangedRPMPackagesController - Remove backup controller partition - Update RHSM custom facts during analysis - Remove ppc64 architecture from data - Add debug logs to host-metering - Add post conversion stages for Action Framework - Set consistent task prefix for pre-conversion - Migrate post conversion transaction function - Improve efi error check for PART_ENTRY_NUMBER - Unify parsing of the system release string - Drop support for 8.6 EUS conversions - Improve detection of RHSM credentials in subscription check - Update report to include post conversion actions - Satellite package backup failure fix - Drop internet connection check and its dependencies - Don't report on skipping dbus check - Modify exit code for conversion when inhibitor is found - Add RHEL 9 version support up to 9.10 - Allow converting to RHEL 7 ELS - Exit with 1 when rollback fails - Fix empty error message in Yum transaction failure - Disable RHEL repos when performing checks - Update the Red Hat package signing key - Install subscription-manager using package manager - Change result of the c2r version check to OVERRIDABLE - Restore disabled repos during conversion in rollback - Rollback task using "Convert" instead of "Rollback" - Override yum config exclude list - Fix an error message referring to a non-existing --organization option - Fix RHSM facts filepath in a log message - Remove leftover reposdir from package updates action - Require username and password to be specified - Fix check for reposdir in RestorablePackage class - Add the libreport-plugin-mantisbt to excluded list - Always backup redhat.repo - Fix cornercase with userpass and keyorg - Fix report duplication after analysis - Fix regression in installing removed packages during rollback - Check if rollback failed when handling InhibitorFound exception - Skip versionlock file in backup system actions - Fix bug with duplicate packages check when running with Satellite offline - Raise when RestorablePackage fails to restore - Return a list instead of string for disablerepo command * Mon Mar 04 2024 Freya Gustavsson 1.7.1 - Set downgrade to strict mode to not miss dependencies - Copy instead of move when restoring a file * Thu Feb 22 2024 Freya Gustavsson 1.7.0 - Compare the release part of the c2r rpm NEVRA - Update remediation key to match leapp report metadata - Rewrite the log messages using the word "unsupported" in is_loaded_kernel_latest() - Update latest kernel check with OVERRIDABLE results - Change `ignore` to `disregard` in messages - Add remediation to overridable result in package updates action - Add OVERRIDABLE result to tainted kernel module check - Replace the word `skip` in report messages - Change OVERRIDABLE result to WARNING message in package update action - Port RestorableFile to BackupController - Port certs and restorable key to backup module - Port RestorablePackageSet to packages module - Add preconversion analysis check for device PART_ENTRY_NUMBER - Add diagnosis for failures in validating yum transaction - Duplicate package check for preconversion analysis - Always save conversion facts file - Host metering - Specify a full path to the called modinfo utility - Fix Alma Linux 8 packages being seen as third-party - Collect environment variables in breadcrumbs - Refactor logger to not require root - Reduce timeout for the internet connectivity check - Fix file clash in NewRestorableFile - Move logger initialization to initialize module - Swap base os specific packages - Port the repo backup to RestorableFile - Add shim-x64 to the exclude list for Alma 8 * Wed Dec 13 2023 Preston Watson 1.6.1 - Fix parsing yumdownloader output with a carriage return * Fri Dec 08 2023 Preston Watson 1.6.0 - Change Action results so that no information is given in SUCCESS results - Add OVERRIDABLE result to the third party package analysis - Add OVERRIDABLE result to package up to date analysis - Change the sorting order for the analysis report - Revert OVERRIDABLE result in package handling check - Update package handling check to properly report removed packages - Identify highest status in json report - Fix backtrace in kernel signature verification - Try to rollback all changes even if one of them fails - Fix error message when repoquery fails to retrieve information on kmod packages - Fix an exception when listing third-party packages with Epoch 2 - Recover file changes during a rollback * Mon Oct 30 2023 Michal Bocek 1.5.0 - Display system packages that are not up to date in alphabetical order - Change the default message of an empty report message field - Update Skip results to have diagnosis and remediation fields - Update configs and code to enable el9 conversions - Print the pre-conversion analysis report to a txt file - Support 8.8 as an EUS release for conversions - OL 8: Prevent conversion failure with firewalld running - Fix colors in the text-based analysis log being reversed from what it should be * Fri Sep 08 2023 Eric Gustavsson 1.4.1 - Alma and Rocky Linux 8: Fix subscription-manager not being installed - Fix packages not being imported by move application lock into main * Thu Sep 07 2023 Michal Bocek 1.4.0 - Add `convert2rhel analysis` as a new CLI subcommand - Stop uninstalling subscription-mananager and unregistering the system by default - Remove 8.4 from supported EUS versions - Allow a pre-conversion report action to report multiple messages - Standardize timestamp to ISO format with timezones - Report the pre-conversion analysis in a JSON file - Expand pre-conversion report message attributes - Change level from warning to info for dbus check skip - Fix package names with periods breaking conversion - Prevent simultaneous instances of convert2rhel on a single system - Oracle Linux 7: Fix lsmod not being found * Thu Jul 06 2023 Eric Gustavsson 1.3.2 - Fix package names with periods breaking conversion * Thu May 25 2023 Eric Gustavsson 1.3.1 - Fix build failure by pre-generating man-pages * Thu May 25 2023 Eric Gustavsson 1.3.0 - Move adding of `NullHandler` to the root logger - Remove el6 related code - Improve package version comparison - Additional validation for package version comparison - Add ability to do micro releases - Porting out optparse to argparse - Rewrite the log messages in `check_needed_repos_availability()` to not use "unsupported" - Implement a pre-assessment tech preview - Prevent packages marked for update to reinstall - Improve UX with SCA enabled: Don't require --pool or --auto-attach - Fix CodeQL warnings - Fix Ctrl + C during conversion not starting rollback during certain tasks - RHSM: do not use the `force` D-Bus registration option - Fix the log message for invalid package detection - Handle empty arch in package information - Allow to skip kernel check even if packages are available - Prevent packages marked for update to reinstall * Wed Feb 22 2023 Eric Gustavsson 1.2 - Remove RHEL 6 conversion capability - Check for kernel boot files after conversion - Allow overriding the kernel module inhibitor - Remove shim-x64 related workaround for Oracle Linux 7 - Always print the RHSM rollback task "title" - Verify both RHSM org and key is passed - Improve logging and handling of RHSM facts - Change the debug FILE label in log file to DEBUG - Add progress indicators for the main package replacement - Man/help page to mention config file location - Enable opt out for telemetry - Hide RHSM username and org from logs and breadcrumbs - Fix conversion with "LANGUAGE" envar - Deduplicate log messages about imported keys - Update address for internet connection check - Fix a traceback when checking if the latest kernel is loaded - Make TASK log messages consistent - Fix partition number usage when creating RHEL UEFI bootloader entry * Wed Nov 30 2022 Eric Gustavsson 1.1 - Add RHEL 8.6 among the supported EUS minor versions - Merge yum transactions into a single one to improve stability - Collect breadcrumbs through RHSM custom facts - Do not disable RHSM repos before pkg backup - Handle unsuccessful repoquery call in kernel check - Improve GPG key import and repository-related messages - Check if shim-x64 package is present in the system - Fix permissions check for certificates - Increase the line length in a pseudo-terminal to handle long-named packages - Do not use plural "packages" in logs when there's just one - Allow systems to disable colored output - Do not show output from systemctl show during systeminfo gathering - Omit exclude= options from repoquery to properly verify kernel package being up-to-date - Clean up kmods functionality - Improve internet connection check - Fix the format of the message about unavailable kernel modules - Fix duplicated path in logs - Skip check of latest kernel on Oracle Linux 8.4 - Fix for temporary GPG home dir race - Backup all CentOS Linux subscription-manager packages - Improve latest version logs - Improve failed conversion message - Move system info logs to happen after the data collection - Fix incorrect kernel signature check - Securely log convert2rhel command used - Install the redhat-uep.pem certificate if it is needed * Fri Aug 19 2022 Michal Bocek 1.0 - Check if a new version of convert2rhel is available - Update grub bootloader images - Warn if multiple authentication sources are specified - Improve log messages - Introduce a user-customizable config file for passing RHSM credentials safely - Use dbus API for RHSM registration to safely pass the activation key - Verify GPG key for UBI and CentOS 6 Linux repositories - Deprecate `-f` `--password-from-file` parameter option - Fix logging error with unavailable RHSM certificate - Fix gnome-documents-libs package conflict - Fix handling shim-x64 package protection on non-UEFI systems - Fix unknown tag in an rpm query - Clear yum cache before first yum call - Add missing eus_rhsm_repoids key into OS 6 config files - Fix Ansible playbook example for CentOS Linux 8 conversions * Fri Jun 3 2022 Eric Gustavsson 0.26 - Support RHEL EUS version 8.4 - Auto-attach subscription if only one is available - Improve check for packages to update from - Improve installation of subscription manager packages - Fix unavailable repos on CentOS Linux 8 in Ansible playbook - Improve message on how to disable Secure Boot - Update release mapping to 8.10 - Improve clarity over a variety of logging and messages - Untrack previously installed subscription manager packages - Add (unsupported) possibility to convert from Rocky Linux 8 - Add (unsupported) possibility to convert from AlmaLinux 8 - Improve code stability of subprocess calls - Use password file in Ansible playbook to prevent leaking password through proccess list (CVE-2022-1662) - Fix KeyError when handling alphabetical characters in boot entries - Exclude iwlax2xx-firmware dependency in Oracle Linux 8 - Prevent duplicate logging when getting package updates - Prevent backing up specific package that is not available on latest minor version - Fixed logs of previous runs being moved instead of copied - Prevent user from not selecting a response when queried - Fixed minor version not being added correctly when creating RHEL GRUB entry * Fri Apr 8 2022 Eric Gustavsson 0.25-4 - Fix pexpect spawn not being correct column width * Wed Apr 6 2022 Eric Gustavsson 0.25-3 - Fix sending subscription-manager password to command line * Mon Dec 13 2021 Eric Gustavsson 0.25-1 - Fix python3-cloud-what package issue - Fix yum distro-sync returning non-zero value for no change - Fix detection of gcc-c++ and other package names - Halt when unable to download packages to backup - Set LANG env var to C, the same as LC_ALL - Backup /etc/os-release file when converting - Split log files for each run of convert2rhel - Fix trailing '%s' in tainted kernel inhibitor message - Avoid mutable types as default args - Less verbose messages when backing up files - Improve timestamp format for breadcrumbs - Integration tests: Verify system is unregistered during rollback - Integration tests: Verify non-english LANG env variables - Integration tests: Fix non-supported kmods tests * Tue Oct 5 2021 Eric Gustavsson 0.24-1 - Allow converting UEFI-based systems to RHEL 7 and 8 - Fix python 2.6 incompatible code - Improve the example Ansible playbook for conversions at scale - Install pip as part of install-testing-deps role - Integration tests: Add ansible role to set up custom repo - Integration tests: Add one kernel test case scenario - Integration tests: Add test using Satellite for conversion - Integration tests: Add test using custom repos for conversion - Integration tests: Move dependency check test to conversion directory - Integration tests: Add test using activation key - Integration tests: Add test that check variant help message - Integration tests: Small improvements and refactors * Tue Aug 17 2021 Michal Bocek 0.23-1 - Create /etc/migration-results with a basic information about convert2rhel being executed - Handle yum conflicts where pkg A depends on pkg B, B is being replaced but replacement for A is not available - Inhibit the conversion only if loaded (not installed) kernel modules are not available in RHEL - Remove temporary data from /var/lib/convert2rhel/ after successful conversion - Allow converting Scientific Linux 7 - Roll back the installation of an RHSM certificate - Add LC=ALL to existing environment variables when calling shell commands instead of overriding them - Improve handling yum transaction errors by expecting underscore in a pkg name - Improve patching yum.conf so that it's not necessary to back up - Introduce a new make `copr-build` command to create builds in Fedora Copr - Integration tests: Do not capture and print all stdout/err when a test fails - Integration tests: Abstract away from processor architecture of the system on which tests are executed - Integration tests: Increase reboot time limit to 600 seconds due to slower test systems in the cloud - Integration tests: Use new TMT 'environment-file' option - Integration tests: Limit the tests to run on relevant test systems only - Integration tests: Set the timeout for tests from the default 5 min to 30 min * Tue Jun 29 2021 Eric Gustavsson 0.22-1 - Add support for future minor releases - Add custom repo validation - Add support for offline Satellite-managed systems - Rename --disable-submgr parameter to --no-rhsm - Fix faulty dependency error resolution with yum packages - Fix accidental removals of all katello packages - Fix activation keys with whitespace now supported - Fix python-requests failing conversions - Improve logging with tasks and kernel modules * Mon May 10 2021 Eric Gustavsson 0.21-1 - Inhibit systems with non-standard RHEL kernel - Unregister the system before removing subscription-manager - Fix broken rollback with Red Hat Subscription Manager on Oracle Linux 6 & 8, and CentOS 6 - Fix confusing logging message when registering the system - Fix incorrect RegExp parsing of yum output - Fix logger not being initialized early enough - Remove non-interactive command suggestion * Fri Mar 26 2021 Michal Bocek 0.20-1 - Fix backing up centos-release and others - Fix checking for kernel modules using symlinks - Remove cockpit-subscriptions to prevent conversion failure - Remove anaconda-dracut to prevent conversion failure - Limit the number of RHSM registration attempts - Fix resolving yum dependency errors - Add ignore list for kmods that moved to kernel core * Wed Mar 24 2021 Michal Bocek 0.19-1 - Inhibit the conversion on detection of unsupported or tainted kernel modules - Remove mod_ldap and mod_proxy_html on CentOS 7 to prevent conversion failure * Mon Mar 22 2021 Michal Bocek 0.18-1 - Prevent conversion failure by requiring writable /sys and /mnt - Fix the subscription-manager packages being signed by CentOS instead of Red Hat - Remove packages causing dependency errors - Inhibit the conversion for UEFI firmware - Added --version option - Implement a backup of repofiles under /etc/yum.repos.d/ - Fix conversion failure on CentOS Linux/OL 6 caused by java-1.7.0-openjdk - Remove settings not compatible with RHEL from /etc/sysconfig/kernel * Wed Feb 10 2021 Michal Bocek 0.17-1 - Fix broken package backup causing an incomplete rollback - Fix dependency issue when force replacing same-version kernel - Allow using RHSM repos when downloading same-version kernel * Thu Feb 4 2021 Michal Bocek 0.16-1 - Not requiring users to download redhat-release and subscription-manager with its dependencies prior the conversion when using RHSM. - Remove subscription-manager dependencies from the convert2rhel spec file by installing subscription-manager through yum/dnf instead of rpm. - The --variant option for choosing RHEL variant was broken. Instead of fixing it we remove all the related code. The system is always converted to RHEL Server variant in case of RHEL 6 and 7. RHEL 8 has no variants. Using the --variant option now prints a warning. - Update Red Hat EULA to the 2019 version. - Messages of importance are printed in color in the terminal. - When printing a list of packages, we print the package vendor by default, or the packager when the vendor information is not available. * Fri Jan 8 2021 Michal Bocek 0.15-1 - add missing CentOS 8 packages to be removed prior the conversion * Thu Dec 17 2020 Michal Bocek 0.14-1 - fix same version kernel not being replaced silently - not renaming the original system repofiles anymore - fix printing package installation repo with dnf - warn users if same repo in both enable/disablerepo options - improve manpage/help for the enable/disablerepo options * Fri Nov 13 2020 Michal Bocek 0.13-1 - allow conversions of CentOS and Oracle Linux 8 - fix "TypeError: execve()" py2.6-related error when calling external commands - remove unused code related to using offline snapshot or RHEL repositories - remove all Red Hat Network (RHN)-related code as RHN has been shut down - set POSIX/C locale at the start of running the tool - remove python-syspurpose dependency from spec - not available on OL 7 and 8 - replace the word blacklist with exclude/excluded - clearing yum versionlock that could cause the conversion to fail - printing rpm files that were modified during the conversion - minor UX improvements and test infrastructure improvements * Wed Aug 19 2020 Michal Bocek 0.12-1 - require --enablerepo with --disable-submgr - fix failing conversions if gpgcheck=1 not in used custom repos - always logging debug info to the log file - unnecessary backup of kernel packages is not being performed - add missing python-setuptools dependency on RHEL 6 to a spec file - unregister from RHN Classic if in use - change a temporary folder path from /tmp/convert2rhel/ to /var/lib/convert2rhel - add the ability to specify custom RHSM URL - unsubscribe from RHSM during a rollback - drop the support for conversions of RHEL 5 - make sure that RHEL kernel has been installed correctly during the conversion - fix parsing RHSM output due to its change in RHEL 7.8 - fix stopping the convert2rhel execution when not running as root - the convert2rhel.log file is not being overwritten but appended - do not traceback when intentionally stopping the conversion - do not ask for subscription SKU pool IDs when activation key is used * Tue May 12 2020 Michal Bocek 0.11-1 - updated license in spec files from GPLv3 to GPLv3+ - set up automated pylint and unit test coverage checks in GitHub - removed packit smoke test - fixed packit configuration for downstream release proposals * Wed May 06 2020 Michal Bocek 0.10-1 - fixed rpm dependencies - blacklisted kmod-kvdo causing a transaction failure on CentOS 7 - convert2rhel exits with 0 on a help message - added packit configuration for Copr builds and unit testing on a PR * Fri Dec 13 2019 Michal Bocek 0.9-1 - basic rollback capability up to the point before replacing all pkgs - added basic system tests running on CentOS 5/6/7 Vagrant boxes - unit tests can be run now in CentOS 5/6/7 Docker images - improved handling of kernel installation corner cases - added possibility to upgrade i386 OL5 - added --debug option - license changed from GPLv2 to GPLv3 - autogenerating manpage - collecting output of 'rpm -Va' before the conversion - added possibility to use custom repositories instead of RHSM - removed bundled rpms and repomapping for the public release * Fri Nov 10 2017 Michal Bocek 0.8-1 - added support for conversion from CentOS/OL 5 to RHEL 5 - the oldest supported version is CentOS/OL 5.6 * Fri Mar 31 2017 Michal Bocek 0.7-1 - remove shebang from all the python scripts - update spec to create arch specific rpms - move all the tool data into /usr/share/convert2rhel/ - remove ppc64 RHEL 6 data - CentOS 6 and OL 6 were not released for this arch - create new SystemReleaseFile class for handling /etc/system-release - do not print traceback on keyboard interrupt - move initializing Red Hat GPG key fingerprint variable from main to gpgkey.py - update configs to add centos-release* to blacklist * Wed Jul 20 2016 Michal Bocek 0.6-1 - Code refactored and split into new files - Added support for CentOS/OL 6 to RHEL 6 conversion - Created 'framework' for unit tests - Added logging to a file * Wed Jun 15 2016 Michal Bocek 0.5-1 - The tool renamed to convert2rhel. - All the original kernels are removed during the conversion now. - Added man page. - EULA needs to be accepted before the conversion. - Packages are filtered per signature, not per vendor. - Added support for conversions from Oracle Linux 7 to RHEL 7. - Added support for --auto-attach, --activationkey and --org subscription-manager arguments. * Mon May 09 2016 Michal Bocek 0.4-1 - Added both interactive and cmd line option for choosing RHEL variant. - Added autodetection of platform architecture. - Implemented handling of unsuccessful subscription attachment. - Added a config file for each supported distribution. - Added possibility to blacklist conflicting pkgs. * Thu Apr 28 2016 Michal Bocek 0.3-1 - Added determining appropriate RHEL repository to use for upgrade. * Mon Apr 25 2016 Michal Bocek 0.2-1 - Added dark matrix data * Tue Apr 19 2016 Michal Bocek 0.1-1 - Initial RPM release