linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [PATCH] f2fs-tools: add library version info
@ 2015-12-09 19:12 Jaegeuk Kim
  2015-12-15 12:19 ` 殷啟聰
  0 siblings, 1 reply; 4+ messages in thread
From: Jaegeuk Kim @ 2015-12-09 19:12 UTC (permalink / raw)
  To: linux-f2fs-devel; +Cc: Kai-Chung Yan, Jaegeuk Kim, Hans-Christoph Steiner

This patch gives the version info for two libraries.

mkfs/libf2fs_format.la
lib/libf2fs.la

The versioning rule should be:

1. Start with version information of '0:0:0' for each libtool library.
2. Update the version information only immediately before a public release of
   your software. More frequent updates are unnecessary, and only guarantee
   that the current interface number gets larger faster.
2. If the library source code has changed at all since the last update, then
   increment revision (c:r:a) becomes (c:r+1:a).
3. If any interfaces have been added, removed, or changed since the last update,
   increment current, and set revision to 0.
4. If any interfaces have been added since the last public release, then
   increment age.
5. If any interfaces have been removed or changed since the last public release,
   then set age to 0.

quoted from:
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info

Cc: Hans-Christoph Steiner <hans@eds.org>
Cc: Kai-Chung Yan <seamlikok@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 configure.ac     | 10 ++++++++++
 lib/Makefile.am  |  1 +
 mkfs/Makefile.am |  3 ++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index b18ee4d..280a0d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -90,4 +90,14 @@ AC_CONFIG_FILES([
 	tools/Makefile
 ])
 
+# export library version info for mkfs/libf2fs_format_la
+AC_SUBST(FMT_CURRENT, 0)
+AC_SUBST(FMT_REVISION, 0)
+AC_SUBST(FMT_AGE, 0)
+
+# export library version info for lib/libf2fs_la
+AC_SUBST(LIBF2FS_CURRENT, 0)
+AC_SUBST(LIBF2FS_REVISION, 0)
+AC_SUBST(LIBF2FS_AGE, 0)
+
 AC_OUTPUT
diff --git a/lib/Makefile.am b/lib/Makefile.am
index a6b304c..37b8d57 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,3 +5,4 @@ lib_LTLIBRARIES = libf2fs.la
 libf2fs_la_SOURCES = libf2fs.c libf2fs_io.c
 libf2fs_la_CFLAGS = -Wall
 libf2fs_la_CPPFLAGS = -I$(top_srcdir)/include
+libf2fs_la_LDFLAGS = -version-info $(LIBF2FS_CURRENT):$(LIBF2FS_REVISION):$(LIBF2FS_AGE)
diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
index 8969a04..8b4c16c 100644
--- a/mkfs/Makefile.am
+++ b/mkfs/Makefile.am
@@ -10,4 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
 libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
 libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
 libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
-libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs
+libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
+	-version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
-- 
2.4.9 (Apple Git-60)


------------------------------------------------------------------------------

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs-tools: add library version info
  2015-12-09 19:12 [PATCH] f2fs-tools: add library version info Jaegeuk Kim
@ 2015-12-15 12:19 ` 殷啟聰
  2015-12-15 15:28   ` Hans-Christoph Steiner
  0 siblings, 1 reply; 4+ messages in thread
From: 殷啟聰 @ 2015-12-15 12:19 UTC (permalink / raw)
  To: Jaegeuk Kim; +Cc: Hans-Christoph Steiner, linux-f2fs-devel

Hi Kim,

Maybe we can forget about the versioning for now. Libtool's versioning
mechanism is a little bit complicated and adding the version to SONAME
will likely cause big or small problems for so many downstream
projects.

Why don't we simply add the libf2fs_format? That won't hurt anyway. :)

Regards,
Kai-Chung Yan

2015-12-10 3:12 GMT+08:00 Jaegeuk Kim <jaegeuk@kernel.org>:
> This patch gives the version info for two libraries.
>
> mkfs/libf2fs_format.la
> lib/libf2fs.la
>
> The versioning rule should be:
>
> 1. Start with version information of '0:0:0' for each libtool library.
> 2. Update the version information only immediately before a public release of
>    your software. More frequent updates are unnecessary, and only guarantee
>    that the current interface number gets larger faster.
> 2. If the library source code has changed at all since the last update, then
>    increment revision (c:r:a) becomes (c:r+1:a).
> 3. If any interfaces have been added, removed, or changed since the last update,
>    increment current, and set revision to 0.
> 4. If any interfaces have been added since the last public release, then
>    increment age.
> 5. If any interfaces have been removed or changed since the last public release,
>    then set age to 0.
>
> quoted from:
> http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
>
> Cc: Hans-Christoph Steiner <hans@eds.org>
> Cc: Kai-Chung Yan <seamlikok@gmail.com>
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> ---
>  configure.ac     | 10 ++++++++++
>  lib/Makefile.am  |  1 +
>  mkfs/Makefile.am |  3 ++-
>  3 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index b18ee4d..280a0d3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -90,4 +90,14 @@ AC_CONFIG_FILES([
>         tools/Makefile
>  ])
>
> +# export library version info for mkfs/libf2fs_format_la
> +AC_SUBST(FMT_CURRENT, 0)
> +AC_SUBST(FMT_REVISION, 0)
> +AC_SUBST(FMT_AGE, 0)
> +
> +# export library version info for lib/libf2fs_la
> +AC_SUBST(LIBF2FS_CURRENT, 0)
> +AC_SUBST(LIBF2FS_REVISION, 0)
> +AC_SUBST(LIBF2FS_AGE, 0)
> +
>  AC_OUTPUT
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index a6b304c..37b8d57 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -5,3 +5,4 @@ lib_LTLIBRARIES = libf2fs.la
>  libf2fs_la_SOURCES = libf2fs.c libf2fs_io.c
>  libf2fs_la_CFLAGS = -Wall
>  libf2fs_la_CPPFLAGS = -I$(top_srcdir)/include
> +libf2fs_la_LDFLAGS = -version-info $(LIBF2FS_CURRENT):$(LIBF2FS_REVISION):$(LIBF2FS_AGE)
> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
> index 8969a04..8b4c16c 100644
> --- a/mkfs/Makefile.am
> +++ b/mkfs/Makefile.am
> @@ -10,4 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
>  libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
>  libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
>  libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
> -libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs
> +libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
> +       -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
> --
> 2.4.9 (Apple Git-60)
>



-- 
/*
* 殷啟聰 | Kai-Chung Yan
* 一生只向真理與妻子低頭
* Full-time student of National Taichung University of Education
* LinkedIn: <https://linkedin.com/in/seamlik>
* Blog: <seamlik.logdown.com>
*/

------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs-tools: add library version info
  2015-12-15 12:19 ` 殷啟聰
