Re: [RFC] tools lib traceevent: How to do library versioning being in the Linux kernel source?

From: Arnaldo Carvalho de Melo
Date: Mon Jan 06 2020 - 14:47:18 EST


Em Mon, Jan 06, 2020 at 11:36:15AM -0500, Steven Rostedt escreveu:
> On Mon, 6 Jan 2020 13:26:23 -0300
> Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote:

> > So, we have:

> > https://www.kernel.org/pub/linux/kernel/tools/perf/

> > trying to mimic the kernel sources tree structure, so perhaps we could
> > have:

> > https://www.kernel.org/pub/linux/kernel/tools/lib/{perf,traceevent}/

> > To continue that directory tree mirror?

> Wouldn't that become a bit of manual work. Unlike perf, the versions
> will not correspond to the Linux kernel versions. They would need to
> follow library versioning.

It doesn't have to correspond, the versions you use there are entirely
up to libtraceevent developers, no? I.e. when you decide to cut some
version, tag it in the linux kernel git repo, create a tarball,
something like:

make help | grep perf

but using whatever versioning you decide to use, which would be the same
regardless of where you develop it, and make it available via
https://www.kernel.org/pub/linux/kernel/tools/lib/traceevent/

> It would at a minimum require new scripting to get this right.

Sure, regardless of where you do source code control you will need to
tag, create a tarball, signatures (which kup helps with) for kernel.org,
for instance I use:

kup put perf-${VER}.tar.xz perf-${VER}.tar.sign /pub/linux/kernel/tools/perf/v${VER}/perf-${VER}.tar.xz

What is in ${VER} is entirely up to me, its just that perf has a very
active development process with lots of patches each release and we
try to stop getting features when the kernel closes the window, have a
-next for new features, etc, so we end up with perf-ver == kernel-ver,
but that never was a requirement, its just convenient and we got used to
it.

- Arnaldo