[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#929187: libbpf soversion does not match the package name



On Sun, 2019-05-19 at 14:29 +0100, Ben Hutchings wrote:
> On Sun, 2019-05-19 at 00:34 +0100, Ben Hutchings wrote:
> > Package: src:linux
> > Version: 4.19.37-3
> > Severity: serious
> > 
> > We currently use $(make kernelversion) to generate the soversion,
> > resulting in 3 components of the upstream version (currently
> > 4.19.37),
> > whereas the package name only uses 2 components (currently 4.19).  We
> > really want the latter as we don't expect the ABI to change in a
> > stable update.
> > 
> > There is an additional bug that building perf also rebuilds libbpf.
> > This seems to set some environment variables such that the soversion
> > changes again, duplicating the second component and resulting in
> > 4.19.19.37!
> [...]
> 
> In fact, perf seems to successfully build libbpf.a in its own output
> directory, so it's not at fault.
> 
> However, the default "all" target in the libbpf Makefile somehow loses
> the output directory, so we end up with an in-tree build!  This results
> in object files being present in the linux-source package.
>
> The "install" target doesn't do this, so I think this results in the
> library being built yet again, finally in the right directory.  I'm not
> entirely sure.

Wait, no, we don't actually pass the output directory!

I should document the requirement for out-of-tree builds in
README.source.

Ben.

-- 
Ben Hutchings
If the facts do not conform to your theory, they must be disposed of.


Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: