diff options
author | Jakob Odersky <jodersky@gmail.com> | 2015-01-11 11:29:28 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2015-01-11 12:03:12 +0100 |
commit | 3506c5643e0e7b5998eafce93b2f532b4fae9df1 (patch) | |
tree | 979b3f712c4db0aa01337a72e094bac6359cde92 | |
parent | 218e52d97218ac18cf5b0a74ee262ee490cdc7c9 (diff) | |
download | akka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.tar.gz akka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.tar.bz2 akka-serial-3506c5643e0e7b5998eafce93b2f532b4fae9df1.zip |
update and fix native version numbers
-rw-r--r-- | documentation/building.md | 8 | ||||
-rw-r--r-- | flow-native/configure.ac | 2 | ||||
-rw-r--r-- | flow-native/debian/changelog | 5 | ||||
-rw-r--r-- | flow-native/debian/control | 2 | ||||
-rwxr-xr-x | flow-native/debian/rules | 5 | ||||
-rw-r--r-- | flow-native/src/Makefile.am | 2 |
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 |