Blame enable-postin-scripts-error.diff

Bernhard M. Wiedemann eb41fd
--- ./lib/rpmscript.c.orig	2019-10-02 12:19:15.694519983 +0000
Bernhard M. Wiedemann eb41fd
+++ ./lib/rpmscript.c	2019-10-02 12:22:32.838112185 +0000
Bernhard M. Wiedemann eb41fd
@@ -411,7 +411,7 @@ rpmRC rpmScriptRun(rpmScript script, int
Bernhard M. Wiedemann eb41fd
     if (script == NULL) return RPMRC_OK;
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann eb41fd
     ARGV_t args = NULL;
Bernhard M. Wiedemann eb41fd
-    rpmlogLvl lvl = (script->flags & RPMSCRIPT_FLAG_CRITICAL) ?
Bernhard M. Wiedemann eb41fd
+    rpmlogLvl lvl = (rpmScriptFlags(script) & RPMSCRIPT_FLAG_CRITICAL) ?
Bernhard M. Wiedemann eb41fd
 		    RPMLOG_ERR : RPMLOG_WARNING;
Bernhard M. Wiedemann eb41fd
     rpmRC rc;
Bernhard M. Wiedemann eb41fd
     int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC;
Bernhard M. Wiedemann eb41fd
@@ -654,5 +654,8 @@ rpmscriptTypes rpmScriptType(rpmScript s
Bernhard M. Wiedemann eb41fd
 
Bernhard M. Wiedemann eb41fd
 rpmscriptFlags rpmScriptFlags(rpmScript script)
Bernhard M. Wiedemann eb41fd
 {
Bernhard M. Wiedemann eb41fd
-    return (script != NULL) ? script->flags : 0;
Bernhard M. Wiedemann eb41fd
+    rpmscriptFlags flags = (script != NULL) ? script->flags : 0;
Bernhard M. Wiedemann eb41fd
+    if (script && script->tag == RPMTAG_POSTIN && rpmExpandNumeric("%{_fail_on_postinstall_errors}"))
Bernhard M. Wiedemann eb41fd
+	flags |= RPMSCRIPT_FLAG_CRITICAL;
Bernhard M. Wiedemann eb41fd
+    return flags;
Bernhard M. Wiedemann eb41fd
 }
Bernhard M. Wiedemann eb41fd
--- ./macros.in.orig	2019-10-02 12:12:13.027399050 +0000
Bernhard M. Wiedemann eb41fd
+++ ./macros.in	2019-10-02 12:12:19.799384783 +0000
Bernhard M. Wiedemann eb41fd
@@ -1318,5 +1318,10 @@ end}
Bernhard M. Wiedemann eb41fd
 %requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
Bernhard M. Wiedemann eb41fd
 %requires_ge() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
+# Should errors in %post scriptlet be propagated as errors? 
Bernhard M. Wiedemann 1250f9
+#
Bernhard M. Wiedemann 1250f9
+# Note: set to 1 for legacy compatibility.
Bernhard M. Wiedemann 1250f9
+%_fail_on_postinstall_errors  0
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
 # \endverbatim
Bernhard M. Wiedemann 1250f9
 #*/