[MONARCH_LTS,2/2] configure.ac update version

Message ID 1470213659-4120-3-git-send-email-maxim.uvarov@linaro.org
State New
Headers show

Commit Message

Maxim Uvarov Aug. 3, 2016, 8:40 a.m.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.7.1.250.gff4ea60

Comments

Anders Roxell Aug. 5, 2016, 6:27 p.m. | #1
On 2016-08-03 11:40, Maxim Uvarov wrote:
> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

> ---

>  configure.ac | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/configure.ac b/configure.ac

> index c0eb207..bd16370 100644

> --- a/configure.ac

> +++ b/configure.ac

> @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>  ##########################################################################

>  # Set correct platform library version

>  ##########################################################################

> -ODP_LIBSO_VERSION=110:0:1

> +ODP_LIBSO_VERSION=111:0:0

>  AC_SUBST(ODP_LIBSO_VERSION)

>  

> -ODPHELPER_LIBSO_VERSION=110:0:1

> +ODPHELPER_LIBSO_VERSION=111:0:0

>  AC_SUBST(ODPHELPER_LIBSO_VERSION)


The SO-version doesn't need to change. The SO-version only needs to be
changed when an interface has been added, removed, or modified since
the last update [1].

For this release the API version should be changed and we should change
the version in include/odp/api/spec/version.h.

Cheers,
Anders
[1] https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
Maxim Uvarov Aug. 8, 2016, 7:01 a.m. | #2
On 08/05/16 21:27, Anders Roxell wrote:
> On 2016-08-03 11:40, Maxim Uvarov wrote:

>> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

>> ---

>>   configure.ac | 4 ++--

>>   1 file changed, 2 insertions(+), 2 deletions(-)

>>

>> diff --git a/configure.ac b/configure.ac

>> index c0eb207..bd16370 100644

>> --- a/configure.ac

>> +++ b/configure.ac

>> @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>   ##########################################################################

>>   # Set correct platform library version

>>   ##########################################################################

>> -ODP_LIBSO_VERSION=110:0:1

>> +ODP_LIBSO_VERSION=111:0:0

>>   AC_SUBST(ODP_LIBSO_VERSION)

>>   

>> -ODPHELPER_LIBSO_VERSION=110:0:1

>> +ODPHELPER_LIBSO_VERSION=111:0:0

>>   AC_SUBST(ODPHELPER_LIBSO_VERSION)

> The SO-version doesn't need to change. The SO-version only needs to be

> changed when an interface has been added, removed, or modified since

> the last update [1].

>

> For this release the API version should be changed and we should change

> the version in include/odp/api/spec/version.h.

>

> Cheers,

> Anders

> [1] https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html


Yes, but it's looks like very strange for me if .so version 110:0:0 and 
odp version is 1.11.0.0.
I think that also can be confusing for other people and not clear how to 
patch .so version
to tag in git repo.

Maxim.
Bill Fischofer Aug. 8, 2016, 10:17 p.m. | #3
The ODP API has changed between v1.10.1.0 and v1.11.0.0 so we do need to
change the .so indicators.

On Mon, Aug 8, 2016 at 2:01 AM, Maxim Uvarov <maxim.uvarov@linaro.org>
wrote:

> On 08/05/16 21:27, Anders Roxell wrote:

>

>> On 2016-08-03 11:40, Maxim Uvarov wrote:

>>

>>> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

>>> ---

>>>   configure.ac | 4 ++--

>>>   1 file changed, 2 insertions(+), 2 deletions(-)

>>>

>>> diff --git a/configure.ac b/configure.ac

>>> index c0eb207..bd16370 100644

>>> --- a/configure.ac

>>> +++ b/configure.ac

>>> @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>>   ############################################################

>>> ##############

>>>   # Set correct platform library version

>>>   ############################################################

>>> ##############

>>> -ODP_LIBSO_VERSION=110:0:1

>>> +ODP_LIBSO_VERSION=111:0:0

>>>   AC_SUBST(ODP_LIBSO_VERSION)

