[OE-core] [RFC PATCH 6/6] package_rpm.bbclass: run pre/post installation scriptlets using sh -e
Alexander Kanavin
alexander.kanavin at linux.intel.com
Mon Jan 8 12:45:48 UTC 2018
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 <alexander.kanavin at linux.intel.com>
---
meta/classes/package_rpm.bbclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index b08608c8466..f4b6d0b65f2 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -465,12 +465,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('')
@@ -559,12 +559,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('')
--
2.15.1
More information about the Openembedded-core
mailing list