update changes in log file for dependencies based on discussion
This commit is contained in:
		
					parent
					
						
							
								474d4f7cb0
							
						
					
				
			
			
				commit
				
					
						77e92ceba9
					
				
			
		
					 1 changed files with 75 additions and 15 deletions
				
			
		| 
						 | 
					@ -8,28 +8,88 @@ __git bar
 | 
				
			||||||
    __package git --state present
 | 
					    __package git --state present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require="__git/foo" git bar:
 | 
					require="__git/foo" __git bar:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    __git bar
 | 
					    __git bar
 | 
				
			||||||
        __git foo
 | 
					        __git foo
 | 
				
			||||||
            __package git --state present
 | 
					            __package git --state present
 | 
				
			||||||
        __package git --state present
 | 
					        __package git --state present
 | 
				
			||||||
            __git foo
 | 
					            __git foo                        <---|
 | 
				
			||||||
                __package git --state present
 | 
					                __package git --state present ---|
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    -> detects circular dependency
 | 
					    -> detects circular dependency
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require="__apt_repository/somewhere-where-you-can-find-package-git __git/foo" __git bar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __git bar
 | 
				
			||||||
 | 
					        __apt_repository somewhere-where-you-can-find-package-git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        __git foo
 | 
				
			||||||
 | 
					            __package git --state present
 | 
				
			||||||
 | 
					                __package_apt git depends nachher auf __apt_repository
 | 
				
			||||||
 | 
					        __package git --state present
 | 
				
			||||||
 | 
					            __git foo                        <---|
 | 
				
			||||||
 | 
					                __package git --state present ---|
 | 
				
			||||||
 | 
					            __apt_repository somewhere-where-you-can-find-package-git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					possible solutions:
 | 
				
			||||||
 | 
					    - __package git does not depend on __git foo (clear dependency)
 | 
				
			||||||
 | 
					        - because it DOES NOT depend on it!
 | 
				
			||||||
 | 
					            - but we don't know whether this is always true :-/
 | 
				
			||||||
 | 
					    - multiple instances of __package git exist, with
 | 
				
			||||||
 | 
					        - different required BY
 | 
				
			||||||
 | 
					        - different requirements
 | 
				
			||||||
 | 
					    - define non inheritent dependencies (?)
 | 
				
			||||||
 | 
					        - because __git bar really depends only on __git foo
 | 
				
			||||||
 | 
					        - proposal: introduce require_non_recursive and require_recursive (previously: require)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__package foo
 | 
				
			||||||
 | 
					    __package_apt foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__package bar
 | 
				
			||||||
 | 
					    __package_apt bar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require="__package/foo" __package bar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __package bar
 | 
				
			||||||
 | 
					        __package foo
 | 
				
			||||||
 | 
					            __package_apt foo
 | 
				
			||||||
 | 
					        __package_apt bar
 | 
				
			||||||
 | 
					            __package foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__package abc
 | 
					__type1 var1
 | 
				
			||||||
    __package_apt abc
 | 
					    __type2 FIX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__sometype def
 | 
					__type1 var2
 | 
				
			||||||
    __package abc
 | 
					    __type2 FIX
 | 
				
			||||||
        __package_apt abc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					facts:
 | 
				
			||||||
 | 
					    - use is different from require="", as use makes USED depend on parent deps
 | 
				
			||||||
 | 
					    - use = called/defined in the manifest of a type
 | 
				
			||||||
 | 
					    - it is currently not recorded, where an object gained its requirements and autorequirements
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					requirements:
 | 
				
			||||||
 | 
					    - a type should be a black box: 
 | 
				
			||||||
 | 
					        I can require an object and it is ensured,
 | 
				
			||||||
 | 
					        everything it needs is executed before me.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					possible implementations
 | 
				
			||||||
 | 
					- requiring it should include everything it USES
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					solutions:
 | 
				
			||||||
 | 
					    __type1 DEPENDS but does not use __type2 FIX
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Change proposal:
 | 
					Change proposal:
 | 
				
			||||||
| 
						 | 
					@ -59,14 +119,14 @@ Order:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For __package:
 | 
					For __package:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__sometype def
 | 
					__sometype bar
 | 
				
			||||||
    __package abc
 | 
					    __package foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__package abc
 | 
					__package foo
 | 
				
			||||||
    __package_apt abc
 | 
					    __package_apt foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1) __package_apt/abc (leaf node)
 | 
					1) __package_apt/foo (leaf node)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2) __package/abc (new leaf node)
 | 
					2) __package/foo (new leaf node)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
3) __sometype/def (new leaf node)
 | 
					3) __sometype/bar (new leaf node)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue