2010-11-22 14:28:34 +02:00
|
|
|
#!/bin/sh
|
|
|
|
. ./Common
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
#
|
|
|
|
# See the comment at the end of "resolve" in prereq.c for details.
|
|
|
|
#
|
|
|
|
|
|
|
|
qpkg_fail "BUG: we don't clean up QPKG_ADDING, yielding false errors" \
|
|
|
|
prereq A <<EOF
|
|
|
|
Package: D
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Conflicts: B (= 1)
|
|
|
|
Filename: D_0
|
|
|
|
|
|
|
|
Package: C
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: D
|
|
|
|
Filename: C_0
|
|
|
|
|
|
|
|
Package: B
|
|
|
|
Version: 1
|
|
|
|
Architecture: test
|
|
|
|
Depends: C
|
|
|
|
Filename: B_1
|
|
|
|
|
|
|
|
Package: B
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: C
|
|
|
|
Filename: B_0
|
|
|
|
|
|
|
|
Package: A
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: B
|
|
|
|
Filename: A_0
|
|
|
|
EOF
|
|
|
|
expect <<EOF
|
|
|
|
package C version 0 has cyclic dependency
|
|
|
|
EOF
|
2010-11-23 02:49:50 +02:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
#
|
|
|
|
# We also fail (badly) to restore QPKG_ADDING after we moved on:
|
|
|
|
#
|
|
|
|
# A -> B, D
|
|
|
|
# B -> C_1
|
|
|
|
# C_0 -> B
|
|
|
|
# D conflicts with C_1
|
|
|
|
#
|
|
|
|
# "resolve" recurses as follows:
|
|
|
|
#
|
|
|
|
# A_0 -> B
|
|
|
|
# B_0|D -> C
|
|
|
|
# C_1|D -> next (we clear B here !)
|
|
|
|
# D_0 -> done
|
|
|
|
# C_0|D -> next (we try to clear B again)
|
|
|
|
#
|
|
|
|
|
|
|
|
qpkg_fail "BUG: we don't restore QPKG_ADDING, missing errors" \
|
|
|
|
prereq A <<EOF
|
|
|
|
Package: D
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Filename: D
|
|
|
|
|
|
|
|
Package: C
|
|
|
|
Version: 1
|
|
|
|
Architecture: test
|
|
|
|
Filename: C_1
|
|
|
|
|
|
|
|
Package: C
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: B
|
|
|
|
Filename: C_0
|
|
|
|
|
|
|
|
Package: B
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: C
|
|
|
|
Filename: B
|
|
|
|
|
|
|
|
Package: A
|
|
|
|
Version: 0
|
|
|
|
Architecture: test
|
|
|
|
Depends: B, D
|
|
|
|
Filename: A
|
|
|
|
EOF
|
|
|
|
expect <<EOF
|
|
|
|
qpkg: prereq.c:185: resolve: Assertion \`top->pkg->flags & QPKG_ADDING' failed.
|
|
|
|
Aborted
|
|
|
|
EOF
|