diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py
index cd6efe3d3b..ccb4316bd0 100644
--- a/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/meta/lib/oe/package_manager/rpm/__init__.py
@@ -333,6 +333,13 @@ class RpmPM(PackageManager):
         except subprocess.CalledProcessError as e:
             if print_output:
                 e_output = e.output.decode("utf-8")
+                # RPM 6 fails the entire transaction when a %post scriptlet
+                # fails, causing dnf to exit non-zero. Let install_pkgs handle
+                # scriptlet failures via its existing "Error in POSTIN scriptlet"
+                # scanning rather than treating this as a fatal dnf invocation error.
+                if "Error in POSTIN scriptlet in rpm package" in e_output:
+                    bb.note(e_output)
+                    return e_output
                 extra_info = ""
                 if "install" in dnf_args:
                     if "Error: Unable to find a match:" in e_output:
