Project

General

Profile

Actions

Bug #22499

closed

Non-fatal POSTIN scriptlet failure in rpm package foreman-bootloaders-redhat

Added by Lukas Zapletal almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Packaging
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

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

3.
  1. /usr/bin/foreman-generate-bootloaders x86_64 noinstall
  2. 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

Actions

Also available in: Atom PDF