Always run dpkg --dry-run -i before running dpkg -i!
Apparently the dickhead maintainer of ndiswrapper-source has just gone
into his shell and refuses to discuss this problem.
Since his package (and theoretically any package which generates
packages) may be uninstallable because there is no way to say "give me
the source and everything I need to be able to use the output" via
Recommends, or a foo-source-end-user metapackage which depends on
foo-source and foo-utils, we are left in the situation of not being able
to trust that -source packages won't hork our system.
(If the package is a network card driver source package our system may
then be unfixable because now our network card is hosed).
Given that -source packages do not adequately specify the dependencies
to be able to use the output, one must NEVER run "dpkg -i" a given deb
without first running "dpkg --dry-run -i" on the same debs and verifying
that it returns a zero exit code.
I don't know why this isn't the default behavior of dpkg -i, checking
that at least all dependencies will be met before uninstalling old
packages and leaving the system broken.