[libgdata] build: Better document the LT version change process



commit 0fcbae7db8cb519e83ebfcabae893bcd29251949
Author: Philip Withnall <philip tecnocode co uk>
Date:   Tue Aug 24 22:19:43 2010 +0100

    build: Better document the LT version change process

 HACKING      |    4 ++++
 configure.ac |   17 ++++++++---------
 2 files changed, 12 insertions(+), 9 deletions(-)
---
diff --git a/HACKING b/HACKING
index 346f48b..af754ae 100644
--- a/HACKING
+++ b/HACKING
@@ -116,6 +116,10 @@ Adding public API
  - New services should be implemented in libgdata itself, not by applications which use libgdata. See the documentation section on "New Services" in
    the "GData Overview" section.
 
+ - New API must never be added in a micro release. API additions can only be made in a major or minor release; this is to prevent the LT version of
+   one minor version's micro releases exceeding the LT version of the next minor version as almost happened between versions 0.6.3 and 0.7.0.
+   See http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html for information about libtool's versioning system.
+
 Choosing function names
 =======================
 
diff --git a/configure.ac b/configure.ac
index 19fbdb6..c940826 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,15 +35,14 @@ GLIB_REQS=2.19.0
 GIO_REQS=2.17.3
 SOUP_REQS=2.26.1
 
-# Before making a release, the GDATA_LT_VERSION string should be modified.
-# The string is of the form C:R:A.
-# - If interfaces have been changed or added, but binary compatibility has
-#   been preserved, change to C+1:0:A+1
-# - If binary compatibility has been broken (eg removed or changed interfaces)
-#   change to C+1:0:0
-# - If the interface is the same as the previous version, change to C:R+1:A
-# Note that versioning started at 2:0:0 to ensure no conflicts with e-d-s' libgdata
-# library, whose maximum version was 1:0:0
+# Before making a release, the GDATA_LT_VERSION string should be modified. The string is of the form c:r:a. Follow these instructions sequentially:
+#
+#  1. If the library source code has changed at all since the last update, then increment revision (â??c:r:aâ?? becomes â??c:r+1:aâ??).
+#  2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
+#  3. If any interfaces have been added since the last public release, then increment age.
+#  4. If any interfaces have been removed or changed since the last public release, then set age to 0.
+#
+# Note that versioning started at 2:0:0 to ensure no conflicts with e-d-s' libgdata library, whose maximum version was 1:0:0
 GDATA_LT_VERSION=7:0:0
 AC_SUBST(GDATA_LT_VERSION)
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]