This base connection object will be used to simplify the API in various
places, reduce libvirt API calls, and better share code between virtinst
and virt-manager. For now it just centralizes connection opening.
This also exposed various places where our handling for older libvirt
was busted, so raise our minimum host version to 0.6.0, the first
version that supports threaded client requests.
When there are multiple usb devices with same vendor/product
in the host device list, the bus/addr is going to be used when
attaching one of usb devices.
Currently is_dup flag is only useful to VirtualHostDeviceUSB.
I put get_nodedevs_number() in connection.py, so the startup
hooks can use it.
UPDATE_CPU flag exists after v0.8.0, so libvirt that
supports HOST_MODEL should support UPDATE_CPU,
the earliest version we are going to check is v0.9.10.
This unfortunately has a decent amount of fallout: add a wrapper class
in config.py that reduces much of the churn.
Another big piece is that gsettings can't accept arbitrary paths like
gconf would, everything needs to be described in the schema.
Also do a bunch more RPM spec modernizing
And drop a whole bunch of legacy dbus fallback stuff. Now that we
are bumping the host dependencies to very recent gtk, none of the
back compat should matter.
Despite being a known quantity, autotools is so overkill for our needs,
so let's drop it and replace it with a much simpler and easy to customize
system.