Overview
Request 698292 accepted
- Fix failing %postun macro
Due to the way RPM macro expansion works the %postun script has always failed (e.g. on updates), resulting in a zypper return code of 107. Removing the comment, which was interpreted as part of the script, (which is quite obvious and had a typo anyway) will fix the failing %postun script. See https://bugzilla.opensuse.org/show_bug.cgi?id=1127039 for the same bug in another package.
Should also be submitted to Leap 15.1 before release to prevent failing updates on transactional-systems.
Request History
fos created request
- Fix failing %postun macro
Due to the way RPM macro expansion works the %postun script has always failed (e.g. on updates), resulting in a zypper return code of 107. Removing the comment, which was interpreted as part of the script, (which is quite obvious and had a typo anyway) will fix the failing %postun script. See https://bugzilla.opensuse.org/show_bug.cgi?id=1127039 for the same bug in another package.
Should also be submitted to Leap 15.1 before release to prevent failing updates on transactional-systems.
seife accepted request
OK.
Ok, and before accepting, my question is why is the comment being interpreted as part of the script to begin with?
also, can we remove the entire section instead since Leap 42.3 is about to be retired and the conditional will no longer be necessary?
Let's remove the section once 42.3 is really retierd ;-)
This really smells like an RPM bug. However, in order to not cause unnecessary breakage, we should just go on and accept this.
Ok fine by me.
You still wanted to know why this is failing :-)
The line
%postun -p /sbin/ldconfig
defines ldconfig as the interpreter for the following script, and the script will end with the definition of the next script ("%post tools" or "%files tools", depending on the distribution, as the %if will have been resolved before).In any case this is leaving the comment line as the only "script" line, which will then be executed with ldconfig - resulting in nonsense.
You can verify what RPM is seeing / trying to execute by using
rpm -q --scripts libexo-2-0
.Thank you @fos for explaining this! :-)