From: Alexander Kanavin Date: Mon, 29 Jan 2018 12:01:33 +0000 (+0200) Subject: package_rpm.bbclass: run pre/post installation scriptlets using sh -e X-Git-Tag: uninative-1.8~484 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=3cd8a55d5298ce9cc176e402fdb727abb26a1a4c;p=openembedded-core.git package_rpm.bbclass: run pre/post installation 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. Note that this patch needs all of the preceding patches, as otherwise running failing scriptlets with -e would defer them to first boot, instead of properly reporting failure and aborting the package installation. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index af64ef62c5..e26b2ad662 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -470,12 +470,12 @@ python write_specfile () { # Now process scriptlets if splitrpreinst: - spec_scriptlets_bottom.append('%%pre -n %s' % splitname) + spec_scriptlets_bottom.append('%%pre -n %s -p "/bin/sh -e"' % 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' % splitname) + spec_scriptlets_bottom.append('%%post -n %s -p "/bin/sh -e"' % 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') + spec_scriptlets_top.append('%pre -p "/bin/sh -e"') spec_scriptlets_top.append('# %s - preinst' % srcname) spec_scriptlets_top.append(srcrpreinst) spec_scriptlets_top.append('') if srcrpostinst: - spec_scriptlets_top.append('%post') + spec_scriptlets_top.append('%post -p "/bin/sh -e"') spec_scriptlets_top.append('# %s - postinst' % srcname) spec_scriptlets_top.append(srcrpostinst) spec_scriptlets_top.append('')