seznam / fastrpc

FastRPC library
http://seznam.github.io/frpc
GNU Lesser General Public License v2.1
46 stars 46 forks source link

add response http headers to log callback #97

Closed burlog closed 2 years ago

burlog commented 2 years ago

This changes public structs in LogEvent_t, is raising version in VERSION_INFO enough? This does not prevent anyone from installing older version of libfastrpc8 debian package than is needed.

CURRENT[:REVISION[:AGE]]

  2. Programs using the previous version may use the new version as
     drop-in replacement, but programs using the new version may use
     APIs not present in the previous one.  In other words, a program
     linking against the new version may fail with "unresolved symbols"
     if linking against the old version at runtime: set REVISION to 0,
     bump CURRENT and AGE.

I follow this guide from info libtool ^. Do you think that another bump is needed?

pepp-cz commented 2 years ago

I follow this guide from info libtool ^. Do you think that another bump is needed?

I was thinking about the situation when someone compiles program against new libfastrpc, builds debian package and installs it. It may not update libfastrpc and the package installs fine. The program then may either 1) refuse to run because of some unresolved symbols, or 2) runs and accesses fields that are not present because the runtime-linked libfastrps is older.

So I am talking more about debian packaging, dpkg-shlibdeps utility and symbol files. https://manpages.debian.org/testing/dpkg-dev/dpkg-shlibdeps.1.en.html

pepp-cz commented 2 years ago

And more info on shlibs file: https://www.systutorials.com/docs/linux/man/5-deb-shlibs/

burlog commented 2 years ago

The debian package contains the shlibs file yet.

debian:~$ cat /var/lib/dpkg/info/libfastrpc8.shlibs 
libfastrpc 13 libfastrpc8 (>= 8.1.10)

Each package build generates new one with currently building packge version. So I think that will prevent the issue you mentioned.