Commit Graph

64 Commits

Author SHA1 Message Date
komitov
faf4738bc2
Merge branch 'rocky-linux:main' into patch-1 2022-04-04 15:28:02 +03:00
92b35b59d9
Check the dnf check exit code before attempting migration. (#167) 2022-03-04 15:37:58 +13:00
d5a6e46df3 Fix some issues with baseurl checks and overrides. 2022-03-04 15:34:13 +13:00
komitov
836e33885a
Fix grub for users, that use old-school BIOS boot.
On a machine that is UEFI capable, but boots in old-school BIOS mode, the system is rendered unbootable if you do not update grub.
2022-02-18 14:23:36 +02:00
f3fe6d768a Fix issue where we didn't exit when we were supposed to.
Exiting from a subshell doesn't actually exit the script.  Move the exit to
outside of the subshell.
2022-02-12 22:51:23 +13:00
9703480c4d
Vault (#154)
* Add devel repo to list of repositories to migrate.

* Use baseurl from our CentOS vault mirror.

CentOS killed off all the CentOS 8 repos and moved them to vault.  As a result
migrate2rocky was no longer working to migrate CentOS 8 installs.  To fix this
we've mirrored the CentOS 8 vault and point migrate2rocky to that instead.
2022-02-01 23:54:27 +13:00
Amin Vakil
d2b2b61afc
Fix shellcheck issues (#146)
* Quote to prevent splitting

* Remove dir_mount_map variable

* Define efi_disk and efi_partition as array

* Expanding an array without an index only gives the first element

* Ignore shellchecking /etc/os-release

* Expressions do not need to expand
2022-01-11 21:56:51 +13:00
d3d4896e39
migrate2rocky minor improvements (#140)
* migrate2rocky: use $convert_info_dir consistently

We set convert_info_dir=/root/convert.  Use it consistently.

* migrate2rocky: avoid mkdir error with -rV options

Both -r and -V call `generate_rpm_info()` which run `mkdir` to create
the convert directory.  The second call results in a warning:

    mkdir: cannot create directory ‘/root/convert’: File exists

Use `mkdir -p` to avoid the spurious warning when the convert directory
exists.

* migrate2rocky: fix listing of rpm info files

When the conversion completes, the script prints:

    You may review the following files:

However, there are no files displayed because the find pattern does not
match what `generate_rpm_info()` writes.  It looks for '*-rpms-*' while
the files are named '*-rpm-list-*' instead.

Fix the file pattern used.  While here, replace the use of `find` with a
simpler `printf` to achieve the same result.
2022-01-01 18:51:07 +13:00
Kenneth Hoste
68c77adbb3
fix migrate2rocky script for aarch64 systems by using correct suffix for grub2-efi* and shim* packages (#138)
* fix migrate2rocky script for aarch64 systems by using correct suffix for grub2-efi* and shim* packages

* wrap value passed to -l option of efibootmgr command in quotes
2021-12-21 09:06:55 +13:00
a208a1ce0b
Check available disk space before starting migration. (#136)
* Add disk space check
2021-12-19 01:53:55 +13:00
da2de96c9c Add log rotation. 2021-12-18 23:04:43 +13:00
540327a1cb Use shimx64.efi for EFI boot.
We shouldn't be setting EFI boot to grubx64.efi, but rather shimx64.efi instead.
This commit also makes sure that both grub2-x64 and shim-x64 are properly
installed in an EFI boot system.
2021-11-25 22:19:56 +13:00
2995c40c83 Always replace the shim with the one for Rocky Linux. 2021-11-25 00:29:46 +13:00
210d1fc998 Fix syntax error in sed regexes. 2021-11-24 04:48:51 +13:00
f28f6daa0e Certain Stream packages have to be replaced by their Rocky Linux equivalents. 2021-11-24 00:21:41 +13:00
6fb8cb8dd1
Merge branch 'main' into stream_logic 2021-11-23 22:51:34 +13:00
28be74a123 Shellcheck fixes.
Various fixes reported by shellcheck.
2021-11-19 22:52:38 +13:00
22455ba221 Fix config-manager dnf plugin name.
See RHBZ #1980712.
2021-11-19 22:52:38 +13:00
aff688f30c grep is needed for all migrations.
Move the check for grep to the main list of binaries instead of the ones just
needed for EFI boot.
2021-11-19 22:52:38 +13:00
1abcdd13af Fix up vault baseurls
Fix the source repository (which are in vault.centos.org) URLs as well.
2021-11-18 14:22:40 +13:00
6c3453041c Fix broken mirrorlist URLs from CentOS Stream repos.
The mirrorlist URLs rely on variable replacements from CentOS Stream that are
not valid once we have switched to Rocky Linux.  To fix this we change to the
baseurl instead and fix it up to not rely on those variables that have changed.
2021-11-18 14:11:15 +13:00
678a220c92
Merge branch 'rocky-linux:main' into stream_logic 2021-11-18 13:38:22 +13:00
fbac8d07a2 Remove Secure Boot check.
Rocky Linux now has secure boot support, so we no longer need to check for and
bail on systems with secure boot enabled.
2021-11-18 10:16:23 +13:00
230cbc507b Fix broken stream conversion logic.
Stream system repo packages were ignored if there were no stream non-system
packages present.
2021-11-11 22:16:13 +13:00
d7e4c072a2
dnf should always assume yes (#102)
There are cases where dnf might wait for confirmation, sometimes for a missing
key, etc, that one would not expect.  By always passing "-y" we ensure this
isn't an issue.
2021-08-15 20:39:26 +12:00
33373b4ef4
Use C locale instead of en_US (#98)
en_US is not guaranteed to be installed on all systems, but C is, so we use the
C locale to guarantee that all the dnf and rpm command output parses properly.
2021-08-14 16:37:40 +12:00
8d68003ddf
Formatting (#97)
* Various formatting and spelling fixes.

* Tab to space for more consistent text representation across different editors.
2021-08-14 16:32:10 +12:00
7eb310f907
Keep new packages when migrating from Stream until RockyLinux catches up (#96)
* CentOS Stream changes

* Retain CentOS Stream repositories and packages to avoid version downgrade
  issues.
* Only remove centos-stream-repos from the rpm db, do not actually uninstall the
  files.
* Rename system repositories from CentOS Stream with a "stream-" prefix to avoid
  clashing with Rockylinux system repository names.
* Disable CentOS Stream repositories after the distro-sync.

Note that these changes will leave CentOS Stream packages on the system, likely
until the next RockyLinux point release.  This is intentional to avoid issues
with downgrading package versions.

* Apply stream logic to epel-next-release.

epel-next-release is installed for CentOS stream machines with
EPEL.  Apply similar logic for epel-next as for CentOS stream.
2021-08-14 01:35:50 +12:00
d7f52751d0 Prevent attempted writes to /sys and /proc in containers.
Containers generally bind-mount /sys and /proc, so if dnf or rpm attempts to
write to write to one of them it can cause issues with the host system, or just
fail alltogether.  We set an rpm macro to prevent this from happening.
2021-08-10 02:57:26 +12:00
2f40d60ec2 Do not attempt to update EFI boot in containers.
Containers (at least many fo them) will bind-mount /sys which works for most
cases but it means that /sys will indicate EFI boot when it is, in fact, the
host system that has EFI boot.  To fix this we use systemd-detect-virt to see if
we're running in a container and if so we don't attempt to update EFI boot.
2021-08-10 02:57:26 +12:00
1529747183 Fix shellcheck issues
Fix issues found by shellcheck.
2021-08-08 21:51:15 +12:00
606390af59 Add -L to curl command
curl won't follow redirects without -L.  Since redirects are used by some who
have a private repository this breaks curl in those instances.  Adding -L fixes
the problem.
2021-07-16 18:56:55 +12:00
64c74d621b
Update required bash version to 4.2 (#79)
We use features that were introduced in bash 4.2, specifically negative array
indexing.  Since EL8 comes stock with bash 4.4 this is not an issue but just in
case someone has done somethign stupid we update our version check to make sure
that at least 4.2 is being run.
2021-07-16 16:28:33 +12:00
49d75e9788 Disable the ol and ol8 streams before enabling the rhel ones. 2021-07-16 16:06:22 +12:00
aa779583f9 Fix variable name typo. 2021-07-16 16:06:22 +12:00
6d21220c31 Map OracleLinux stream names to RHEL.
OracleLinux renames a nubmer of module streams from rhel8 to ol8 and from rhel
to ol.  This commit maps the names back to rhel8 and rhel so that migrate2rocky
doesn't blow up on them.
2021-07-16 16:06:22 +12:00
bc7a35a1e7 Dump DNF cache before collecting system data and dnf update instead of after.
If there's going to be errors due to corrupted repos, etc we want to find out
right away so we can bail before we put the system in an unstable state.  To
this end we dump the dnf cache right away to make sure that dnf is forced to hit
the repos insteada of relying on cached data.
2021-07-15 21:07:34 +12:00
6ee3330480 Force en_US.UTF-8
In order to properly parse output from certain commands we must ensure that
output is in the correct locale and character set.  Previously we had just set
LANG but that doesn't force the issue and some systems may still have issues.
While this change will override a person's foreign language preferences this is
preferable to it causing a failed migration.
2021-07-13 23:09:21 +12:00
23bc5d57c8 Check for dnf-plugins-core and enable config-manager
Check to make sure that dnf-plugins-core is present, and force-enable the
config-manager plugin for those dnf commands that need it in case it has been
disabled.
2021-07-09 22:23:18 +12:00
64fd6b5f08
Fix EFI boot to work with mdadm-mirrored partitions. (#68)
* Fix EFI boot to work with mdadm-mirrored partitions.
2021-07-08 14:04:18 +12:00
f014318b79 Add system-logos-ipa to the list of system packages to swap.
system-logos-ipa -> rocky-logos-ipa
2021-07-02 20:37:44 +12:00
24054df6f4
Check to make sure that we're not already on RockyLinux. (#64)
* Check to make sure that we're not already on RockyLinux.

Trying to migrate RockyLinux to RockyLinux can cause serious problems.
2021-07-01 18:55:27 +12:00
1602af296a Rocky isn't RC anymore 2021-06-29 22:38:23 +12:00
ac6fbedc21
Attempt to run dnf update before the migration (#58)
* Attempt to run dnf update before the migration.

While a migration will generally work without first running dnf update, thera
are several advantages of attempting to run an update first:

* We catch corner cases that an update will solve.

* Since we're running a distro-sync at the end, it effectively updates anyways
  and the same things that will break a distro-sync will often times break an
  update.  By attempting to run the update first we will discover those
  breakages before we put the system into an unstable state and we can bail out
  if the update fails, preventing a potentially disastrous outcome.
2021-06-29 21:21:33 +12:00
dfce36e61a
efibootmgr needs separate disk and partition (#52)
* efibootmgr needs separate disk and partition

efibootmgr needs a separate device (/dev/xxx) and partition number.

Co-authored-by: McNutnut <mcnutnut90@gmail.com>
2021-06-27 21:53:34 +12:00
aba39dd294 Suggest to remove dnf-plugin-subscription-manager
issue 40
2021-06-25 22:54:48 +12:00
Louis Abel
062f6c44bd
Merge pull request #38 from breca/main
Continues on empty lines from repoquery
2021-06-23 21:34:17 -07:00
Louis Abel
0aafb93884
Merge pull request #35 from lumarel/main
Improve checks against modified default repositories
2021-06-23 21:29:45 -07:00
Robert Scheck
9c5c8519d3 Add mapping for rocky-logos-httpd 2021-06-22 22:50:07 +02:00
Brett C
eeff0c3b94 Refactor for more efficient evaulation 2021-06-22 19:03:18 +10:00