forked from ungleich-public/cdist
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,26 +8,86 @@ __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
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
@ -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…
Reference in a new issue