[libvirt] [PATCH 3/3] wireshark: Fix distcheck
Cole Robinson
crobinso at redhat.com
Mon Apr 25 12:18:09 UTC 2016
On 04/25/2016 03:11 AM, Michal Privoznik wrote:
> Our distcheck is broken. Well, it works but only by pure chance.
> When wireshark plugin is enabled, we try to query which path
> should the plugin be installed into. Firstly, we try to ask
> pkg-config as some releases of wireshark already sets
> corresponding variable in their pkg-config files. However, if we
> obtained no value from there we try to construct the path on our
> own. Based on our observations it usually is:
> $libdir/wireshark/plugins/$version/.
> Now, the problem is in the way we are deciding whether we have
> obtained the plugin directory from pkg-config or not. Simply
> said, we are checking wrong variable. The variable we are
> checking has never been set, thus in our test is empty and
> therefore we will always construct the plugin dir path on our
> own, regardless of its presence in the pkg-config file.
> To make things worse, after fixing this problem, VPATH build was
> broken as it now tried to install plugin into correct directory.
> Yes, this is problem, because --prefix was not honoured and
> everything but the plugin was installed into given prefix. I've
> managed to resolve this issue by replacing plugin dir prefix with
> our own. So when doing regular installation (our prefix ==
> wireshark prefix), nothing changes. When doing VPATH build &
> installation plugin is installed into correctly prefixed dir.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> m4/virt-wireshark.m4 | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/m4/virt-wireshark.m4 b/m4/virt-wireshark.m4
> index ac2e44c..d8cb7c8 100644
> --- a/m4/virt-wireshark.m4
> +++ b/m4/virt-wireshark.m4
> @@ -29,10 +29,16 @@ AC_DEFUN([LIBVIRT_CHECK_WIRESHARK],[
> if test "x$with_wireshark_dissector" != "xno" ; then
> if test "x$with_ws_plugindir" = "xcheck" ; then
> plugindir="$($PKG_CONFIG --variable plugindir wireshark)"
> - if test "x$ws_plugindir" = "x" ; then
> + if test "x$plugindir" = "x" ; then
> dnl On some systems the plugindir variable may not be stored within pkg config.
> dnl Fall back to older style of constructing the plugin dir path.
> plugindir="$libdir/wireshark/plugins/$($PKG_CONFIG --modversion wireshark)"
> + else
> + ws_prefix="$($PKG_CONFIG --variable prefix wireshark)"
> + if test "x$ws_prefix" = "x" ; then
> + ws_prefix="/usr";
> + fi
> + plugindir="${prefix}${plugindir#ws_prefix}"
> fi
> elif test "x$with_ws_plugindir" = "xno" || test "x$with_ws_plugindir" = "xyes"; then
> AC_MSG_ERROR([ws-plugindir must be used only with valid path])
>
Sounds reasonable to me, ACK
- Cole
More information about the libvir-list
mailing list