If using the declared min version of wireshark, 2.4.0, libvirt plugin
fails to build. This min version isn't present in any supported distros
and thus not tested by CI.
We don't support wireshark on RHEL-7 since it has 1.x.x series. The next
oldest version present in supported distros is 2.6.2 on RHEL-8.
Thus we should bump the min version to 2.6.0. This also lets us assume
that the "plugindir" variable exists in pkg-config.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
meson.build | 43 +++++++++++++++++--------------------------
1 file changed, 17 insertions(+), 26 deletions(-)
diff --git a/meson.build b/meson.build
index 816cf97a19..565a5f12e2 100644
--- a/meson.build
+++ b/meson.build
@@ -1403,7 +1403,7 @@ else
win32_link_flags = []
endif
-wireshark_version = '2.4.0'
+wireshark_version = '2.6.0'
wireshark_dep = dependency('wireshark', version: '>=' +
wireshark_version, required: get_option('wireshark_dissector'))
if wireshark_dep.found()
wireshark_plugindir = get_option('wireshark_plugindir')
@@ -1411,31 +1411,22 @@ if wireshark_dep.found()
wireshark_plugindir = wireshark_dep.get_pkgconfig_variable('plugindir')
endif
- # On some systems the plugindir variable may not be stored within pkg config.
- # Fall back to older style of constructing the plugin dir path.
- if wireshark_plugindir == ''
- wireshark_modversion = wireshark_dep.version()
- wireshark_plugindir = '@0@/wireshark/plugins/@1(a)'.format(
- libdir, wireshark_modversion
- )
- else
- wireshark_prefix = wireshark_dep.get_pkgconfig_variable('prefix')
- if wireshark_prefix == ''
- # If wireshark's prefix cannot be retrieved from pkg-config,
- # this is our best bet.
- wireshark_prefix = '/usr'
- endif
- # Replace wireshark's prefix with our own.
- # There is no replace method in meson so we have to workaround it.
- rc = run_command(
- 'python3', '-c',
- 'print("@0@".replace("@1(a)", "@2(a)"))'.format(
- wireshark_plugindir, wireshark_prefix, prefix,
- ),
- check: true,
- )
- wireshark_plugindir = rc.stdout().strip()
- endif
+ wireshark_prefix = wireshark_dep.get_pkgconfig_variable('prefix')
+ if wireshark_prefix == ''
+ # If wireshark's prefix cannot be retrieved from pkg-config,
+ # this is our best bet.
+ wireshark_prefix = '/usr'
+ endif
+ # Replace wireshark's prefix with our own.
+ # There is no replace method in meson so we have to workaround it.
+ rc = run_command(
+ 'python3', '-c',
+ 'print("@0@".replace("@1(a)", "@2(a)"))'.format(
+ wireshark_plugindir, wireshark_prefix, prefix,
+ ),
+ check: true,
+ )
+ wireshark_plugindir = rc.stdout().strip()
# Since wireshark 2.5.0 plugins can't live in top level plugindir but have
# to be under one of ["epan", "wiretap", "codecs"]
subdir. The first one looks okay.
--
2.28.0