Bug 53743

Summary: Пробелы в качестве разделителя для java в /etc/alternatives/packages.d
Product: Sisyphus Reporter: Антон Сизов <sizov>
Component: java-21-openjdkAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: amakeenk, cas, max.gordeef, nikolai0302
Version: unstable   
Hardware: all   
OS: Linux   

Description Антон Сизов 2025-04-06 23:12:53 MSK
Проверялось для java версии 1.8, 17 и 21

После установки указанных версий java в директории /etc/alternatives/packages.d появляются соответствующие файлы:
java-1.8.0-openjdk-java-headless
java-17-openjdk-java-headless
java-21-openjdk-java-headless

Для java 1.8.0 в качестве разделителя значений выступает знак табуляции - это верно
Для остальных это знак пробела - не верно

Это приводит к тому, что alternetives-update не может обнаружить в указанных файлах часть строки, в следствии чего запускается alternetives-auto.

Это приводит к тому, что мы не можем выбирать 17 или 21ую версию java, вместо этого применяется alternetives-auto.

Воспроизведение:
1. Проверяем текущую версию java
java -version
2. Задаем свою альтернативу
alternatives-manual /usr/bin/java /usr/lib/jvm/java-17-openjdk-17.0.14.0.7-alt1.x86_64/bin/java
3. Применяем изменения
alternatives-update

Ожидаемый результат:
Команда "java -version" выводит желаемую версию java (17)

Фактический результат:
В выводе alternatives-update видим результат применения alternatives-auto. Если установлены все версии java, то будет выбрана 21

Для версии 1.8.0 все применяется в соответствии с ожиданиями
Comment 1 Alexander Makeenkov 2025-04-15 15:48:03 MSK
Воспроизводится в сизифе.
Comment 2 Repository Robot 2025-04-15 19:45:46 MSK
java-21-openjdk-0:21.0.6.0.7-alt3 -> sisyphus:

 Tue Apr 15 2025 Andrey Cherepanov <cas@altlinux> 0:21.0.6.0.7-alt3
 - Used tabs in alternative files (ALT #53743).