Now that breezy’s out, as you can see from my previous post, I’ve gone and upgraded all my Ubuntu boxes. Any machines with builtin wifi, I plopped NetworkManager on. However, Adam pointed out a problem with NM in breezy — if you’re running a local DNS on your LAN, you couldn’t resolve your hosts. Of course, this is a MAJOR dealbreaker for me, as I run a local DNS at home, and we have one at work. NM failed to resolve hosts for me in either location. Bad juju.
So I started poking around, and found out that NM has a new dependency over the old warty packages: BIND. Yep, they run a caching nameserver on your machine so updating DNS is faster/easier/whatever, rather than updating resolv.conf and waiting for current DNS lookups to fail. (Background links: Dan Williams explaining NM & Bind, and how it’s OMG awesome, Some random guy explaining why this is a bad idea, and Alan Cox siding with Joe Q. Random about how BIND is the wrong answer. Also refer to these FUN RedHat bugs on NM: Bug 155422, Bug 165588.) On top of that, I would sporadically GET DNS lookups to work, but then they’d fail again. And ever after they worked, most apps would fail to resolve the addresses. No clue why.
However, I did discover that it’s possible to build NM without BIND support. So I’ve done that… I’ve built an NM package without BIND support, and I’ve removed bind9 from the dependency list. So, if you’re interested, get the package here: Rebuilt NetworkManager without BIND. I just dpkg’d it on my box and it went right in… you may need a reboot to get some stuff started correctly – at least, I know dbus needs to be bounced. Oh, and don’t forget to add nm-applet to your GNOME session to actually get it to work. Good luck!