>>>   -ODPHELPER_LIBSO_VERSION=110:0:1

>>> +ODPHELPER_LIBSO_VERSION=111:0:0

>>>   AC_SUBST(ODPHELPER_LIBSO_VERSION)

>>>

>> The SO-version doesn't need to change. The SO-version only needs to be

>> changed when an interface has been added, removed, or modified since

>> the last update [1].

>>

>> For this release the API version should be changed and we should change

>> the version in include/odp/api/spec/version.h.

>>

>> Cheers,

>> Anders

>> [1] https://www.gnu.org/software/libtool/manual/html_node/Updati

>> ng-version-info.html

>>

>

> Yes, but it's looks like very strange for me if .so version 110:0:0 and

> odp version is 1.11.0.0.

> I think that also can be confusing for other people and not clear how to

> patch .so version

> to tag in git repo.

>

> Maxim.

>
Mike Holmes Aug. 8, 2016, 11:36 p.m. | #4
On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

> On 08/05/16 21:27, Anders Roxell wrote:

>

>> On 2016-08-03 11:40, Maxim Uvarov wrote:

>>

>>> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

>>> ---

>>>   configure.ac | 4 ++--

>>>   1 file changed, 2 insertions(+), 2 deletions(-)

>>>

>>> diff --git a/configure.ac b/configure.ac

>>> index c0eb207..bd16370 100644

>>> --- a/configure.ac

>>> +++ b/configure.ac

>>> @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>>   ############################################################

>>> ##############

>>>   # Set correct platform library version

>>>   ############################################################

>>> ##############

>>> -ODP_LIBSO_VERSION=110:0:1

>>> +ODP_LIBSO_VERSION=111:0:0

>>>   AC_SUBST(ODP_LIBSO_VERSION)

>>>   -ODPHELPER_LIBSO_VERSION=110:0:1

>>> +ODPHELPER_LIBSO_VERSION=111:0:0

>>>   AC_SUBST(ODPHELPER_LIBSO_VERSION)

>>>

>> The SO-version doesn't need to change. The SO-version only needs to be

>> changed when an interface has been added, removed, or modified since

>> the last update [1].

>>

>> For this release the API version should be changed and we should change

>> the version in include/odp/api/spec/version.h.

>>

>> Cheers,

>> Anders

>> [1] https://www.gnu.org/software/libtool/manual/html_node/Updati

>> ng-version-info.html

>>

>

> Yes, but it's looks like very strange for me if .so version 110:0:0 and

> odp version is 1.11.0.0.


I think that also can be confusing for other people and not clear how to
> patch .so version

> to tag in git repo.



It should not be confusing for people, linux is very specific about the
 rules for a .so version.
We are trying to be very specific in our API release numbering doc.
On OS "wherever" you can be completely sure the API number will not match
that OS'es mechanisms for version libraries.



> Maxim.

>




-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"
Maxim Uvarov Aug. 9, 2016, 6:54 a.m. | #5
On 08/09/16 02:36, Mike Holmes wrote:
>

>

> On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org 

> <mailto:maxim.uvarov@linaro.org>> wrote:

>

>     On 08/05/16 21:27, Anders Roxell wrote:

>

>         On 2016-08-03 11:40, Maxim Uvarov wrote:

>

>             Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

>             <mailto:maxim.uvarov@linaro.org>>

>             ---

>             configure.ac <http://configure.ac> | 4 ++--

>               1 file changed, 2 insertions(+), 2 deletions(-)

>

>             diff --git a/configure.ac <http://configure.ac>

>             b/configure.ac <http://configure.ac>

>             index c0eb207..bd16370 100644

>             --- a/configure.ac <http://configure.ac>

>             +++ b/configure.ac <http://configure.ac>

>             @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>              

>             ##########################################################################

>               # Set correct platform library version

>              

>             ##########################################################################

>             -ODP_LIBSO_VERSION=110:0:1

>             +ODP_LIBSO_VERSION=111:0:0

>               AC_SUBST(ODP_LIBSO_VERSION)

