aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-01-11 11:29:28 +0100
committerJakob Odersky <jodersky@gmail.com>2015-01-11 12:03:12 +0100
commit3506c5643e0e7b5998eafce93b2f532b4fae9df1 (patch)
tree979b3f712c4db0aa01337a72e094bac6359cde92
parent218e52d97218ac18cf5b0a74ee262ee490cdc7c9 (diff)
downloadakka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.tar.gz
akka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.tar.bz2
akka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.zip
update and fix native version numbers
-rw-r--r--documentation/building.md8
-rw-r--r--flow-native/configure.ac2
-rw-r--r--flow-native/debian/changelog5
-rw-r--r--flow-native/debian/control2
-rwxr-xr-xflow-native/debian/rules5
-rw-r--r--flow-native/src/Makefile.am2
6 files changed, 18 insertions, 6 deletions
diff --git a/documentation/building.md b/documentation/building.md
index 54dace6..bd3eff0 100644
--- a/documentation/building.md
+++ b/documentation/building.md
@@ -18,4 +18,10 @@ The native binaries produced in the previous step may be bundled in a "fat" jar
Note: an important feature of fat jars is to include binaries for several platforms. To copy binaries compiled on other platforms to the fat jar, place them in a subfolder of 'flow-native-sbt/lib_native'. The subfolder should have the name `$(os.name)-$(os.arch)`, where `os.name` and `os.arch` are the java system properties of the respective platforms.
# Note about versioning
-When building and locally publishing projects, the usual convention is to append "-SNAPSHOT" to the version string. This practice however breaks version identification and badly hurts git (bisecting becomes a nightmare). Therefore, to identify a build artifact with a specific commit in the repository, a sha1 hash is appended to the version instead. When publishing a new release, this hash may be ommited by setting the java system property "release=true", simply by running sbt -Drelease=true.
+When building and locally publishing projects, the usual convention is to append "-SNAPSHOT" to the version string. This practice however breaks version identification and badly hurts git (bisecting becomes a nightmare). Therefore, to identify a build artifact with a specific commit in the repository, a sha1 hash is appended to the version instead. When publishing a new release, this hash may be ommited by setting the java system property "release=true", simply by running `sbt -Drelease=true`.
+
+A second versioning quirk to be aware of is when building native sources. In this case, the project and package versions follow a sematic pattern: `M.m.p`, where
+ - `M` is the major version, representing backwards incompatible changes
+ - `m` is the minor version, indicating backwards compatible changes such as new feature additions
+ - `p` is the patch number, representing internal modifications such as bug-fixes
+Usually (following most linux distribution's conventions), shared libraries produced by a project `name` of version `M.m.p` are named `libname.M.m.p`. However, since when accessing shared libraries through the JVM, only the `name` can be specified and no particular version, the convention adopted by flow is to append `M` to the library name and always keep the major version at zero. E.g. `libflow.3.1.2` becomes `libflow3.0.1.2`.
diff --git a/flow-native/configure.ac b/flow-native/configure.ac
index 6bb58da..1b622c4 100644
--- a/flow-native/configure.ac
+++ b/flow-native/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
-AC_INIT(flow, [1.0.0], [jodersky@gmail.com])
+AC_INIT(flow, [3.0.1], [jodersky@gmail.com])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/flow_jni.c])
diff --git a/flow-native/debian/changelog b/flow-native/debian/changelog
index e3cc0d5..00bb566 100644
--- a/flow-native/debian/changelog
+++ b/flow-native/debian/changelog
@@ -1,5 +1,6 @@
-flow (0.1) UNRELEASED; urgency=low
+flow (3.0.1) UNRELEASED; urgency=low
* Initial release.
+ * Fix termios initialization issue.
- -- Jakob Odersky <jodersky@gmail.com> Mon, 07 Apr 2014 14:22:46 +0200
+ -- Jakob Odersky <jodersky@gmail.com> Sun, 11 Jan 2015 10:56:29 +0100
diff --git a/flow-native/debian/control b/flow-native/debian/control
index d2ee727..fc2a558 100644
--- a/flow-native/debian/control
+++ b/flow-native/debian/control
@@ -3,7 +3,7 @@ Maintainer: Jakob Odersky <jodersky@gmail.com>
Section: java
Priority: optional
Build-Depends: debhelper (>= 8.0.0), openjdk-7-jdk
-Standards-Version: 3.9.3
+Standards-Version: 3.9.6
Homepage: https://github.com/jodersky/flow
Vcs-Git: git://github.com/jodersky/flow.git
diff --git a/flow-native/debian/rules b/flow-native/debian/rules
index c999934..c062736 100755
--- a/flow-native/debian/rules
+++ b/flow-native/debian/rules
@@ -12,5 +12,10 @@
%:
dh $@
+# override library install directory
override_dh_auto_configure:
dh_auto_configure -- --libdir=/usr/lib/jni
+
+# used to suppress ldconfig warnings in preinst and postrm
+override_dh_makeshlibs:
+ dh_makeshlibs -X/usr/lib/jni
diff --git a/flow-native/src/Makefile.am b/flow-native/src/Makefile.am
index d48136b..9fefbd1 100644
--- a/flow-native/src/Makefile.am
+++ b/flow-native/src/Makefile.am
@@ -3,7 +3,7 @@ lib_LTLIBRARIES = libflow3.la
libflow3_la_SOURCES = flow_jni.c platform/posix/flow.c flow.h com_github_jodersky_flow_internal_NativeSerial.h
if ENABLE_VERSIONED_LIB
-libflow3_la_LDFLAGS = -version-info 0:0:0
+libflow3_la_LDFLAGS = -version-info 0:1:0
else
libflow3_la_LDFLAGS = -avoid-version
endif \ No newline at end of file