mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2024-12-21 04:45:30 +02:00
0229051f07
Until now, when considering adding a package, we processed its dependencies after completing the current list of dependencies. E.g., if we had a package A that depended on B and C, B depended on D, and C depended on E, then the sequence would have been A, B, C, ... We now process the dependencies of a package immediately after considering the package, so the sequence above would become A, B, D, C, ... The advantage of the new order is that it becomes easier to follow the dependency tree, which will be beneficial for loop detection and for ordering packages by installation order. - prereq.c (resolve): change prerequisite resolution order such that the dependencies of the package being considered are processed immediately, instead of deferring them until the end of the current dependency list - prereq.c (prereq): we can now pass the list of dependencies directly, without needing a list of lists element - test/resorder: test resolution order
41 lines
476 B
Bash
Executable File
41 lines
476 B
Bash
Executable File
#!/bin/sh
|
|
. ./Common
|
|
|
|
###############################################################################
|
|
|
|
qpkg "resolution order" prereq A <<EOF
|
|
Package: A
|
|
Version: 0
|
|
Architecture: test
|
|
Depends: B, C
|
|
Filename: A
|
|
|
|
Package: B
|
|
Version: 0
|
|
Architecture: test
|
|
Depends: D
|
|
Filename: B
|
|
|
|
Package: C
|
|
Version: 0
|
|
Architecture: test
|
|
Depends: E
|
|
Filename: C
|
|
|
|
Package: D
|
|
Version: 0
|
|
Architecture: test
|
|
Filename: D
|
|
|
|
Package: E
|
|
Version: 0
|
|
Architecture: test
|
|
Filename: E
|
|
EOF
|
|
expect <<EOF
|
|
B
|
|
D
|
|
C
|
|
E
|
|
EOF
|