>               -ODPHELPER_LIBSO_VERSION=110:0:1

>             +ODPHELPER_LIBSO_VERSION=111:0:0

>               AC_SUBST(ODPHELPER_LIBSO_VERSION)

>

>         The SO-version doesn't need to change. The SO-version only

>         needs to be

>         changed when an interface has been added, removed, or modified

>         since

>         the last update [1].

>

>         For this release the API version should be changed and we

>         should change

>         the version in include/odp/api/spec/version.h.

>

>         Cheers,

>         Anders

>         [1]

>         https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

>         <https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>

>

>

>     Yes, but it's looks like very strange for me if .so version

>     110:0:0 and odp version is 1.11.0.0. 

>

>     I think that also can be confusing for other people and not clear

>     how to patch .so version

>     to tag in git repo.

>

>

> It should not be confusing for people, linux is very specific about 

> the  rules for a .so version.

> We are trying to be very specific in our API release numbering doc.

> On OS "wherever" you can be completely sure the API number will not 

> match that OS'es mechanisms for version libraries.

>


I'm not big expert in deploying .so to mainline. But I'm agree with Bill 
that .so version should match to api and tar ball name.
I.e. odp-linux-1.11.0-tar.gz has to compile odp-linux-1.11.0.so and not 
any other version. At least that happens in all libraries
which I saw.

Maxim.

>

>

>     Maxim.

>

>

>

>

> -- 

> Mike Holmes

> Technical Manager - Linaro Networking Group

> Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM SoCs

> "Work should be fun and collaborative, the rest follows"

>
Anders Roxell Aug. 9, 2016, 7:26 p.m. | #6
On 9 August 2016 at 08:54, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:
> On 08/09/16 02:36, Mike Holmes wrote:

>>

>>

>>

>> On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org

>> <mailto:maxim.uvarov@linaro.org>> wrote:

>>

>>     On 08/05/16 21:27, Anders Roxell wrote:

>>

>>         On 2016-08-03 11:40, Maxim Uvarov wrote:

>>

>>             Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

>>             <mailto:maxim.uvarov@linaro.org>>

>>             ---

>>             configure.ac <http://configure.ac> | 4 ++--

>>               1 file changed, 2 insertions(+), 2 deletions(-)

>>

>>             diff --git a/configure.ac <http://configure.ac>

>>             b/configure.ac <http://configure.ac>

>>             index c0eb207..bd16370 100644

>>             --- a/configure.ac <http://configure.ac>

>>             +++ b/configure.ac <http://configure.ac>

>>

>>             @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>

>> ##########################################################################

>>               # Set correct platform library version

>>

>> ##########################################################################

>>             -ODP_LIBSO_VERSION=110:0:1

>>             +ODP_LIBSO_VERSION=111:0:0

>>               AC_SUBST(ODP_LIBSO_VERSION)

>>               -ODPHELPER_LIBSO_VERSION=110:0:1

>>             +ODPHELPER_LIBSO_VERSION=111:0:0

>>               AC_SUBST(ODPHELPER_LIBSO_VERSION)

>>

>>         The SO-version doesn't need to change. The SO-version only

>>         needs to be

>>         changed when an interface has been added, removed, or modified

>>         since

>>         the last update [1].

>>

>>         For this release the API version should be changed and we

>>         should change

>>         the version in include/odp/api/spec/version.h.

>>

>>         Cheers,

>>         Anders

>>         [1]

>>

>> https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

>>

>> <https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>

>>

>>

>>     Yes, but it's looks like very strange for me if .so version

>>     110:0:0 and odp version is 1.11.0.0.

>>     I think that also can be confusing for other people and not clear

>>     how to patch .so version

>>     to tag in git repo.

>>

>>

>> It should not be confusing for people, linux is very specific about the

>> rules for a .so version.

>> We are trying to be very specific in our API release numbering doc.

>> On OS "wherever" you can be completely sure the API number will not match

>> that OS'es mechanisms for version libraries.

>>

>

> I'm not big expert in deploying .so to mainline. But I'm agree with Bill

