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
Any idea why they are not installing the file? Because while current
solution is hacky, intentionally removing a header file that a package
wants installed is way worse.
Michal