[Fedora-livecd-list] [PATCH v2] Implement %post --erroronfail

Daniel Drake dsd at laptop.org
Thu Dec 24 11:31:46 UTC 2009


This flag is documented and parsed, but not acted upon.
---
 imgcreate/creator.py |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/imgcreate/creator.py b/imgcreate/creator.py
index 909f616..4deb49e 100644
--- a/imgcreate/creator.py
+++ b/imgcreate/creator.py
@@ -23,6 +23,7 @@ import sys
 import tempfile
 import shutil
 import logging
+import subprocess
 
 import selinux
 import yum
@@ -702,11 +703,17 @@ class ImageCreator(object):
                 script = "/tmp/" + os.path.basename(path)
 
             try:
-                subprocess.call([s.interp, script],
-                                preexec_fn = preexec, env = env)
+                subprocess.check_call([s.interp, script],
+                                      preexec_fn = preexec, env = env)
             except OSError, (err, msg):
                 raise CreatorError("Failed to execute %%post script "
                                    "with '%s' : %s" % (s.interp, msg))
+            except subprocess.CalledProcessError, err:
+                if s.errorOnFail:
+                    raise CreatorError("%%post script failed with code %d "
+                                       % err.returncode)
+                logging.warning("ignoring %%post failure (code %d)"
+                                % err.returncode)
             finally:
                 os.unlink(path)
 
-- 
1.6.2.5




More information about the Fedora-livecd-list mailing list