@ 2015-12-15 15:28   ` Hans-Christoph Steiner
  2015-12-15 17:11     ` Jaegeuk Kim
  0 siblings, 1 reply; 4+ messages in thread
From: Hans-Christoph Steiner @ 2015-12-15 15:28 UTC (permalink / raw)
  To: 殷啟聰, Jaegeuk Kim; +Cc: linux-f2fs-devel


It would be great to have the full versioned shared library, but if
it'll make things move faster, we can solve our Android SDK issues with
only a static library.  Then the shared library can come later.

.hc

殷啟聰:
> Hi Kim,
> 
> Maybe we can forget about the versioning for now. Libtool's versioning
> mechanism is a little bit complicated and adding the version to SONAME
> will likely cause big or small problems for so many downstream
> projects.
> 
> Why don't we simply add the libf2fs_format? That won't hurt anyway. :)
> 
> Regards,
> Kai-Chung Yan
> 
> 2015-12-10 3:12 GMT+08:00 Jaegeuk Kim <jaegeuk@kernel.org>:
>> This patch gives the version info for two libraries.
>>
>> mkfs/libf2fs_format.la
>> lib/libf2fs.la
>>
>> The versioning rule should be:
>>
>> 1. Start with version information of '0:0:0' for each libtool library.
>> 2. Update the version information only immediately before a public release of
>>    your software. More frequent updates are unnecessary, and only guarantee
>>    that the current interface number gets larger faster.
>> 2. If the library source code has changed at all since the last update, then
>>    increment revision (c:r:a) becomes (c:r+1:a).
>> 3. If any interfaces have been added, removed, or changed since the last update,
>>    increment current, and set revision to 0.
>> 4. If any interfaces have been added since the last public release, then
>>    increment age.
>> 5. If any interfaces have been removed or changed since the last public release,
>>    then set age to 0.
>>
>> quoted from:
>> http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
>>
>> Cc: Hans-Christoph Steiner <hans@eds.org>
>> Cc: Kai-Chung Yan <seamlikok@gmail.com>
>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
>> ---
>>  configure.ac     | 10 ++++++++++
>>  lib/Makefile.am  |  1 +
>>  mkfs/Makefile.am |  3 ++-
>>  3 files changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index b18ee4d..280a0d3 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -90,4 +90,14 @@ AC_CONFIG_FILES([
>>         tools/Makefile
>>  ])
>>
>> +# export library version info for mkfs/libf2fs_format_la
>> +AC_SUBST(FMT_CURRENT, 0)
>> +AC_SUBST(FMT_REVISION, 0)
>> +AC_SUBST(FMT_AGE, 0)
>> +
>> +# export library version info for lib/libf2fs_la
>> +AC_SUBST(LIBF2FS_CURRENT, 0)
>> +AC_SUBST(LIBF2FS_REVISION, 0)
>> +AC_SUBST(LIBF2FS_AGE, 0)
>> +
>>  AC_OUTPUT
>> diff --git a/lib/Makefile.am b/lib/Makefile.am
>> index a6b304c..37b8d57 100644
>> --- a/lib/Makefile.am
>> +++ b/lib/Makefile.am
>> @@ -5,3 +5,4 @@ lib_LTLIBRARIES = libf2fs.la
>>  libf2fs_la_SOURCES = libf2fs.c libf2fs_io.c
>>  libf2fs_la_CFLAGS = -Wall
>>  libf2fs_la_CPPFLAGS = -I$(top_srcdir)/include
>> +libf2fs_la_LDFLAGS = -version-info $(LIBF2FS_CURRENT):$(LIBF2FS_REVISION):$(LIBF2FS_AGE)
>> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
>> index 8969a04..8b4c16c 100644
>> --- a/mkfs/Makefile.am
>> +++ b/mkfs/Makefile.am
>> @@ -10,4 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
>>  libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
>>  libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
>>  libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
>> -libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs
>> +libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
>> +       -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
>> --
>> 2.4.9 (Apple Git-60)
>>
> 
> 
> 

