Hi Mimi, On Wed, Jul 24, 2019 at 08:28:01PM +0300, Vitaly Chikunov wrote: > Mimi, > > On Wed, Jul 24, 2019 at 08:51:38AM -0400, Mimi Zohar wrote: > > > > In preparing the ima-evm-utils v1.2 release, I noticed that the > > library version was never updated.  It is still "0.0.0".  Should I set > > it to something?  If so, what versioning scheme do you recommend - > > using the libtool current[:revision[:age]], prepending the release > > version on the .so, or suffixing the release version on the .so? > > libtool rules should be followed: > > https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html > > I think you should change 0.0.0 to 1.0.0 just before release. Since we are > changed ABI of calc_keyid_v2 (RSA *key -> EVP_PKEY *pkey). (There is also > changes to read_pub_pkey and get_filesize.) > Yep, I agree with that: libtool scheme for sure, thus the linker can easily handle the dependency without the need for manual relinkage from our users whenever possible, i.e. "current" and "age" getting increased by 1 means the interface is backward compatible to the last release and don't require a new linkage step of user's tool. > > The other option is to leave the version as 0.0.0 and let the distro > > package maintainers deal with it. > > I think you should update it properly. > Not every packager is aware of tool's internals/source code, and let them face possible user crashes due to "invalid interface calls" is pretty bad to the tool community itself. > > Posting a patch that sets the library version would be most welcome. > > diff --git a/src/Makefile.am b/src/Makefile.am > index 9c037e2..b794c50 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -4,7 +4,7 @@ libimaevm_la_SOURCES = libimaevm.c > libimaevm_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBCRYPTO_CFLAGS) > # current[:revision[:age]] > # result: [current-age].age.revision > -libimaevm_la_LDFLAGS = -version-info 0:0:0 > +libimaevm_la_LDFLAGS = -version-info 1:0:0 > libimaevm_la_LIBADD = $(LIBCRYPTO_LIBS) > > Thanks, And I also agree with his patch, changing -version-info to 1:0:0, bumping "current" number, since the interface was indeed changed since v1.1 release of ima-evm-utils. Thanks for catching that :))