{
    my @add = split(/[,; ]+/, 'initscripts,libgsf');
    my %remove = map { $_ => 1 } split(/[,; ]+/, 'kernel,kernel-smp,kernel-xenU,mkinitrd,mdadm,openssl');

    for my $name ( qw(base updates) )
    {
	my $repo = $DB->get($name) or next;

        my @exclude = split(/,/, $repo->prop('Exclude') || '');
        push @exclude, @add;
        @exclude = grep(!defined $remove{$_} && !/^CENTOS_/, @exclude);

        # remove duplicates
        undef %saw;
        @exclude = grep(!$saw{$_}++, @exclude);
    
        if ($#exclude >= 0)
        {
            $repo->set_prop('Exclude', join(',', @exclude));
        }
        else
        {
            $repo->delete('Exclude');
        }
    }
}
