On Fri, 2020-09-04 at 11:50 +0200, Michal Prívozník wrote: > On 9/4/20 10:33 AM, Andrea Bolognani wrote: > > I should have pushed the branch to GitLab first: > > > > https://gitlab.com/abologna/libvirt/-/pipelines/185421025 > > > > We might be able to adopt a more nuanced approach, where we use > > ws_version.h where available and fall back to config.h where it's the > > only option, but I'm not quite sure how to implement that in Meson > > and can't spare the time to learn right now. > > > > Are either you or Michal interested in giving it a try? > > I had this patched marked for review but did not get to it yesterday, sorry. No need to apologise :) > I understand your reasoning and agree that the current code looks bad. > But this is just the way it used to be when you wanted to built plugins > outside of wireshark. I had a long discussion with wireshark devels when > our plugin was being written. Part of them did not want other projects > to build plugins from outside at all (which didn't really work for us > because our RPC was changing a lot back then and we would have to wait > full release cycle of wireshark to dissect new procedures), and part was > at least willing to merge my patches that made our code less horrible. > > And truth to be told, I did not really watch the discussion on wireshark > end since and with your patch it looks they moved towards making it > easier for other to build plugins out of wireshark's source. > > End of history class. > > The patch looks good. ws_version.h was introduced with 2.9.0 release > which is 1.5 years old. Given that the dissector is aimed mostly on us, > developers to help us debug RPC issues, I think we can safely bump the > minimal wireshark version required (currently 2.4.0 which is 3 years old). That sounds reasonable in theory, but if you look at https://gitlab.com/abologna/libvirt/-/pipelines/185421025 you'll see that even platforms that ship pretty recent Wireshark[1] don't include ws_version.h among the headers. Not building the dissector on those non-obsolete platforms seems excessively harsh, so I think an approach similar to the one I described above is still necessary. And at that point, you might as well not bump the minimum required version and keep building the dissector on the current list of platforms... [1] Debian sid has 3.2.6 and Ubuntu 20.04 has 3.2.3 -- Andrea Bolognani / Red Hat / Virtualization