+def exec_rsync(source, target):
+ """Simple wrapper around rsync to install files
+
+ @source: source file/directory
+ @target: target file/directory"""
+ logging.debug("Source: %s / Target: %s", source, target)
+ proc = subprocess.Popen(["rsync", "-rlptDH", "--inplace", source, target])
+ proc.wait()
+ if proc.returncode == 12:
+ logging.critical("Fatal: No space left on device")
+ cleanup()
+ sys.exit(1)
+
+ if proc.returncode != 0:
+ logging.critical("Fatal: could not install %s", source)
+ cleanup()
+ sys.exit(1)
+
+