{
    my @add = split(/[,; ]+/, '');
    my %remove = map { $_ => 1 } split(/[,; ]+/, 'gnustep-*,gnustep*,gnustep-base,gnustep-make');

    for my $name ( qw(epel) )
    {
        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');
        }
    }
}

