Den ons 6 aug. 2025 kl 10:16 skrev Branko Čibej <br...@apache.org>:

> On 6. 8. 25 09:44, Daniel Sahlberg wrote:
> > Hi,
> >
> > Does anyone have notes on how the ABI Timeline on the website[1] was
> > created?
>
> Never been there.
>
> > I'm trying to recreate it and after fighting with different distributions
> > trying to build all historic versions, I believe I've managed to do it
> > (using Debian 8 to get an old-enough Python), but I'm not able to
> generate
> > a webpage.
> >
> > The goal of the above was to generate a new list of public APIs that has
> > changed - in particular to get an idea of the new APIs in trunk
> (=>upcoming
> > 1.5).
>
>
> Looking at the ABI tracker, I see some issues: first of all, the SONAME
> is wrong pretty much everywhere. It combines the actual SONAME and the
> major version. It would be better to have two columns, the library base
> name (e.g., serf-0, serf-1, serf-2) and the SONAME (0, 1, 2), which is
> the actual compatibility version of the shared lib. For example, in
> 'libserf-1.1.dylib', the SONAME is the '.1.' part not the '-1.1.' part.
>
> It is also not true that we've removed a public API in trunk, I'm not
> sure where that came from.
> This is possibly an artefact of the comparison, the header diff shows an
> unnamed public struct "removed" and replaced by "struct serf_databuf_t",
> but it's the same structure.
>
> Another problem is that in some cases, whatever generated this also
> compared serf_private.h and then reported a 90.3% backward compatibility
> ... serf_private.h is not a public header and has no effect on the ABI.
>

Good catches, thanks. I'll have a look.

My initial goal is to regenerate the file Andreas previously to verify I'm
doing it right. Then incrementally improve it, taking these points into
consideration. Finally adding 1.3.10 and current trunk.


>
>
> > Second question is to generate a public API documentation, similar to
> > Subversion's. It seems Jim Jagielski asked about this a few years
> ago[2]. I
> > have thought about borrowing Subversion's doxygen config and just try to
> > generate something based on this to add to the website. Thoughts?
>
>
> We can use Subversion's or APR's config, yes. The Doxygen markup isn't
> complete, but should be good enough, I suppose. I suggest generating
> only the latest version of each supported branch, so that would be 1.3.x
> and maybe trunk for the curious.
>

Better than current state I'd say. I'll look at what is missing and try to
add these.

Cheers,
Daniel


>
>
> >
> > Cheers,
> > Daniel
> >
> > [1]https://serf.apache.org/abi/timeline/serf/index.html
> > [2]https://lists.apache.org/thread/v58msct774q2bc6p7l3qnocgtnp7qf7n
> >
>

Reply via email to