#!/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 ############################################################################### # # 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