[devel] I: смена acl по итогам переклички

Igor Vlasenko vlasenko на imath.kiev.ua
Ср Фев 15 22:46:58 MSK 2017


Уважаемые коллеги,

по итогам переклички предлагаю через 3 дня выполнить
следующий скрипт для смены acl:
http://repocop.altlinux.org/pub/acl-change/change_acl.txt

код его генератора и использованные базы можно посмотреть в
http://repocop.altlinux.org/pub/acl-change/MIA.tar.xz

Вот псевдокод логики скрипта:
($LEADER5 - бд пакетов. где есть по факту новый лидер - более пол года,
сделал 5 заливок подряд на этот пакет,
$missing_in_action - список выбывших
$flag_buildfail - пакет не собирается
$watch - пакет надо обновить
$everybody - в acl есть @everybody

foreach my $pkgname {
    next unless $missing_in_action{$leader};
    if ($missing_in_action_flag{$leader}==0) {
	print "# $pkgname: $leader is gone.\n";
	select_new_leader($pkgname);
    } elsif ($flag_buildfail{$pkgname} or $watch{$pkgname}) {
	print "# $pkgname: $leader is missing.\n";
	print "# $pkgname: package does not rebuild lately (see beehive-logs).\n" if $flag_buildfail{$pkgname};
	print "# $pkgname: package needs update (see watch.altlinux.org)\n" if $watch{$pkgname};
	select_new_leader($pkgname);
    } elsif ($LEADER5{$pkgname}) {
	print "# $pkgname: $leader is not active while package is managed by $LEADER5{$pkgname}->[1].\n";
	acl_set_leader($pkgname, $LEADER5{$pkgname}->[1]);
    } elsif (!$everybody{$pkgname}) {
	# KEEP
	print "# $pkgname: $leader is not active, package needs \@everybody.\n";
	acl_add($pkgname, '@everybody');
    } else {
	# KEEP
    }
}



-- 

I V


Подробная информация о списке рассылки Devel