Opened 3 years ago
Last modified 3 years ago
#1730 accepted enhancement
Improve the dependency system — at Version 5
Reported by: | Pierre Labastie | Owned by: | Pierre Labastie |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | ablfs | Version: | GIT |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
Currently, the dependencies are only installed if either:
- (i) they are not already installed
- (ii) their version is higher than the installed version
If a dependency is installed, its dependencies are not considered.
But it may happen that a dependency (depB) of a dependency (depA) is in case (i) or (ii) (most likely), but not depA. In this case, depB is not considered, although it might happen that it is needed for the requested package.
So the dependency system should be changed to always compute the full dependency chain, and another function should be created to remove packages not in case (i) or (ii) from the list of generated dependencies.
Change History (5)
comment:1 by , 3 years ago
Owner: | changed from | to
---|---|
Priority: | highest → normal |
Status: | new → accepted |
comment:2 by , 3 years ago
Component: | Docs → ablfs |
---|---|
Severity: | blocker → normal |
comment:3 by , 3 years ago
comment:4 by , 3 years ago
Related commits: 5132b937, 1fc36f56, a690d42f, 5e1d9dd5, a6fbc653, b8e5cad4, and 7ae97740. At this point, it is working, but suboptimal: the dependency graph generation and pruning to a tree is done on the full dependency graph, which may involve hundreds of packages, when at the end, only one needs to be built... Packages which do not need to be rebuilt should be removed when building the dependency graph.
comment:5 by , 3 years ago
Description: | modified (diff) |
---|
We need a small .xsl to retrieve the versions from packages.xml, then compute whether the installed one is lower than the available one (if it exists). It may be easier to use sort -V than to do it in xslt language!