Deborphan may need to be run iteratively (page 248)More...
Reported on: 2006-07-30
In chapter 5. The Debian package management system on page 248:
Deborphaner is not iterative (or recursive, depending on how you look at it). In one run it may suggest to remove a set of packages, but it fails to identify packages that would be obsolete if the user removed the packages suggested in the first run.
Philippe Teuwen suggests the following loop:
while [ $(deborphan | wc -l) -ne 0 ]; do
echo "Purging $(deborphan | wc -l) packets:";
deborphan | xargs dpkg --purge;