> that .so version should match to api and tar ball name.


No it should not.
Projects building on top of ODP shouldn't have to rebuild if we do a
new release that only adds new APIs.
The only time they should have to rebuild is if we break ABI (delete
or rename an API).
When a new version of a library is binary-incompatible with the old
one the SO-version needs to change.

Again, did you read the link I pasted in the other email [1] ?
Especially this snippet: "Never try to set the interface numbers so
that they correspond to the release number of your package. ..."


Cheers,
Anders
[1] https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
Maxim Uvarov Aug. 10, 2016, 7:33 a.m. | #7
On 08/09/16 22:26, Anders Roxell wrote:
> On 9 August 2016 at 08:54, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

>> On 08/09/16 02:36, Mike Holmes wrote:

>>>

>>>

>>> On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org

>>> <mailto:maxim.uvarov@linaro.org>> wrote:

>>>

>>>      On 08/05/16 21:27, Anders Roxell wrote:

>>>

>>>          On 2016-08-03 11:40, Maxim Uvarov wrote:

>>>

>>>              Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

>>>              <mailto:maxim.uvarov@linaro.org>>

>>>              ---

>>>              configure.ac <http://configure.ac> | 4 ++--

>>>                1 file changed, 2 insertions(+), 2 deletions(-)

>>>

>>>              diff --git a/configure.ac <http://configure.ac>

>>>              b/configure.ac <http://configure.ac>

>>>              index c0eb207..bd16370 100644

>>>              --- a/configure.ac <http://configure.ac>

>>>              +++ b/configure.ac <http://configure.ac>

>>>

>>>              @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>>

>>> ##########################################################################

>>>                # Set correct platform library version

>>>

>>> ##########################################################################

>>>              -ODP_LIBSO_VERSION=110:0:1

>>>              +ODP_LIBSO_VERSION=111:0:0

>>>                AC_SUBST(ODP_LIBSO_VERSION)

>>>                -ODPHELPER_LIBSO_VERSION=110:0:1

>>>              +ODPHELPER_LIBSO_VERSION=111:0:0

>>>                AC_SUBST(ODPHELPER_LIBSO_VERSION)

>>>

>>>          The SO-version doesn't need to change. The SO-version only

>>>          needs to be

>>>          changed when an interface has been added, removed, or modified

>>>          since

>>>          the last update [1].

>>>

>>>          For this release the API version should be changed and we

>>>          should change

>>>          the version in include/odp/api/spec/version.h.

>>>

>>>          Cheers,

>>>          Anders

>>>          [1]

>>>

>>> https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

>>>

>>> <https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>

>>>

>>>

>>>      Yes, but it's looks like very strange for me if .so version

>>>      110:0:0 and odp version is 1.11.0.0.

>>>      I think that also can be confusing for other people and not clear

>>>      how to patch .so version

>>>      to tag in git repo.

>>>

>>>

>>> It should not be confusing for people, linux is very specific about the

>>> rules for a .so version.

>>> We are trying to be very specific in our API release numbering doc.

>>> On OS "wherever" you can be completely sure the API number will not match

>>> that OS'es mechanisms for version libraries.

>>>

>> I'm not big expert in deploying .so to mainline. But I'm agree with Bill

>> that .so version should match to api and tar ball name.

> No it should not.

> Projects building on top of ODP shouldn't have to rebuild if we do a

> new release that only adds new APIs.

ok, that is logical.

> The only time they should have to rebuild is if we break ABI (delete

> or rename an API).

ok, we change TM API:
https://git.linaro.org/lng/odp.git/commitdiff/a560c609e78716421e782aa388805937d177ef0e?hp=524987a32f9873e59ce265ffba6e831e756a2441
> When a new version of a library is binary-incompatible with the old

> one the SO-version needs to change.


yes, 1.10 is incompatible to 1.11, we need to change version.

>

> Again, did you read the link I pasted in the other email [1] ?

> Especially this snippet: "Never try to set the interface numbers so

> that they correspond to the release number of your package. ..."

>

>

