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

Re: freeze exception qpdf versioned symbols?



Jonathan Nieder <jrnieder@gmail.com> wrote:

> Hi,
>
> Jay Berkenbilt wrote:
>
>> Okay, I've attached two files here.  The first is a copy of
>> version-symbols.patch with the real changes, so this excludes the
>> changes to the regenerated configure file.  The second file is a source
>> debdiff.
>
> I am not on the release team, so please take anything I say with a
> grain of salt.

The release team decided that they weren't going to accept this, so this
discussion is now academic.  However, you made some interesting points
that I thought were worth responding to.


> [...]
>> --- qpdf-2.3.1/debian/changelog	2012-05-19 09:21:52.000000000 -0400
>> +++ qpdf-2.3.1/debian/changelog	2012-07-18 10:20:10.000000000 -0400
>> @@ -1,3 +1,9 @@
>> +qpdf (2.3.1-5) unstable; urgency=low
>> +
>> +  * Enable versioned symbols.
>
> Are the symbol versions used shared with upstream, or is this a
> Debian-specific thing?
>
> *checks*
>
> Looks like these are Debian-private but the patch is based on 92c94e7d
> (Add symbol versioning, 2012-06-20).  Ok.

I am upstream for this.  I enabled versioned symbols for future releases
of qpdf (I will soon be releasing 3.0.0).  This was a debian-specific
backport to 2.3.1 for the old ABI.  qpdf does appear in other
distributions that I am not involved in, and they wouldn't have
versioned symbols.  So actually this is a pretty decent argument for not
doing it anyway.

>> ++# Check if LD supports linker scripts, and define conditional
>> ++# HAVE_LD_VERSION_SCRIPT if so.  This functionality is currently
>> ++# constrained to compilers using GNU ld on ELF systems or systems
>> ++# which provide an adequate emulation thereof.
>> ++AC_ARG_ENABLE([ld-version-script],
>> ++  AS_HELP_STRING([--enable-ld-version-script],
>> ++    [enable linker version script (default is disabled)]),
>
> Is the default really --disable?

No, the default is really enable.  I copied this code from something
that had a default of disable, and while I changed the default, I didn't
change the help message.  Thanks for catching it.  I fixed it upstream
now.

>> +@@ -0,0 +1,4 @@
>> ++LIBQPDF_3 {
>> ++  global:
>> ++    *;
>> ++};
>
> It would be more comforting to have a list of symbols intended for
> export here, so unintentional ABI changes could be caught more easily.
> Do I understand that that would be hard to make because this is a C++
> library?

It would be hard but not impossible.  qpdf also works on Windows, and
for that, I already have every public API marked, but I don't think the
value for the amount of effort is good enough.

> Thanks and hope that helps,

Yes, your comments were helpful and at least resulted in fixing the
configure help message.  Thanks!

-- 
Jay Berkenbilt <qjb@debian.org>


Reply to: