2015-08-22 23:02 GMT+02:00 Thomas D. <[email protected]>: > Hi, > > David Lang wrote: >>> Would be nice if you could ping me just *before* liblognorm-2 release so >>> I can verify proper SONAMEs... Thanks! >> >> right now, the v2-experimental branch creates the liblognorm.so.3.0.0 >> >> I think this is incorect, but I'm not sure what is correct. While I could go >> research it, I'm going to be a little lazy and explain things to you and >> rely on >> your expertise :-) >> >> this library is backwards compatible, so if you link it to >> liblognorm.so.2.0.0 >> everything works. > > If your statement is correct and liblognorm-2 will be 100% backward > compatible and only adds *new* new public APIs then yes, SONAME can stay > at 2.x. In this case something like liblognorm.so.2.1.0 would be > recommended (based on the assumption that the latest liblognorm-1 SONAME > was liblognorm.so.2.0.0).
May I ask for some advise here. I noticed that there was a glitch in 1.1.2 soname, because it *added* an API, namely ln_setErrMsgCB(), which permits an app to receive error messages. This new API doesn't break anything in existing applications, but of course those using it need the correct version. So current soname is invalid. Now reading the rules at http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html They say: "If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0." That sounds to me like I need to use 3:0:1. I would have expected that 2:1:1 would be the right thing. So question now: which is it? And if it is 3:0:1, does that mean that existing apps cannot use the new version (what would be really bad, given the fact they are not affected at all)? > But the fact that liblognorm-1.1.2 doesn't work with rsyslog-8.9+ > indicates that it isn't 100% backward compatible. I think we need to make some fine differences here. Right, there are some issues. But these are not conceptual. There was a bug that lines at EOF did not get processed where the previous version did. But that was not something explicitely introduced. Even more, I didn't know about this before the release. So I think it is bug, but not a need to increment the soname. Agree? > > Same like the thing with "ln_loadSample()" > (https://github.com/rsyslog/liblognorm/issues/126#issuecomment-133463477). that's v2 only. > > And don't forget your posting regarding the gotcha with the added > multiline support in liblognorm-2 > (http://lists.adiscon.net/pipermail/rsyslog/2015-August/041007.html). > That change maybe don't affect a public API but if a function now > behaves different that doesn't sound like a 100% backward release (to be > precise it looks like liblognorm-1.1.2's SONAME should have caused a > break but it hasn't so this is a bug which should be addressed with the > next release -> v2). I don't agree here. The function breaks on **invalid** input. Valid input is processed in exactly the way as before. Agreed, the error handling was not nice, but again, the input was against the spec in the first place. I don't think soname rule dictate to support invalid things that once worked differently. Would sound really strange to me. I am writing all this because I want to better understand the soname naming rules to handle them better in the future. Rainer _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

