changes for relative
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								8af7c075ec
							
						
					
				
			
			
				commit
				
					
						4f76cfc84e
					
				
			
		
					 2 changed files with 26 additions and 25 deletions
				
			
		|  | @ -70,45 +70,45 @@ class ConfigInstall: | ||||||
|                             type.manifest_path) |                             type.manifest_path) | ||||||
|          |          | ||||||
|         log.debug("%s: Running %s", cdist_object.name, manifest) |         log.debug("%s: Running %s", cdist_object.name, manifest) | ||||||
|         if os.path.exists(manifest): |         if os.path.exists(manifest_path): | ||||||
|             env = { "__object" :    os.path.join(self.context.cdist_object.path, |             env = { "__object" :    os.path.join(self.context.object_base_path, | ||||||
|  |                                         cdist_object.path) | ||||||
|                     "__object_id":  cdist_object.object_id, |                     "__object_id":  cdist_object.object_id, | ||||||
|                     "__object_fq":  cdist_object.name, |                     "__object_fq":  cdist_object.name, | ||||||
|                     "__type":       type.path, |                     "__type":       os.path.join(self.context.type_base_path, | ||||||
|  |                                         type.path) | ||||||
|                     } |                     } | ||||||
|             self.run_manifest(manifest, extra_env=env) |             self.run_manifest(manifest_path, extra_env=env) | ||||||
| 
 | 
 | ||||||
|     def run_manifest(self, manifest, extra_env=None): |     def run_manifest(self, manifest_path, extra_env=None): | ||||||
|         """Run a manifest""" |         """Run a manifest""" | ||||||
|         log.debug("Running manifest %s, env=%s", manifest, extra_env) |         log.debug("Running manifest %s, env=%s", manifest_path, extra_env) | ||||||
|         env = os.environ.copy() |         env = os.environ.copy() | ||||||
|         env['PATH'] = self.context.bin_path + ":" + env['PATH'] |         env['PATH'] = self.context.bin_path + ":" + env['PATH'] | ||||||
| 
 | 
 | ||||||
|         # Information required in every manifest |         # Information required in every manifest | ||||||
|         env['__target_host']            = self.target_host |         env['__target_host']            = self.target_host | ||||||
| 
 |  | ||||||
|         # FIXME: __global == __cdist_out_path - duplication |  | ||||||
|         env['__global']                 = self.context.out_path |         env['__global']                 = self.context.out_path | ||||||
|          |          | ||||||
|         # Submit debug flag to manifest, can be used by emulator and types |         # Submit debug flag to manifest, can be used by emulator and types | ||||||
|         if self.debug: |         if self.debug: | ||||||
|             env['__debug']                  = "yes" |             env['__debug']                  = "yes" | ||||||
| 
 | 
 | ||||||
|         # Required for recording source |         # Required for recording source in emulator | ||||||
|         env['__cdist_manifest']         = manifest |         env['__cdist_manifest']         = manifest_path | ||||||
| 
 | 
 | ||||||
|         # Required to find types |         # Required to find types in emulator | ||||||
|         env['__cdist_type_base_path']    = type.path |         env['__cdist_type_base_path']    = type.path | ||||||
| 
 | 
 | ||||||
|         # Other environment stuff |         # Other environment stuff | ||||||
|         if extra_env: |         if extra_env: | ||||||
|             env.update(extra_env) |             env.update(extra_env) | ||||||
| 
 | 
 | ||||||
|         cdist.exec.shell_run_or_debug_fail(manifest, [manifest], env=env) |         cdist.exec.shell_run_or_debug_fail(manifest_path, [manifest_path], env=env) | ||||||
| 
 | 
 | ||||||
|     def object_run(self, cdist_object): |     def object_run(self, cdist_object): | ||||||
|         """Run gencode or code for an object""" |         """Run gencode or code for an object""" | ||||||
|         log.debug("Running %s from %s", mode, cdist_object) |         log.debug("Running object %s", cdist_object) | ||||||
| 
 | 
 | ||||||
|         # Catch requirements, which re-call us |         # Catch requirements, which re-call us | ||||||
|         if cdist_object.ran: |         if cdist_object.ran: | ||||||
|  | @ -118,7 +118,7 @@ class ConfigInstall: | ||||||
|              |              | ||||||
|         for requirement in cdist_object.requirements: |         for requirement in cdist_object.requirements: | ||||||
|             log.debug("Object %s requires %s", cdist_object, requirement) |             log.debug("Object %s requires %s", cdist_object, requirement) | ||||||
|             self.object_run(requirement, mode=mode) |             self.object_run(requirement) | ||||||
| 
 | 
 | ||||||
|         # |         # | ||||||
|         # Setup env Variable: |         # Setup env Variable: | ||||||
|  | @ -126,17 +126,19 @@ class ConfigInstall: | ||||||
|         env = os.environ.copy() |         env = os.environ.copy() | ||||||
|         env['__target_host']    = self.target_host |         env['__target_host']    = self.target_host | ||||||
|         env['__global']         = self.context.out_path |         env['__global']         = self.context.out_path | ||||||
|         env["__object"]         = cdist_object.path |         env["__object"]         = os.path.join(self.context.object_base_path, cdist_object.path) | ||||||
|         env["__object_id"]      = cdist_object.object_id |         env["__object_id"]      = cdist_object.object_id | ||||||
|         env["__object_fq"]      = cdist_object.name |         env["__object_fq"]      = cdist_object.name | ||||||
|         env["__type"]           = type.name |         env["__type"]           = type.name | ||||||
| 
 | 
 | ||||||
|         # gencode |         # gencode | ||||||
|         for cmd in ["local", "remote"]: |         for cmd in ["local", "remote"]: | ||||||
|             bin = getattr(type, "gencode_" + cmd) |             bin = os.path.join(self.context.type_base_path, | ||||||
|  |                     getattr(type, "gencode_" + cmd)) | ||||||
| 
 | 
 | ||||||
|             if os.path.isfile(bin): |             if os.path.isfile(bin): | ||||||
|                 outfile = getattr(cdist_object, "code_" + cmd) |                 outfile = os.path.join(self.context.object_base_path, | ||||||
|  |                             getattr(cdist_object, "code_" + cmd)) | ||||||
| 
 | 
 | ||||||
|                 outfile_fd = open(outfile, "w") |                 outfile_fd = open(outfile, "w") | ||||||
| 
 | 
 | ||||||
|  | @ -158,20 +160,19 @@ class ConfigInstall: | ||||||
|                     cdist_object.changed=True |                     cdist_object.changed=True | ||||||
| 
 | 
 | ||||||
|         # code local |         # code local | ||||||
|         code_local = cdist_object.code_local |         code_local = cdist_object.code_local_path | ||||||
|         if os.path.isfile(code_local): |         if os.path.isfile(code_local): | ||||||
|             cdist.exec.run_or_fail([code_local]) |             cdist.exec.run_or_fail([code_local]) | ||||||
| 
 | 
 | ||||||
|         # code remote |         # code remote | ||||||
|         local_remote_code   = cdist_object.code_remote |         local_remote_code   = cdist_object.code_remote_path | ||||||
|         remote_remote_code  = cdist_object.remote_code_remote |         remote_remote_code  = cdist_object.remote_code_remote_path | ||||||
|         if os.path.isfile(local_remote_code): |         if os.path.isfile(local_remote_code): | ||||||
|             self.context.transfer_file(local_remote_code, remote_remote_code) |             self.context.transfer_file(local_remote_code, remote_remote_code) | ||||||
|             cdist.exec.run_or_fail([remote_remote_code], remote_prefix=True) |             cdist.exec.run_or_fail([remote_remote_code], remote_prefix=True) | ||||||
| 
 | 
 | ||||||
|         cdist_object.ran = True |         cdist_object.ran = True | ||||||
| 
 | 
 | ||||||
|     ### Cleaned / check functions: Round 1 :-) ################################# |  | ||||||
|     def run_type_explorer(self, cdist_object): |     def run_type_explorer(self, cdist_object): | ||||||
|         """Run type specific explorers for objects""" |         """Run type specific explorers for objects""" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -106,10 +106,10 @@ class Context: | ||||||
|             shutil.rmtree(self.cache_path) |             shutil.rmtree(self.cache_path) | ||||||
|         shutil.move(self.base_path, self.cache_path) |         shutil.move(self.base_path, self.cache_path) | ||||||
| 
 | 
 | ||||||
|     def __init_env(self): |     #def __init_env(self): | ||||||
|         """Setup environment""" |     #    """Setup environment""" | ||||||
|         os.environ['__cdist_out_path']   = self.out_path |     #    os.environ['__cdist_out_path']   = self.out_path | ||||||
|         os.environ['__cdist_base_path']  = self.base_path |     #    os.environ['__cdist_base_path']  = self.base_path | ||||||
| 
 | 
 | ||||||
|     def __init_out_paths(self): |     def __init_out_paths(self): | ||||||
|         """Initialise output directory structure""" |         """Initialise output directory structure""" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue