package.bbclass: run pre/post installation/removal scriptlets using sh -e

This allows catching errors in the scriptlets which would otherwise
go unnoticed, e.g. this sequence:
====
bogus_command
proper_command
====
would work just fine without any visible warnings or errors.

This was previously done only for rpm packages; this patch replaces
the rpm-specific tweak with one that works for all package types.

(From OE-Core rev: a0aa12e1d0ea9064b8dd816d4e82238df765506b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2018-03-12 18:49:41 +02:00
committed by Richard Purdie
parent 6d71fdbf20
commit c64a57d2ec
2 changed files with 16 additions and 4 deletions

View File

@@ -470,12 +470,12 @@ python write_specfile () {
# Now process scriptlets
if splitrpreinst:
spec_scriptlets_bottom.append('%%pre -n %s -p "/bin/sh -e"' % splitname)
spec_scriptlets_bottom.append('%%pre -n %s' % splitname)
spec_scriptlets_bottom.append('# %s - preinst' % splitname)
spec_scriptlets_bottom.append(splitrpreinst)
spec_scriptlets_bottom.append('')
if splitrpostinst:
spec_scriptlets_bottom.append('%%post -n %s -p "/bin/sh -e"' % splitname)
spec_scriptlets_bottom.append('%%post -n %s' % splitname)
spec_scriptlets_bottom.append('# %s - postinst' % splitname)
spec_scriptlets_bottom.append(splitrpostinst)
spec_scriptlets_bottom.append('')
@@ -564,12 +564,12 @@ python write_specfile () {
spec_preamble_top.append('')
if srcrpreinst:
spec_scriptlets_top.append('%pre -p "/bin/sh -e"')
spec_scriptlets_top.append('%pre')
spec_scriptlets_top.append('# %s - preinst' % srcname)
spec_scriptlets_top.append(srcrpreinst)
spec_scriptlets_top.append('')
if srcrpostinst:
spec_scriptlets_top.append('%post -p "/bin/sh -e"')
spec_scriptlets_top.append('%post')
spec_scriptlets_top.append('# %s - postinst' % srcname)
spec_scriptlets_top.append(srcrpostinst)
spec_scriptlets_top.append('')