[lttng-dev] [PATCH lttng-ust] Fix: Add versioning to liblttng-ust-agent JAR
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Mon Nov 3 15:18:09 EST 2014
Merged, thanks!
Mathieu
----- Original Message -----
> From: "Christian Babeux" <christian.babeux at efficios.com>
> To: lttng-dev at lists.lttng.org
> Cc: "mathieu desnoyers" <mathieu.desnoyers at efficios.com>, "Christian Babeux" <christian.babeux at efficios.com>
> Sent: Monday, November 3, 2014 3:12:26 PM
> Subject: [PATCH lttng-ust] 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 <christian.babeux at efficios.com>
> ---
> 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 55cec23..18f3739 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 01e81e5..5a406e4 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 0000000..d3c7e26
> --- /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.1.1
>
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list