diff --git a/ogscm/app/builder.py b/ogscm/app/builder.py index 0bb9c65da244cbb5a74a8aa02f6917c582ea00c9..5df3533e8bbf9940a8d3e214ac3e681838864ef6 100644 --- a/ogscm/app/builder.py +++ b/ogscm/app/builder.py @@ -77,3 +77,13 @@ class builder(object): shell=True, ) print(f"Wrote image file {self.image_file}") + + bundle_file = f"{self.image_file[:-5]}.run" + if self.__args.enroot_bundle and ( + not os.path.exists(bundle_file) or self.__args.force + ): + subprocess.run( + f"cd {self.__cwd} && rm -f {bundle_file} && enroot bundle -o {bundle_file} {self.image_file}", + shell=True, + ) + print(f"Wrote bundle file {bundle_file}") diff --git a/ogscm/cli.py b/ogscm/cli.py index c2c6c8e7563e11fa1d3b862ecd25ee6df53c963e..725a0f9de762680c02aef5d681d3c811b6904675 100644 --- a/ogscm/cli.py +++ b/ogscm/cli.py @@ -110,6 +110,12 @@ def main(): # pragma: no cover action="store_true", help="Convert Docker image to enroot image", ) + build_g.add_argument( + "--enroot-bundle", + dest="enroot_bundle", + action="store_true", + help="Convert enroot image to enroot bundle", + ) build_g.add_argument( "--enroot_file", type=str,