Estimated read time: 1 minutes
Yesterday I finally had a look at how chkdep removes duplicated dependencies. The whole idea behind the removal is that in case ldd says a package depends on libfoo and libbar + we know from pacman that libfoo already depends on libbar, then there is no point adding libbar to depends in most cases.
The old code did the followings: it searched the depends of the packages found by ldd and in case a depend was found in the depend list of an other depend then it removed the depend from the list. The problem with this is that in case foo depends on bar depends baz and ldd finds foo and baz only, then baz won't be removed.
The new code does the same but depends are detected recursively to avoid the problem mentioned above.
As a result, makepkg -a output should be less noisy. ;)