generated from smedev/Template-for-SMEServer-Core-Package
	- add PowerTools repo needed for openldap-server [SME: 12790] - add SME 11 gpg key
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
    use POSIX qw(strftime);
 | 
						|
    use File::Slurp;
 | 
						|
    my $curdate = strftime '%Y%m%d', localtime;
 | 
						|
    my $curVers = 8;
 | 
						|
    my $curVersEOL = 20290531;
 | 
						|
    #get Rocky release we are
 | 
						|
    my $SUBVER = read_file('/etc/rocky-release');
 | 
						|
    $SUBVER =~ s/^Rocky 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 $dnf{eolversion} if ( ( defined $dnf{eolversion} && (substr($dnf{eolversion},0,1)<$curVers) ) || ( "$curdate"  < "$curVersEOL") ); 
 | 
						|
    $SUBVER =  $dnf{eolversion} ||  $SUBVER ;
 | 
						|
 | 
						|
    # we need to remove that from migrated server 
 | 
						|
    for my $name ( qw(appstream baseos extras) )
 | 
						|
    {
 | 
						|
	my $repo = $DB->get($name) or next;
 | 
						|
	my $baseurl = $repo->prop('BaseURL') or next;
 | 
						|
	my $mirrorlist = $repo->prop('MirrorList') or next;
 | 
						|
	if ( $baseurl =~ /^https:\/\/dl\.rockylinux\.org\/vault\/rocky\/([0-9])/ )
 | 
						|
	{
 | 
						|
	    # we want to reset this unless vers 8
 | 
						|
	    next if ($1 == $curVers && "$curdate"  >= "$curVersEOL");
 | 
						|
            $repo->delete_prop('MirrorList');
 | 
						|
            $repo->delete_prop('BaseURL');
 | 
						|
            unlink "/var/cache/dnf/$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/dnf/$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"  >= "$curVersEOL");
 | 
						|
    my %equiv=(appstream=>'AppStream', baseos=> 'BaseOS', extras=>'extras', powertools=>'PowerTools' );
 | 
						|
    for my $name ( qw(appstream baseos extras powertools) )
 | 
						|
    {
 | 
						|
        my $repo = $DB->get($name) or next;
 | 
						|
        my $rname = $equiv{$name} || $name; 
 | 
						|
        # setprop BaseURL  "https://dl.rockylinux.org/vault/rocky/$SUBVER/$rname/\$basearch/"
 | 
						|
        $repo->set_prop('BaseURL', "https://dl.rockylinux.org/vault/rocky/$SUBVER/$rname/\$basearch/");
 | 
						|
        # delprop MirrorList
 | 
						|
        $repo->set_prop('MirrorList', "disabled");
 | 
						|
    }
 | 
						|
}
 |