imgcreate/creator.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
New commits:
commit 0a64b96e59b79d3d85b284328caf2ffc0666702f
Author: Daniel Drake <dsd(a)laptop.org>
Date: Thu Dec 24 11:31:46 2009 +0000
Implement %post --erroronfail
This flag is documented and parsed, but not acted upon.
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)
Show replies by date