forked from ungleich-public/cdist
		
	
		
			
	
	
		
			72 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|  | 2.1.0 behaviour: | ||
|  | 
 | ||
|  | 
 | ||
|  | __git foo | ||
|  |     __package git --state present | ||
|  | 
 | ||
|  | __git bar | ||
|  |     __package git --state present | ||
|  | 
 | ||
|  | 
 | ||
|  | require="__git/foo" git bar: | ||
|  | 
 | ||
|  |     __git bar | ||
|  |         __git foo | ||
|  |             __package git --state present | ||
|  |         __package git --state present | ||
|  |             __git foo | ||
|  |                 __package git --state present | ||
|  | 
 | ||
|  |     -> detects circular dependency | ||
|  | 
 | ||
|  | 
 | ||
|  | -------------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | __package abc | ||
|  |     __package_apt abc | ||
|  | 
 | ||
|  | __sometype def | ||
|  |     __package abc | ||
|  |         __package_apt abc | ||
|  | 
 | ||
|  | 
 | ||
|  | -------------------------------------------------------------------------------- | ||
|  | 
 | ||
|  | Change proposal: | ||
|  | 
 | ||
|  | Each object only depends on the objects it directly requires, tree build to | ||
|  | ensure correct running behaviour: | ||
|  | 
 | ||
|  | 
 | ||
|  | __git bar | ||
|  |     __git foo | ||
|  |     __package git --state present | ||
|  | 
 | ||
|  | __git foo | ||
|  |     __package git --state present | ||
|  | 
 | ||
|  | Order: | ||
|  | 
 | ||
|  | 1) | ||
|  |     __package/git (leaf node!) | ||
|  | 
 | ||
|  | 2) | ||
|  |     __git/foo (new leaf node!) | ||
|  | 
 | ||
|  | 3) | ||
|  |     __git/bar (new leaf node!) | ||
|  | 
 | ||
|  | 
 | ||
|  | For __package: | ||
|  | 
 | ||
|  | __sometype def | ||
|  |     __package abc | ||
|  | 
 | ||
|  | __package abc | ||
|  |     __package_apt abc | ||
|  | 
 | ||
|  | 1) __package_apt/abc (leaf node) | ||
|  | 
 | ||
|  | 2) __package/abc (new leaf node) | ||
|  | 
 | ||
|  | 3) __sometype/def (new leaf node) |