Bug 41264

Summary: install failed, при выполнении %post в mkimage-profiles
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: java-1.8.0-openjdk-headlessAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: cas, iv, viy
Version: unstable   
Hardware: all   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=40831
https://bugzilla.altlinux.org/show_bug.cgi?id=41138

Description Антон Мидюков 2021-11-02 07:26:40 MSK
При сборке в mkimage-profiles не выполняется  условие
%post headless
java=%{jrebindir}/java
if [ -f /proc/cpuinfo ] && ! [ -d /.ours ] ; then #real workstation; not a mkimage-profile, etc
$java -Xshare:dump >/dev/null 2>/dev/null
fi

В результате install failed.
Проблема на всех java. Проблема в том, что когда условие не выполняется, возникает ошибка. Нужно пустую команду выполнять после условия или в else этого условия что-то делать, ту же пустую команду.
Comment 1 Ivan A. Melnikov 2021-11-02 11:28:34 MSK
(In reply to Антон Мидюков from comment #0)
> При сборке в mkimage-profiles не выполняется  условие
> %post headless
> java=%{jrebindir}/java
> if [ -f /proc/cpuinfo ] && ! [ -d /.ours ] ; then #real workstation; not a
> mkimage-profile, etc
> $java -Xshare:dump >/dev/null 2>/dev/null
> fi

Интересно, а как невыполнение условия в if приводит к ненулевому коду выхода?

$ sh -exc 'if [ -f /proc/cpuinfo ] && ! [ -d /bin ] ; then echo 'DUmP'; fi'; echo "sh exited: $?"
+ '[' -f /proc/cpuinfo ']'
+ '[' -d /bin ']'
sh exited: 0

Что такого ещё я не знаю про shell?
Comment 2 Антон Мидюков 2021-11-02 11:56:19 MSK
В условии ошибка. Должно быть:

if [ -f /proc/cpuinfo ] && ! [ -d /.our ]

а не

if [ -f /proc/cpuinfo ] && ! [ -d /.ours ]
Comment 3 Repository Robot 2021-11-03 00:26:05 MSK
java-1.8.0-openjdk-0:1.8.0.312.b07-alt2_1jpp8 -> sisyphus:

 Tue Nov 02 2021 Andrey Cherepanov <cas@altlinux> 0:1.8.0.312.b07-alt2_1jpp8
 - Ignore possible fail of %post scriptlet (ALT #41264).
 - Optionally disable %check by default.