On 02/27/2013 11:32 PM, TJ wrote:
One thing I'm not yet sure how to deal with is the difference
between build and deployment systems when
one or the other doesn't have access to 'dhcp-helper', since as I understand
it, some distributions do not
include it in their package archives (it is available in Debian/Ubuntu).
Just copy what we do for other helper executables, such as dnsmasq.
If the user pre-defines $DNSMASQ as part of calling configure (that is,
./configure DNSMASQ=/alternate/dnsmasq), that pre-configuration is used
regardless of whether it exists at the time. Otherwise, if the
executable is present at configure time, then that path is hardcoded
into that build. If neither pre-configured nor path search finds
anything, then the basename is used, for a runtime PATH lookup.
Distro packagers are smart enough to do build requirements and either
prepulate the variable or pre-install the packages in their build
environment, so that the distro build of libvirt will always have the
desired absolute path to the distro executable. Someone building
libvirt from a tarball has total control over what to use, and the
default of a PATH lookup during configure with a fallback to a PATH
lookup at runtime is generally the right thing (except for distros, most
people don't build on one machine and install on another).
So your patch already did the right thing, by copying and pasting what
existing examples we already had for DNSMASQ.
That then leaves the issue of different DHCP relay agents requiring
different command-line parameters. I was looking at the discussion about the
<option> element and wondering if that could have a
dual use here, especially in the name= variety, e.g:
We have to deal with different command line syntax in the case of nc
(netcat); but that's normally a problem we don't have to worry about.
If someone actually hits the problem, they can provide patches at that
time. For now, assuming that you are targetting the one and only
dhcp-relay program with known syntax is sufficient.
In other words, you're worrying too much.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org