forked from ungleich-public/cdist
		
	add sh -e header to code to avoid OSError: [Errno 8] Exec format error
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								0d1f121e21
							
						
					
				
			
			
				commit
				
					
						db658328d2
					
				
			
		
					 1 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
					@ -59,6 +59,7 @@ REMOTE_OBJECT_DIR          = os.path.join(REMOTE_BASE_DIR, "object")
 | 
				
			||||||
REMOTE_TYPE_DIR            = os.path.join(REMOTE_CONF_DIR, "type")
 | 
					REMOTE_TYPE_DIR            = os.path.join(REMOTE_CONF_DIR, "type")
 | 
				
			||||||
REMOTE_GLOBAL_EXPLORER_DIR = os.path.join(REMOTE_CONF_DIR, "explorer")
 | 
					REMOTE_GLOBAL_EXPLORER_DIR = os.path.join(REMOTE_CONF_DIR, "explorer")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CODE_HEADER                = "#!/bin/sh -e"
 | 
				
			||||||
DOT_CDIST                  = ".cdist"
 | 
					DOT_CDIST                  = ".cdist"
 | 
				
			||||||
VERSION                    = "2.0.0"
 | 
					VERSION                    = "2.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -517,15 +518,18 @@ class Cdist:
 | 
				
			||||||
                  os.path.basename(bin)[3:])
 | 
					                  os.path.basename(bin)[3:])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
               outfile_fd = open(outfile, "w")
 | 
					               outfile_fd = open(outfile, "w")
 | 
				
			||||||
 | 
					               outfile_fd.write(CODE_HEADER)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
               self.shell_run_or_debug_fail(bin, [bin], env=env, stdout=outfile_fd)
 | 
					               self.shell_run_or_debug_fail(bin, [bin], env=env, stdout=outfile_fd)
 | 
				
			||||||
               outfile_fd.close()
 | 
					               outfile_fd.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
               status = os.stat(outfile)
 | 
					               status = os.stat(outfile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
               # Remove output if empty, else make it executable
 | 
					               # Remove output if empty, else make it executable
 | 
				
			||||||
               if status.st_size == 0:
 | 
					               if status.st_size == len(CODE_HEADER):
 | 
				
			||||||
                  os.unlink(outfile)
 | 
					                  os.unlink(outfile)
 | 
				
			||||||
               else:
 | 
					               else:
 | 
				
			||||||
 | 
					                  # Add header and make executable
 | 
				
			||||||
                  os.chmod(outfile, stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR)
 | 
					                  os.chmod(outfile, stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if mode == "code":
 | 
					      if mode == "code":
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue