Bug 53757

Summary: Неверно показывает branch
Product: Sisyphus Reporter: Elena Mishina <lepata>
Component: alteratorctlAssignee: hromovpi <hromovpi>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alekseevamo, alxvmr, hromovpi, liannnix, sa, sav, sheriffkorov, sin
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Elena Mishina 2025-04-08 10:40:14 MSK
Шаги воспроизведения:
$ alteratorctl systeminfo branch
p11
# alteratorctl packages repo add p10
# alteratorctl packages repo remove p10

Получаемый результат:
$ alteratorctl systeminfo branch
p10

$ alteratorctl packages repo list
rpm [p11] http://ftp.altlinux.org/pub/distributions/ALTLinux p11/branch/noarch classic
rpm [p11] http://ftp.altlinux.org/pub/distributions/ALTLinux p11/branch/x86_64 classic
rpm [p11] http://ftp.altlinux.org/pub/distributions/ALTLinux p11/branch/x86_64-i586 classic

Ожидаемый результат: 
$ alteratorctl systeminfo branch
p11

Получаемый результат еще можно было бы ожидать, если бы команда alteratorctl packages repo add p10, работала аналогично команде apt-repo set, но она же так не работает.
Comment 1 Aleksey Saprunov 2025-12-22 14:52:17 MSK
Перевешиваю на hromovpi@altlinux.org
Comment 2 alxvmr 2026-02-04 12:32:41 MSK
Добрый день!

Команды 
alteratorctl packages repo add p10
alteratorctl packages repo remove p10
alteratorctl systeminfo branch

вызывают следующие команды:
apt-repo add p10
apt-repo rm p10
rpm --eval %_priority_distbranch

Передача бранча в apt-repo add, судя по коду, приводит к установке переданного бранча в %_priority_distbranch:

sub add_repo {
    shift;
    my $repo   = shift;
    my $object = shift;
    my @comps  = @_;
    my $a_found;
    my $i_found;
    my @c = ();
	my @priority_branches = ( "p10", "p11", "sisyphus" );

    my @urls = get_url( $repo, $object, @comps );

    # Set %_priority_distbranch
	foreach my $distbranch ( @priority_branches ) {
		if( not $dry_run and ( $repo eq $distbranch or ( defined($object) and $object eq $distbranch ) ) ) {
			open PRIORITY, '>', "/etc/rpm/macros.d/priority_distbranch" or die "Can't open /etc/rpm/macros.d/priority_distbranch: $!";
			print PRIORITY "%_priority_distbranch $distbranch\n";
			close PRIORITY;
		}
	}

То есть это не ошибка alteratorctl, а особенность поведения apt-repo add.
Comment 3 Evgeny Sinelnikov 2026-02-04 15:38:51 MSK
Думаю, что поведение соответствует предполагаемому ожиданию by design.
Нигде p11 для того, чтобы к нему вернуться, не хранится.
Можно подумать и предусмотреть это в рамках редакций.
Но это уже более комплексная задача.