> Cheers,

> Anders

> [1] https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html


Ok, than numbers has to correspond only to API. I.e. first 2 digits in 
our API code.

 From doc -release option is not clear where is has to be set.
"""
Instead, use the -release flag (see Release numbers 
<https://www.gnu.org/software/libtool/manual/html_node/Release-numbers.html#Release-numbers>), 
but be warned that every release of your package will not be binary 
compatible with any other release.
"""
is it set by autotools automatically somewhere or we should add it to 
configure.ac also?

Maxim.
Anders Roxell Aug. 10, 2016, 11:22 a.m. | #8
On 10 August 2016 at 09:33, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:
> On 08/09/16 22:26, Anders Roxell wrote:

>>

>> On 9 August 2016 at 08:54, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

>>>

>>> On 08/09/16 02:36, Mike Holmes wrote:

>>>>

>>>>

>>>>

>>>> On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org

>>>> <mailto:maxim.uvarov@linaro.org>> wrote:

>>>>

>>>>      On 08/05/16 21:27, Anders Roxell wrote:

>>>>

>>>>          On 2016-08-03 11:40, Maxim Uvarov wrote:

>>>>

>>>>              Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

>>>>              <mailto:maxim.uvarov@linaro.org>>

>>>>              ---

>>>>              configure.ac <http://configure.ac> | 4 ++--

>>>>                1 file changed, 2 insertions(+), 2 deletions(-)

>>>>

>>>>              diff --git a/configure.ac <http://configure.ac>

>>>>              b/configure.ac <http://configure.ac>

>>>>              index c0eb207..bd16370 100644

>>>>              --- a/configure.ac <http://configure.ac>

>>>>              +++ b/configure.ac <http://configure.ac>

>>>>

>>>>              @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

>>>>

>>>>

>>>> ##########################################################################

>>>>                # Set correct platform library version

>>>>

>>>>

>>>> ##########################################################################

>>>>              -ODP_LIBSO_VERSION=110:0:1

>>>>              +ODP_LIBSO_VERSION=111:0:0

>>>>                AC_SUBST(ODP_LIBSO_VERSION)

>>>>                -ODPHELPER_LIBSO_VERSION=110:0:1

>>>>              +ODPHELPER_LIBSO_VERSION=111:0:0

>>>>                AC_SUBST(ODPHELPER_LIBSO_VERSION)

>>>>

>>>>          The SO-version doesn't need to change. The SO-version only

>>>>          needs to be

>>>>          changed when an interface has been added, removed, or modified

>>>>          since

>>>>          the last update [1].

>>>>

>>>>          For this release the API version should be changed and we

>>>>          should change

>>>>          the version in include/odp/api/spec/version.h.

>>>>

>>>>          Cheers,

>>>>          Anders

>>>>          [1]

>>>>

>>>>

>>>> https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

>>>>

>>>>

>>>> <https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>

>>>>

>>>>

>>>>      Yes, but it's looks like very strange for me if .so version

>>>>      110:0:0 and odp version is 1.11.0.0.

>>>>      I think that also can be confusing for other people and not clear

>>>>      how to patch .so version

>>>>      to tag in git repo.

>>>>

>>>>

>>>> It should not be confusing for people, linux is very specific about the

>>>> rules for a .so version.

>>>> We are trying to be very specific in our API release numbering doc.

>>>> On OS "wherever" you can be completely sure the API number will not

>>>> match

>>>> that OS'es mechanisms for version libraries.

>>>>

>>> I'm not big expert in deploying .so to mainline. But I'm agree with Bill

>>> that .so version should match to api and tar ball name.

>>

>> No it should not.

>> Projects building on top of ODP shouldn't have to rebuild if we do a

>> new release that only adds new APIs.

>

> ok, that is logical.

>

>> The only time they should have to rebuild is if we break ABI (delete

>> or rename an API).

>

> ok, we change TM API:

> https://git.linaro.org/lng/odp.git/commitdiff/a560c609e78716421e782aa388805937d177ef0e?hp=524987a32f9873e59ce265ffba6e831e756a2441


