* [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).