diff --git a/src/oebuild/app/plugins/bitbake/in_container.py b/src/oebuild/app/plugins/bitbake/in_container.py index e71b567a2f002df3d089f923cc01a7168693b387..f750487371ef12a519cdd48076bea136dfd1b79a 100644 --- a/src/oebuild/app/plugins/bitbake/in_container.py +++ b/src/oebuild/app/plugins/bitbake/in_container.py @@ -66,7 +66,7 @@ class InContainer(BaseBuild): ''' this function is to adapt the old compile.yaml ''' - parameters = ['-itd'] + parameters = oebuild_const.DEFAULT_CONTAINER_PARAMS volumns = [] volumns.append("/dev/net/tun:/dev/net/tun") volumns.append(self.configure.source_dir() + ':' + oebuild_const.CONTAINER_SRC) @@ -100,7 +100,7 @@ class InContainer(BaseBuild): # judge which container container:Container = self.client.create_container( image = docker_param.image, - parameters=" ".join(docker_param.parameters), + parameters=docker_param.parameters, volumes=docker_param.volumns, command=docker_param.command) diff --git a/src/oebuild/app/plugins/deploy/com_target.py b/src/oebuild/app/plugins/deploy/com_target.py index 5559ad3e13a449ae53b4813cc542f5997035153b..9babf70b322a66b09bdb9e9a8aafc71d3fc6ca64 100644 --- a/src/oebuild/app/plugins/deploy/com_target.py +++ b/src/oebuild/app/plugins/deploy/com_target.py @@ -172,7 +172,7 @@ the container {self.container_id} failed to be destroyed, please run + ':' + os.path.join(oebuild_const.CONTAINER_BUILD, cwd_name)) - parameters = "-itd" + parameters = oebuild_const.DEFAULT_CONTAINER_PARAMS container:Container = self.client.create_container( image=docker_image, parameters=parameters, diff --git a/src/oebuild/app/plugins/run_qemu/run_qemu.py b/src/oebuild/app/plugins/run_qemu/run_qemu.py index 0732a29fd124fb78abb1833c583dd9533b058e23..a73e2b1cff4ee045141803fc65370c1931e204f7 100644 --- a/src/oebuild/app/plugins/run_qemu/run_qemu.py +++ b/src/oebuild/app/plugins/run_qemu/run_qemu.py @@ -160,7 +160,7 @@ now, you can continue run `oebuild runqemu` in compile directory volumns.append(self.work_dir + ':' + oebuild_const.CONTAINER_BUILD) volumns.append(self.configure.source_dir() + ':' + oebuild_const.CONTAINER_SRC) - parameters = "-itd --privileged" + parameters = oebuild_const.DEFAULT_CONTAINER_PARAMS + " --privileged" container:Container = self.client.create_container( image=docker_image, parameters=parameters, diff --git a/src/oebuild/const.py b/src/oebuild/const.py index 690e0b7d55435d2424fd5ba167a315203e144d79..62624562c987a8920ac782f453381f84687e8be1 100644 --- a/src/oebuild/const.py +++ b/src/oebuild/const.py @@ -51,3 +51,5 @@ COMPILE_YAML = "compile.yaml.sample" PLATFORM = 'platform' BUILD_IN_DOCKER = "docker" BUILD_IN_HOST = "host" + +DEFAULT_CONTAINER_PARAMS = "-itd --network host" diff --git a/src/oebuild/parse_compile.py b/src/oebuild/parse_compile.py index cde558027509c373b431a39d9cd888e3e32e99f7..3f261123ea5f40aea19a11334ab849a331cd8bdf 100644 --- a/src/oebuild/parse_compile.py +++ b/src/oebuild/parse_compile.py @@ -30,7 +30,7 @@ class DockerParam: # point out the docker image image: str # point out the parameter for create container - parameters: list[str] + parameters: str # point out the volumns for create container volumns: list[str] # point out the command for create container @@ -95,6 +95,8 @@ class ParseCompile: if "docker_param" in data and data['docker_param'] is not None: try: dparam = data['docker_param'] + if isinstance(dparam, list): + dparam = " ".join(dparam) docker_param = DockerParam( image=dparam['image'], parameters=dparam['parameters'], diff --git a/src/oebuild/parse_template.py b/src/oebuild/parse_template.py index cad31405e3eafb01cb635099483c711e9d3f357c..a41947bb9753ab94baffd6ae1abefa5941b11bc0 100644 --- a/src/oebuild/parse_template.py +++ b/src/oebuild/parse_template.py @@ -265,7 +265,7 @@ your arch is {self.platform}, the feature is not supported, please check your ap if build_in == oebuild_const.BUILD_IN_HOST: return compile_conf - parameters = ['-itd'] + parameters = oebuild_const.DEFAULT_CONTAINER_PARAMS volumns = [] volumns.append("/dev/net/tun:/dev/net/tun") volumns.append(src_dir + ':' + oebuild_const.CONTAINER_SRC)