pci-utils.tcz and usb-utils.tcz are satisfied by udevadm.tcz so the result of the script is correct in terms of the definition of recursion. Brutally efficient, but technically correct. If there is a technical flaw in the script I definitely want to know about it as I don't want to post a flawed utility. What you are talking about is a matter of preference as to the number of redundancies in the dep file. Personally, I prefer none as I make no distinction whether a dependency is an app or lib. .
You are free to include redundancies in your dep files. But as I understand it, not including redundancies is not incorrect.
Jason,
script is really great and in most cases gives the proper result. What my 6th sense is saying that there will be or there are deps removed unnecesarily due to multiple dependencies which are not causing unresolved dep on the top.
Script is like machine online translation. Gives a funny result, but very useful if you do not speak target language or can be used as a basis for translation and enhance manually.
To be pragmatic, my proposal is to convert the whole repo and correct bugs on the fly. It is much faster and efficient than to wait for extension builders - including myself - to submit corrected lists. Of course, everybody is free to send dep updates later on. In such case no need to indicate it .info file as all extensions will be recursive. The only extra work is to exclude dep file already made recursive.
BTW I like the way how you are converting repo with scripts when big changes occure, like single type, squash, etc