- the problem is when a .dep file contains pack-A pack-B pack-A. If pack-A
and pack-B have some dep in common, say pack-C, that dep is erased from
pack-B, with the idea that it will be built as a dep of pack-A. But when
the program encounters the second pack-A, it removes the first one, so that
pack-C is built before the second pack-A, but after pack-B. Sorting was
a good workaround, but removing the last line instead of the first is
much better.
- Otherwise, add Xfce and Lxde to the list of packages whose preceding
sibling is a required dep.
When the .dep file is scanned during the tree building, it outputs dependencies
in the file order, while when the tree is scanned later, dependencies are
output in alphabetical order. This may eventually lead to a wrong order
at the end. To be sure that both output are the same, just sort
the .dep file before scanning it.