On Wed, 18 May 2016 15:14:08 +1000, Allan McRae <[email protected]> wrote:
> On 09/05/16 01:08, Ashley Whetter wrote: > > --- > > lib/libalpm/deps.c | 224 > > ++++++++++++++++++++++++--- > > test/pacman/tests/TESTS | 1 + > > test/pacman/tests/remove-dependency-cycle.py | 25 +++ > > 3 files changed, 231 insertions(+), 19 deletions(-) > > create mode 100644 test/pacman/tests/remove-dependency-cycle.py > > > > Have you been given any comments on this yet? I have not looked in the > patch itself as from memory you were discussing this with Andrew. Is > that right? > I've not had any comments as of yet. I did have a brief discussion with Andrew very early on about his suggestion on the flyspray issue. The outcome was that it was too difficult to filter the list of all dependencies, which I started looking towards graph methods instead. > Ihe inclusion of a test case is great. Even better that it passes! > Did you check it did not pass before applying your patch too? > I did check. Took me some time to get it to not fail ;) I need to add a few more test cases before I submit the final version. For example for when two packages are being removed that have the same dependency cycle, when an explicitly installed package exists in a cycle, and when a removal target exists in a cycle. > > Please test your build using "--enable-git-version --enable-debug > --enable-warningflags" > > deps.c:597:5: error: no previous prototype for ‘_alpm_find_cycles’ > [-Werror=missing-prototypes] > int _alpm_find_cycles(alpm_graph_t *v, alpm_list_t **path) > ^~~~~~~~~~~~~~~~~ > deps.c:672:6: error: no previous prototype for ‘_alpm_graph_unvisit_all’ > [-Werror=missing-prototypes] > void _alpm_graph_unvisit_all(alpm_graph_t *v) > ^~~~~~~~~~~~~~~~~~~~~~~ > deps.c:698:5: error: no previous prototype for ‘_can_remove_cycle’ > [-Werror=missing-prototypes] > int _can_remove_cycle(alpm_db_t *db, alpm_pkg_t *cycle_pkg, alpm_list_t > *targs, > ^~~~~~~~~~~~~~~~~ > deps.c:734:5: error: no previous prototype for ‘_alpm_find_removables’ > [-Werror=missing-prototypes] > int _alpm_find_removables(alpm_db_t *db, alpm_graph_t *v, alpm_list_t > **targs, int include_explicit) > ^~~~~~~~~~~~~~~~~~~~~ I will do this for the final version. I may (separately) add this suggestion to HACKING as well. Ashley
