diff -Nur --no-dereference smeserver-yum-2.6.0.old/root/etc/e-smith/db/configuration/migrate/Yum-remove-previous-eolversion smeserver-yum-2.6.0/root/etc/e-smith/db/configuration/migrate/Yum-remove-previous-eolversion --- smeserver-yum-2.6.0.old/root/etc/e-smith/db/configuration/migrate/Yum-remove-previous-eolversion 1969-12-31 19:00:00.000000000 -0500 +++ smeserver-yum-2.6.0/root/etc/e-smith/db/configuration/migrate/Yum-remove-previous-eolversion 2021-03-21 13:12:19.847000000 -0400 @@ -0,0 +1,9 @@ +{ + use POSIX qw(strftime); + my $curdate = strftime '%Y%m%d', localtime; + my $curVers = 7; + my $curVersEOL = 20240630; + # we remove the forced value if for a previous release; + # also if not after the eol date + my $dropit = $DB->get_prop_and_delete('yum','eolversion') if ( (substr($yum{eolversion},0,1)<$curVers) || ( "$curdate" < "$curVersEOL") ); +} diff -Nur --no-dereference smeserver-yum-2.6.0.old/root/etc/e-smith/db/yum_repositories/migrate/45CentOSEOL smeserver-yum-2.6.0/root/etc/e-smith/db/yum_repositories/migrate/45CentOSEOL --- smeserver-yum-2.6.0.old/root/etc/e-smith/db/yum_repositories/migrate/45CentOSEOL 2021-03-21 02:05:05.155000000 -0400 +++ smeserver-yum-2.6.0/root/etc/e-smith/db/yum_repositories/migrate/45CentOSEOL 2021-03-21 13:12:20.078000000 -0400 @@ -1,15 +1,45 @@ { use POSIX qw(strftime); use File::Slurp; + my $curdate = strftime '%Y%m%d', localtime; + my $curVers = 7; + my $curVersEOL = 20240630; #get CentOS release we are my $SUBVER = read_file('/etc/centos-release'); $SUBVER =~ s/^CentOS Linux release ([0-9\.]+).*?$/$1/; chomp $SUBVER; + # we ignore the force value if for a previous release; idealy should be deleted from another fragment against configuration db + delete $yum{eolversion} if ( ( defined $yum{eolversion} && (substr($yum{eolversion},0,1)<$curVers) ) || ( "$curdate" < "$curVersEOL") ); $SUBVER = $yum{eolversion} || $SUBVER ; + + # we need to remove that from migrated server + for my $name ( qw(base updates centosplus extras fasttrack centos-sclo-rh centos-sclo-centos) ) + { + my $repo = $DB->get($name) or next; + my $baseurl = $repo->prop('BaseURL') or next; + my $mirrorlist = $repo->prop('MirrorList') or next; + if ( $baseurl =~ /^http:\/\/vault\.centos\.org\/([0-9])/ ) + { + # we want to reset this unless vers 7 + next if ($1 == $curVers && "$curdate" >= "$curVersEOL"); + $repo->delete_prop('MirrorList'); + $repo->delete_prop('BaseURL'); + unlink "/var/cache/yum/$name/$_" foreach qw(repomd.xml mirrorlist.txt); + } + else + { + # no match for a numerical, we probably want to reset that as well + $repo->delete_prop('MirrorList'); + $repo->delete_prop('BaseURL'); + unlink "/var/cache/yum/$name/$_" foreach qw(repomd.xml mirrorlist.txt); + } + } + + # return unless we have a release version return unless $SUBVER ne ""; my $curdate = strftime '%Y%m%d', localtime; # return unless EOL is reached - return unless ( "$curdate" >= "20240630"); + return unless ( "$curdate" >= "$curVersEOL"); for my $name ( qw(base updates centosplus extras fasttrack centos-sclo-rh centos-sclo-centos) ) { my $repo = $DB->get($name) or next;