I'm resubmitting my work of migrating to iproute2 from net-tools at Tom's request. It's pretty much the same, but with the feedback from Dan, I've added some extremely simple deprecation logic to yell at the user when he or she is still using the net-tools variables.
The new logic uses some fairly simple (and generic) declarations: interface, address, netmask, and gateway. If interface is undefined, we fire off the deprecation warning, as this is the _only_ variable required to establish a connection via iproute2. If address is undefined, we skip reading netmask and gateway, and assume usage of dhcp. If address _is_ defined, we assert the need for gateway and netmask.
I've opted to make this warning fairly common, firing it both on bringing up, and bringing down interfaces, as I think this needs to be made very clear, given the severity of the change.
Along with this change, we would need to do a little bit of juggling with coreutils and yp-tools in order to make net-tools truly optional:
- coreutils is currently built without hostname. enable this, removing it from net-tools. - yp-tools is currently in extra. we would need to bring this into core in order to support setting a domainname, and remove the symlinks to hostname from the net-tools package.
As always, comments, criticisms, and tomatoes are welcome.