EL 8.0 had a dnf that was not compatible with this script (output changed
causing parsing errors). Make sure that e ahve a recent enough dnf for this
script to run properly and recommend updating otherwise.
Additional RHEL fixes:
- Don't remove subscription-manager because baseos is subscription managed.
- Disable any remaining subscription managed repos that are replaced by
RockyLinux repos.
- Hide digest messages from rpm.
Various fixes to allow RHEL conversions to work:
- adding additional commands to bin_check
- Fixed awk command to parse out the gpgkey for a repo.
- provides_pkg() which returns a package name for a given provides.
- allow additional packages to be removed without replacing them with rocky
equivalents.
- Don't bother checkign the exit status of dnf shell, it doesn't return a valid
fail status anyways.
- Instead check to make sure that the appropriate packages have been removed and
installed. If not attempt to fix with rpm.
There is no need to actually execute curl in order to check that it exists on
the system, the type builtin can tell us without having to fork the command.
We currently require both wget and curl when curl is sufficient to do all of our
downloads. curl is also required by rpm which is part of a minimal or core
install, so it should already be on every system that will run this script.
Avoid forking a subshell by using exec to redirect output to log file.
Additional logging improvements are: Set filename at the top of script once
instead of hard-coding it throughout the script. Log both stdout and stderr.
* Attempt to consolidate URL's
* Attempt to find correct release versions for consistency to minor
release that is supported - This also allows to remove minor version
and just use major version.
* Pull RPM's instead of trying to install directly from the URL