update changes in log file for dependencies based on discussion

This commit is contained in:
Nico Schottelius 2013-01-16 13:13:45 +01:00
parent 474d4f7cb0
commit 77e92ceba9

View file

@ -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)