------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs-tools: add library version info
  2015-12-15 15:28   ` Hans-Christoph Steiner
@ 2015-12-15 17:11     ` Jaegeuk Kim
  0 siblings, 0 replies; 4+ messages in thread
From: Jaegeuk Kim @ 2015-12-15 17:11 UTC (permalink / raw)
  To: Hans-Christoph Steiner
  Cc: 殷啟聰, Jaegeuk Kim,
	linux-f2fs-devel@lists.sourceforge.net

Hello,

Cool, I also think it would be good to support versions to libs.
I don't expect that libs are likely to move so fast.

Thanks,

2015-12-15 7:28 GMT-08:00 Hans-Christoph Steiner <hans@eds.org>:
>
> It would be great to have the full versioned shared library, but if
> it'll make things move faster, we can solve our Android SDK issues with
> only a static library.  Then the shared library can come later.
>
> .hc
>
> 殷啟聰:
>> Hi Kim,
>>
>> Maybe we can forget about the versioning for now. Libtool's versioning
>> mechanism is a little bit complicated and adding the version to SONAME
>> will likely cause big or small problems for so many downstream
>> projects.
>>
>> Why don't we simply add the libf2fs_format? That won't hurt anyway. :)
>>
>> Regards,
>> Kai-Chung Yan
>>
>> 2015-12-10 3:12 GMT+08:00 Jaegeuk Kim <jaegeuk@kernel.org>:
>>> This patch gives the version info for two libraries.
>>>
>>> mkfs/libf2fs_format.la
>>> lib/libf2fs.la
>>>
>>> The versioning rule should be:
>>>
>>> 1. Start with version information of '0:0:0' for each libtool library.
>>> 2. Update the version information only immediately before a public release of
>>>    your software. More frequent updates are unnecessary, and only guarantee
>>>    that the current interface number gets larger faster.
>>> 2. If the library source code has changed at all since the last update, then
>>>    increment revision (c:r:a) becomes (c:r+1:a).
>>> 3. If any interfaces have been added, removed, or changed since the last update,
>>>    increment current, and set revision to 0.
>>> 4. If any interfaces have been added since the last public release, then
>>>    increment age.
>>> 5. If any interfaces have been removed or changed since the last public release,
>>>    then set age to 0.
>>>
>>> quoted from:
>>> http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
>>>
>>> Cc: Hans-Christoph Steiner <hans@eds.org>
>>> Cc: Kai-Chung Yan <seamlikok@gmail.com>
>>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
>>> ---
>>>  configure.ac     | 10 ++++++++++
>>>  lib/Makefile.am  |  1 +
>>>  mkfs/Makefile.am |  3 ++-
>>>  3 files changed, 13 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index b18ee4d..280a0d3 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -90,4 +90,14 @@ AC_CONFIG_FILES([
>>>         tools/Makefile
>>>  ])
>>>
>>> +# export library version info for mkfs/libf2fs_format_la
>>> +AC_SUBST(FMT_CURRENT, 0)
>>> +AC_SUBST(FMT_REVISION, 0)
>>> +AC_SUBST(FMT_AGE, 0)
>>> +
>>> +# export library version info for lib/libf2fs_la
>>> +AC_SUBST(LIBF2FS_CURRENT, 0)
>>> +AC_SUBST(LIBF2FS_REVISION, 0)
>>> +AC_SUBST(LIBF2FS_AGE, 0)
>>> +
>>>  AC_OUTPUT
>>> diff --git a/lib/Makefile.am b/lib/Makefile.am
>>> index a6b304c..37b8d57 100644
>>> --- a/lib/Makefile.am
>>> +++ b/lib/Makefile.am
>>> @@ -5,3 +5,4 @@ lib_LTLIBRARIES = libf2fs.la
>>>  libf2fs_la_SOURCES = libf2fs.c libf2fs_io.c
>>>  libf2fs_la_CFLAGS = -Wall
>>>  libf2fs_la_CPPFLAGS = -I$(top_srcdir)/include
>>> +libf2fs_la_LDFLAGS = -version-info $(LIBF2FS_CURRENT):$(LIBF2FS_REVISION):$(LIBF2FS_AGE)
>>> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
>>> index 8969a04..8b4c16c 100644
>>> --- a/mkfs/Makefile.am
>>> +++ b/mkfs/Makefile.am
>>> @@ -10,4 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
>>>  libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
>>>  libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
>>>  libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
>>> -libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs
>>> +libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
>>> +       -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
>>> --
>>> 2.4.9 (Apple Git-60)
>>>
>>
>>
>>

------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-12-15 17:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-09 19:12 [PATCH] f2fs-tools: add library version info Jaegeuk Kim
2015-12-15 12:19 ` 殷啟聰
2015-12-15 15:28   ` Hans-Christoph Steiner
2015-12-15 17:11     ` Jaegeuk Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).