From 85e091331484d860fc5f781e645341f37875b6ab Mon Sep 17 00:00:00 2001 From: Christian Babeux Date: Mon, 3 Nov 2014 15:12:26 -0500 Subject: [PATCH] Fix: Add versioning to liblttng-ust-agent JAR The liblttng-ust-agent JAR need versioning. The manifest file contains the appropriate information about the JAR, such as the current version. A symlink is also created and installed in order to point to the latest version of the JAR. e.g: liblttng-ust-agent.jar -> liblttng-ust-agent-1.0.0.jar Signed-off-by: Christian Babeux Signed-off-by: Mathieu Desnoyers --- configure.ac | 1 + liblttng-ust-java-agent/java/Makefile.am | 24 +++++++++++++++---- .../java/org/lttng/ust/agent/Manifest.txt | 7 ++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 liblttng-ust-java-agent/java/org/lttng/ust/agent/Manifest.txt diff --git a/configure.ac b/configure.ac index 55cec234..18f37398 100644 --- a/configure.ac +++ b/configure.ac @@ -48,6 +48,7 @@ AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], [UST version name]) AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], [UST version description]) AC_PROG_GREP +AC_PROG_LN_S # libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321. AC_ARG_ENABLE(libtool-linkdep-fixup, AS_HELP_STRING([--disable-libtool-linkdep-fixup], diff --git a/liblttng-ust-java-agent/java/Makefile.am b/liblttng-ust-java-agent/java/Makefile.am index 01e81e57..5a406e4a 100644 --- a/liblttng-ust-java-agent/java/Makefile.am +++ b/liblttng-ust-java-agent/java/Makefile.am @@ -1,12 +1,20 @@ JAVAROOT = . -jarfile = liblttng-ust-agent.jar +pkgpath = org/lttng/ust/agent +pkgpath_old = org/lttng/ust/jul + +jarfile_version = 1.0.0 +jarfile_manifest = $(pkgpath)/Manifest.txt +jarfile_symlink = liblttng-ust-agent.jar +jarfile = liblttng-ust-agent-$(jarfile_version).jar + jarfile_old = liblttng-ust-jul.jar + jardir = $(datadir)/java + juljniout = ../jni/jul log4jjniout = ../jni/log4j -pkgpath = org/lttng/ust/agent -pkgpath_old = org/lttng/ust/jul + dist_noinst_JAVA = $(pkgpath)/LTTngAgent.java \ $(pkgpath)/LTTngSessiondCmd2_6.java \ $(pkgpath)/LTTngTCPSessiondClient.java \ @@ -16,6 +24,8 @@ dist_noinst_JAVA = $(pkgpath)/LTTngAgent.java \ $(pkgpath)/jul/LTTngLogHandler.java \ $(pkgpath_old)/LTTngAgent.java +dist_noinst_DATA = $(jarfile_manifest) + jar_DATA = $(jarfile) $(jarfile_old) stamp = @@ -36,7 +46,7 @@ classes += $(pkgpath)/log4j/*.class endif $(jarfile): classnoinst.stamp - $(JAR) cf $(JARFLAGS) $@ $(classes) + $(JAR) cfm $(JARFLAGS) $@ $(jarfile_manifest) $(classes) && $(LN_S) $@ $(jarfile_symlink) $(jarfile_old): classnoinst.stamp $(JAR) cf $(JARFLAGS) $@ $(pkgpath)/*.class \ @@ -52,6 +62,12 @@ log4j-jni-header.stamp: $(dist_noinst_JAVA) all-local: $(stamp) +install-data-local: + cd $(DESTDIR)/$(jardir); rm -f $(jarfile_symlink); $(LN_S) $(jarfile) $(jarfile_symlink) + +uninstall-local: + cd $(DESTDIR)/$(jardir); rm -f $(jarfile_symlink) + CLEANFILES = $(jarfile) $(jarfile_old) $(pkgpath)/*.class $(pkgpath_old)/*.class $(pkgpath)/jul/*.class \ $(pkgpath)/log4j/*.class jul-jni-header.stamp log4j-jni-header.stamp \ $(juljniout)/org_lttng_ust_agent_jul_LTTngLogHandler.h \ diff --git a/liblttng-ust-java-agent/java/org/lttng/ust/agent/Manifest.txt b/liblttng-ust-java-agent/java/org/lttng/ust/agent/Manifest.txt new file mode 100644 index 00000000..d3c7e264 --- /dev/null +++ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/Manifest.txt @@ -0,0 +1,7 @@ +Name: org/lttng/ust/agent/ +Specification-Title: LTTng UST Java Agent +Specification-Version: 1.0.0 +Specification-Vendor: LTTng Project +Implementation-Title: org.lttng.ust.agent +Implementation-Version: 1.0.0 +Implementation-Vendor: LTTng Project -- 2.34.1