I didn't know that this was in.
aha tricky, the deb build process should notice changes like this but since it
was in a union it got hidden or the size was the same it didn't find it.

>>

>> When a new version of a library is binary-incompatible with the old

>> one the SO-version needs to change.

>

>

> yes, 1.10 is incompatible to 1.11, we need to change version.


I agree, since we did the change in the union.

Thank you for pointing that out.

if we only added this "odp_bool_t egress_fcn_supported;",
that would only be a "age" bump.

Cheers,
Anders

>

>>

>> Again, did you read the link I pasted in the other email [1] ?

>> Especially this snippet: "Never try to set the interface numbers so

>> that they correspond to the release number of your package. ..."

>>

>>

>> Cheers,

>> Anders

>> [1]

>> https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

>

>

> Ok, than numbers has to correspond only to API. I.e. first 2 digits in our

> API code.

>

> From doc -release option is not clear where is has to be set.

> """

> Instead, use the -release flag (see Release numbers

> <https://www.gnu.org/software/libtool/manual/html_node/Release-numbers.html#Release-numbers>),

> but be warned that every release of your package will not be binary

> compatible with any other release.

> """

> is it set by autotools automatically somewhere or we should add it to

> configure.ac also?

>

> Maxim.

>
Bill Fischofer Aug. 10, 2016, 5:03 p.m. | #9
On Wed, Aug 10, 2016 at 6:22 AM, Anders Roxell <anders.roxell@linaro.org>
wrote:

> On 10 August 2016 at 09:33, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

> > On 08/09/16 22:26, Anders Roxell wrote:

> >>

> >> On 9 August 2016 at 08:54, Maxim Uvarov <maxim.uvarov@linaro.org>

> wrote:

> >>>

> >>> On 08/09/16 02:36, Mike Holmes wrote:

> >>>>

> >>>>

> >>>>

> >>>> On 8 August 2016 at 03:01, Maxim Uvarov <maxim.uvarov@linaro.org

> >>>> <mailto:maxim.uvarov@linaro.org>> wrote:

> >>>>

> >>>>      On 08/05/16 21:27, Anders Roxell wrote:

> >>>>

> >>>>          On 2016-08-03 11:40, Maxim Uvarov wrote:

> >>>>

> >>>>              Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

> >>>>              <mailto:maxim.uvarov@linaro.org>>

> >>>>              ---

> >>>>              configure.ac <http://configure.ac> | 4 ++--

> >>>>                1 file changed, 2 insertions(+), 2 deletions(-)

> >>>>

> >>>>              diff --git a/configure.ac <http://configure.ac>

> >>>>              b/configure.ac <http://configure.ac>

> >>>>              index c0eb207..bd16370 100644

> >>>>              --- a/configure.ac <http://configure.ac>

> >>>>              +++ b/configure.ac <http://configure.ac>

> >>>>

> >>>>              @@ -12,10 +12,10 @@ AM_SILENT_RULES([yes])

> >>>>

> >>>>

> >>>> ############################################################

> ##############

> >>>>                # Set correct platform library version

> >>>>

> >>>>

> >>>> ############################################################

> ##############

> >>>>              -ODP_LIBSO_VERSION=110:0:1

> >>>>              +ODP_LIBSO_VERSION=111:0:0

> >>>>                AC_SUBST(ODP_LIBSO_VERSION)

> >>>>                -ODPHELPER_LIBSO_VERSION=110:0:1

> >>>>              +ODPHELPER_LIBSO_VERSION=111:0:0

> >>>>                AC_SUBST(ODPHELPER_LIBSO_VERSION)

> >>>>

> >>>>          The SO-version doesn't need to change. The SO-version only

> >>>>          needs to be

> >>>>          changed when an interface has been added, removed, or

> modified

> >>>>          since

> >>>>          the last update [1].

> >>>>

> >>>>          For this release the API version should be changed and we

> >>>>          should change

> >>>>          the version in include/odp/api/spec/version.h.

> >>>>

> >>>>          Cheers,

