57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|  | #!/bin/sh | ||
|  | # | ||
|  | # 2010 Nico Schottelius (nico-cdist at schottelius.org) | ||
|  | # | ||
|  | # This file is part of cdist. | ||
|  | # | ||
|  | # cdist is free software: you can redistribute it and/or modify | ||
|  | # it under the terms of the GNU General Public License as published by | ||
|  | # the Free Software Foundation, either version 3 of the License, or | ||
|  | # (at your option) any later version. | ||
|  | # | ||
|  | # cdist is distributed in the hope that it will be useful, | ||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||
|  | # GNU General Public License for more details. | ||
|  | # | ||
|  | # You should have received a copy of the GNU General Public License | ||
|  | # along with cdist. If not, see <http://www.gnu.org/licenses/>. | ||
|  | # | ||
|  | #  | ||
|  | # For each created object | ||
|  | # run the manifest of the type (with object id), | ||
|  | # try to merge back newly created objects (otherwise fail), | ||
|  | # mark the object as being run | ||
|  | # and iterate until all objects are marked being run. | ||
|  | # | ||
|  | 
 | ||
|  | . cdist-config | ||
|  | 
 | ||
|  | if [ $# -ne 2 ]; then | ||
|  |    __cdist_usage "<outdir> <manifest>" | ||
|  | fi | ||
|  | 
 | ||
|  | set -eu | ||
|  | 
 | ||
|  | __cdist_output_dir="$1"; shift | ||
|  | __cdist_manifest="$1"; shift | ||
|  | 
 | ||
|  | __cdist_object_ran_all=0 | ||
|  | 
 | ||
|  | while [ "$__cdist_object_ran_all" = 0 ]; do | ||
|  | 
 | ||
|  | done | ||
|  | 
 | ||
|  | # Ensure binaries exist and are up-to-date | ||
|  | cdist-build-bin | ||
|  | 
 | ||
|  | # prepend our path, so all cdist tools come before other tools | ||
|  | PATH="${__cdist_cache_bin}:$PATH" | ||
|  | 
 | ||
|  | # Force -x, so the user is aware the file is executed | ||
|  | if [ ! -x "${__cdist_manifest_init}" ]; then | ||
|  |    __cdist_exit_err "${__cdist_manifest_init} needs to be executable." | ||
|  | fi | ||
|  | 
 | ||
|  | mkdir -p "${__cdist_output_dir}" | ||
|  | "${__cdist_manifest}" |