On Thu, 2 Jan 2020 12:20:04 -0500 Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > First, I hope everyone had a Happy New Year! Hope you to have a Happy New Year too! > > Next, Sudip has been working to get the libtraceevent library into > Debian. As this has been happening, I've been working at how to get all > the projects that use this, to use the library installed on the system > if it does exist. I'm hoping that once it's in Debian, the other > distros will follow suit. > > Currently, the home of libtraceevent lives in the Linux kernel source > tree under tools/lib/traceevent. This was because perf uses it to parse > the events, and it seemed logical (at the time) to use this location as > the main source tree for the distributions. > > The problem I'm now having is that I'm looking at fixing and updating > some of the code in this library, and since library versioning is > critical for applications that depend on it, we need to have a way to > update the versions, and this does not correspond with the Linux > versions. > > For example, we currently have: > > libtraceevent.so.1.1.0 > > If I make some bug fixes, I probably want to change it to: > > libtraceevent.so.1.1.1 or libtraceevent.so.1.2.0 > > But if I change the API, which I plan on doing soon, I would probably > need to update the major version. > > libtraceevent.so.2.0.0 > > The thing is, we shouldn't be making these changes for every update > that we send to the main kernel. I would like to have a minimum of tags > to state what the version should be, and perhaps even branches for > working on a development version. > > This is a problem with living in the Linux source tree as tags and > branches in Linus's tree are for only the Linux kernel source itself. > This may work fine for perf, as it's not a library and there's not > tools depending on the version of it. But it is a problem when it comes > to shared libraries. > > Should we move libtraceevent into a stand alone git repo (on > kernel.org), that can have tags and branches specifically for it? We > can keep a copy in the Linux source tree for perf to use till it > becomes something that is reliably in all distributions. It's not like > perf doesn't depend on other libraries today anyway. +1. It sounds reasonable to move the main part of libtraceevent out of kernel tree. BTW, the plugins seems depending on the kernel. Maybe we can provide it under /lib/modules/<kversion>/shared/libtraceevent/plugins/ ? :) Thank you, -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>