--- rpms/smeserver-yum/sme10/smeserver-yum-2.6.0-bz11477-migrateC6EOLrepo.patch 2021/03/21 06:09:54 1.1 +++ rpms/smeserver-yum/sme10/smeserver-yum-2.6.0-bz11477-migrateC6EOLrepo.patch 2021/03/21 17:15:27 1.2 @@ -1,10 +1,33 @@ +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 02:05:36.595000000 -0400 -@@ -1,6 +1,20 @@ ++++ 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) ) @@ -12,13 +35,29 @@ diff -Nur --no-dereference smeserver-yum + 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\/[5-6]/ ) ++ 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); + } + } - #get CentOS release we are - my $SUBVER = read_file('/etc/centos-release'); - $SUBVER =~ s/^CentOS Linux release ([0-9\.]+).*?$/$1/; ++ ++ # 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;