update changes in log file for dependencies based on discussion

remotes/origin/ssh_callback
Nico Schottelius 12 years ago
parent 474d4f7cb0
commit 77e92ceba9
  1. 90
      docs/dev/logs/2012-12-11.dependencies

@ -8,28 +8,88 @@ __git bar
__package git --state present
require="__git/foo" git bar:
require="__git/foo" __git bar:
__git bar
__git foo
__package git --state present
__package git --state present
__git foo
__package git --state present
__git foo <---|
__package git --state present ---|
-> 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
__package_apt abc
__type1 var1
__type2 FIX
__sometype def
__package abc
__package_apt abc
__type1 var2
__type2 FIX
--------------------------------------------------------------------------------
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:
@ -59,14 +119,14 @@ Order:
For __package:
__sometype def
__package abc
__sometype bar
__package foo
__package abc
__package_apt abc
__package foo
__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…
Cancel
Save