> >>>>          Anders

> >>>>          [1]

> >>>>

> >>>>

> >>>> https://www.gnu.org/software/libtool/manual/html_node/

> Updating-version-info.html

> >>>>

> >>>>

> >>>> <https://www.gnu.org/software/libtool/manual/html_node/

> Updating-version-info.html>

> >>>>

> >>>>

> >>>>      Yes, but it's looks like very strange for me if .so version

> >>>>      110:0:0 and odp version is 1.11.0.0.

> >>>>      I think that also can be confusing for other people and not clear

> >>>>      how to patch .so version

> >>>>      to tag in git repo.

> >>>>

> >>>>

> >>>> It should not be confusing for people, linux is very specific about

> the

> >>>> rules for a .so version.

> >>>> We are trying to be very specific in our API release numbering doc.

> >>>> On OS "wherever" you can be completely sure the API number will not

> >>>> match

> >>>> that OS'es mechanisms for version libraries.

> >>>>

> >>> I'm not big expert in deploying .so to mainline. But I'm agree with

> Bill

> >>> that .so version should match to api and tar ball name.

> >>

> >> No it should not.

> >> Projects building on top of ODP shouldn't have to rebuild if we do a

> >> new release that only adds new APIs.

> >

> > ok, that is logical.

> >

> >> The only time they should have to rebuild is if we break ABI (delete

> >> or rename an API).

> >

> > ok, we change TM API:

> > https://git.linaro.org/lng/odp.git/commitdiff/

> a560c609e78716421e782aa388805937d177ef0e?hp=524987a32f9873e59ce265ffba6e83

> 1e756a2441

>

> I didn't know that this was in.

> aha tricky, the deb build process should notice changes like this but

> since it

> was in a union it got hidden or the size was the same it didn't find it.

>


I'm not an expert on deb packaging, but the real change here is that the
effective type signature of odp_tm_create() was changed by this update. I'm
not sure how the scanner determines that an ABI break but it sounds like it
isn't considering changes to fields within structs that are passed as
parameters.


>

> >>

> >> When a new version of a library is binary-incompatible with the old

> >> one the SO-version needs to change.

> >

> >

> > yes, 1.10 is incompatible to 1.11, we need to change version.

>

> I agree, since we did the change in the union.

>

> Thank you for pointing that out.

>

> if we only added this "odp_bool_t egress_fcn_supported;",

> that would only be a "age" bump.

>

> Cheers,

> Anders

>

> >

> >>

> >> Again, did you read the link I pasted in the other email [1] ?

> >> Especially this snippet: "Never try to set the interface numbers so

> >> that they correspond to the release number of your package. ..."

> >>

> >>

> >> Cheers,

> >> Anders

> >> [1]

> >> https://www.gnu.org/software/libtool/manual/html_node/

> Updating-version-info.html

> >

> >

> > Ok, than numbers has to correspond only to API. I.e. first 2 digits in

> our

> > API code.

> >

> > From doc -release option is not clear where is has to be set.

> > """

> > Instead, use the -release flag (see Release numbers

> > <https://www.gnu.org/software/libtool/manual/html_node/

> Release-numbers.html#Release-numbers>),

> > but be warned that every release of your package will not be binary

> > compatible with any other release.

> > """

> > is it set by autotools automatically somewhere or we should add it to

> > configure.ac also?

> >

> > Maxim.

> >

>

Patch

diff --git a/configure.ac b/configure.ac
index c0eb207..bd16370 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,10 +12,10 @@  AM_SILENT_RULES([yes])
 ##########################################################################
 # Set correct platform library version
 ##########################################################################
-ODP_LIBSO_VERSION=110:0:1
+ODP_LIBSO_VERSION=111:0:0
 AC_SUBST(ODP_LIBSO_VERSION)
 
-ODPHELPER_LIBSO_VERSION=110:0:1
+ODPHELPER_LIBSO_VERSION=111:0:0
 AC_SUBST(ODPHELPER_LIBSO_VERSION)
 
 # Checks for programs.