We're updating the issue view to help you get more done. 

rpm postun scriptlet leaks exit code to rpm

Description

We use the following postun scriptlet:

1 2 3 4 5 6 7 if [ $1 -ge 1 ]; then if [ -x %{_sysconfdir}/init.d/mysql ] ; then # only restart the server if it was alredy running %{_sysconfdir}/init.d/mysql status > /dev/null 2>&1 && \ %{_sysconfdir}/init.d/mysql restart fi fi

The problem is that A && B construct, while it only runs B if A succeeds, it also sets the exit code to that of A, if A fails.

That is, if mysql status fails, the scriptlet exists with a non-zero code, and rpm treats it as a failure.

Possible fix: use if A; then B; fi instead of A && B.

Environment

None

Status

Assignee

Sergei Golubchik

Reporter

Sergei Golubchik

Labels

Fix versions

Affects versions

5.5.35

Priority

Major