Bug #22499
closedNon-fatal POSTIN scriptlet failure in rpm package foreman-bootloaders-redhat
Description
Description of problem:
Non-fatal POSTIN scriptlet failure in rpm package foreman-bootloaders-redhat-tftpboot
There is semantic error in /usr/bin/foreman-generate-bootloaders in check_pkg() function (Line 20):
check_pkg() {
rpm -q "$1" &>/dev/null || echo "Please install: yum -y install $1" && exit 1
}
cmd1 || cmd2 && cmd3
So, if cmd1 succeeds then cmd2 is skipped (OK) but cmd3 is still performed (BUG)
It should be like this:
cmd1 || ( cmd2 && cmd3 )
Version-Release number of selected component (if applicable):
satellite-6.3.0-23.0.el7sat.noarch (Snap 34)
foreman-bootloaders-redhat-201801241201-1.el7sat.noarch
How reproducible:
always
Steps to Reproduce:
1. # yum upgrade
...
warning: %post(foreman-bootloaders-redhat-tftpboot-201801241201-1.el7sat.noarch) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package foreman-bootloaders-redhat-tftpboot-201801241201-1.el7sat.noarch
2. # rpm -q --scripts foreman-bootloaders-redhat-tftpboot
postinstall scriptlet (using /bin/sh):
/usr/bin/foreman-generate-bootloaders x86_64 noinstall
- /usr/bin/foreman-generate-bootloaders x86_64 noinstall
- echo $?
1
Actual results:
rpm scriptlet exits with 1 though there is no error at all
Expected results:
rpm scriptlet exits with 0 as there is no error at all