changeset 129:0a9f7bbe5859

Bug 2783: Add CLI kick shell Reviewed-by: ykubota
author Yasumasa Suenaga <yasuenag@gmail.com>
date Tue, 12 Jan 2016 21:59:14 +0900
parents f2da2ff49cbc
children c293936e7655
files ChangeLog Makefile.am Makefile.in agent/Makefile.in agent/attacher/Makefile.am agent/attacher/Makefile.in agent/src/Makefile.am agent/src/Makefile.in agent/src/heapstats-engines/Makefile.in agent/src/iotracer/Makefile.in analyzer/cli/heapstats-cli.in configure configure.ac mbean/Makefile.in mbean/native/Makefile.in specs/heapstats.spec
diffstat 16 files changed, 49 insertions(+), 81 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jan 03 11:59:37 2016 +0900
+++ b/ChangeLog	Tue Jan 12 21:59:14 2016 +0900
@@ -1,3 +1,7 @@
+2016-01-12  Yasumasa Suenaga <yasuenag@gmail.com>
+
+	* Bug 2783: Add CLI kick shell
+
 2016-01-03  Yasumasa Suenaga <yasuenag@gmail.com>
 
 	* Bug 2772: IllegalStateException occurred when exclude filter was set in CLI.
--- a/Makefile.am	Sun Jan 03 11:59:37 2016 +0900
+++ b/Makefile.am	Tue Jan 12 21:59:14 2016 +0900
@@ -3,8 +3,8 @@
 MVN = @MVN@
 JAVA_HOME = @JDK_DIR@
 
-ANALYZER_DIR = $(srcdir)/analyzer/fx/target/heapstats-analyzer-2.0-bin
-CLI_DIR = $(srcdir)/analyzer/cli/target/heapstats-cli-2.0-bin
+ANALYZER_DIR = $(srcdir)/analyzer/fx/target/heapstats-analyzer-2.0-bin/heapstats-analyzer-2.0
+CLI_DIR = $(srcdir)/analyzer/cli/target/heapstats-cli-2.0-bin/heapstats-cli-2.0
 
 .PHONY: $(SUBDIRS) analyzer
 
@@ -34,8 +34,9 @@
 	$(INSTALL_DATA) $(ANALYZER_DIR)/lib/heapstats-mbean.jar $(DESTDIR)/$(libexecdir)/lib
 	$(INSTALL_DATA) $(ANALYZER_DIR)/lib/jgraphx.jar $(DESTDIR)/$(libexecdir)/lib
 	$(INSTALL_DATA) $(CLI_DIR)/heapstats-cli.jar $(DESTDIR)/$(libexecdir)
+	$(INSTALL_PROGRAM) $(srcdir)/analyzer/cli/heapstats-cli $(DESTDIR)/$(bindir)
 
 uninstall-local:
 	rm -fR $(DESTDIR)/$(libexecdir)/lib
-	$(RM) $(DESTDIR)/$(libexecdir)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)/filterDefine.xsd $(DESTDIR)/$(libexecdir)/heapstats*
+	$(RM) $(DESTDIR)/$(libexecdir)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)/filterDefine.xsd $(DESTDIR)/$(libexecdir)/heapstats* $(DESTDIR)/$(bindir)/heapstats-cli
 
--- a/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -98,7 +98,7 @@
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = analyzer/cli/heapstats-cli
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -159,9 +159,9 @@
 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/./m4/compile \
 	$(top_srcdir)/./m4/config.guess $(top_srcdir)/./m4/config.sub \
 	$(top_srcdir)/./m4/install-sh $(top_srcdir)/./m4/missing \
-	./m4/compile ./m4/config.guess ./m4/config.sub ./m4/depcomp \
-	./m4/install-sh ./m4/missing AUTHORS COPYING ChangeLog INSTALL \
-	NEWS README
+	$(top_srcdir)/analyzer/cli/heapstats-cli.in ./m4/compile \
+	./m4/config.guess ./m4/config.sub ./m4/depcomp ./m4/install-sh \
+	./m4/missing AUTHORS COPYING ChangeLog INSTALL NEWS README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -244,7 +244,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -322,8 +321,8 @@
 ACLOCAL_AMFLAGS = -I ./m4
 SUBDIRS = agent mbean
 JAVA_HOME = @JDK_DIR@
-ANALYZER_DIR = $(srcdir)/analyzer/fx/target/heapstats-analyzer-2.0-bin
-CLI_DIR = $(srcdir)/analyzer/cli/target/heapstats-cli-2.0-bin
+ANALYZER_DIR = $(srcdir)/analyzer/fx/target/heapstats-analyzer-2.0-bin/heapstats-analyzer-2.0
+CLI_DIR = $(srcdir)/analyzer/cli/target/heapstats-cli-2.0-bin/heapstats-cli-2.0
 all: all-recursive
 
 .SUFFIXES:
@@ -360,6 +359,8 @@
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 $(am__aclocal_m4_deps):
+analyzer/cli/heapstats-cli: $(top_builddir)/config.status $(top_srcdir)/analyzer/cli/heapstats-cli.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run 'make' without going through this Makefile.
@@ -807,10 +808,11 @@
 	$(INSTALL_DATA) $(ANALYZER_DIR)/lib/heapstats-mbean.jar $(DESTDIR)/$(libexecdir)/lib
 	$(INSTALL_DATA) $(ANALYZER_DIR)/lib/jgraphx.jar $(DESTDIR)/$(libexecdir)/lib
 	$(INSTALL_DATA) $(CLI_DIR)/heapstats-cli.jar $(DESTDIR)/$(libexecdir)
+	$(INSTALL_PROGRAM) $(srcdir)/analyzer/cli/heapstats-cli $(DESTDIR)/$(bindir)
 
 uninstall-local:
 	rm -fR $(DESTDIR)/$(libexecdir)/lib
-	$(RM) $(DESTDIR)/$(libexecdir)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)/filterDefine.xsd $(DESTDIR)/$(libexecdir)/heapstats*
+	$(RM) $(DESTDIR)/$(libexecdir)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)/filterDefine.xsd $(DESTDIR)/$(libexecdir)/heapstats* $(DESTDIR)/$(bindir)/heapstats-cli
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
--- a/agent/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -219,7 +219,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
--- a/agent/attacher/Makefile.am	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/attacher/Makefile.am	Tue Jan 12 21:59:14 2016 +0900
@@ -5,7 +5,6 @@
 
 all:
 	env JAVA_HOME=$(JDK_HOME) bash -c $(ANT)
-	chmod a+x heapstats-attacher
 
 clean-local:
 	$(ANT) clean
@@ -18,4 +17,5 @@
 
 uninstall-local:
 	$(RM) $(DESTDIR)/$(libexecdir)/$(TARGET_JAR)
+	$(RM) $(DESTDIR)/$(bindir)/heapstats-attacher
 
--- a/agent/attacher/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/attacher/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -160,7 +160,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -427,7 +426,6 @@
 
 all:
 	env JAVA_HOME=$(JDK_HOME) bash -c $(ANT)
-	chmod a+x heapstats-attacher
 
 clean-local:
 	$(ANT) clean
@@ -440,6 +438,7 @@
 
 uninstall-local:
 	$(RM) $(DESTDIR)/$(libexecdir)/$(TARGET_JAR)
+	$(RM) $(DESTDIR)/$(bindir)/heapstats-attacher
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
--- a/agent/src/Makefile.am	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/src/Makefile.am	Tue Jan 12 21:59:14 2016 +0900
@@ -43,7 +43,6 @@
 
 libheapstats.so:
 	$(RM) libheapstats.so
-	$(LN) -s $(HEAPSTATS_BIN_TARGET) libheapstats.so
 
 clean-local:
 	$(RM) libheapstats.so
@@ -51,7 +50,6 @@
 install-binPROGRAMS:
 	$(mkdir_p) $(DESTDIR)/$(libdir)
 	$(INSTALL_PROGRAM) $(srcdir)/$(HEAPSTATS_BIN_TARGET) $(DESTDIR)/$(libdir)
-	$(LN) -s $(DESTDIR)/$(libdir)/$(HEAPSTATS_BIN_TARGET) $(DESTDIR)/$(libdir)/libheapstats.so
 
 uninstall-binPROGRAMS:
 	$(RM) $(DESTDIR)/$(libdir)/*heapstats*.so*
--- a/agent/src/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/src/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -265,7 +265,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -766,7 +765,6 @@
 
 libheapstats.so:
 	$(RM) libheapstats.so
-	$(LN) -s $(HEAPSTATS_BIN_TARGET) libheapstats.so
 
 clean-local:
 	$(RM) libheapstats.so
@@ -774,7 +772,6 @@
 install-binPROGRAMS:
 	$(mkdir_p) $(DESTDIR)/$(libdir)
 	$(INSTALL_PROGRAM) $(srcdir)/$(HEAPSTATS_BIN_TARGET) $(DESTDIR)/$(libdir)
-	$(LN) -s $(DESTDIR)/$(libdir)/$(HEAPSTATS_BIN_TARGET) $(DESTDIR)/$(libdir)/libheapstats.so
 
 uninstall-binPROGRAMS:
 	$(RM) $(DESTDIR)/$(libdir)/*heapstats*.so*
--- a/agent/src/heapstats-engines/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/src/heapstats-engines/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -575,7 +575,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
--- a/agent/src/iotracer/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/agent/src/iotracer/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -159,7 +159,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/analyzer/cli/heapstats-cli.in	Tue Jan 12 21:59:14 2016 +0900
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libexecdir=@libexecdir@
+
+CLI_JAR="$libexecdir/heapstats-cli.jar"
+
+$JAVA_HOME/bin/java $JAVA_OPTS -jar $CLI_JAR $@
+
--- a/configure	Sun Jan 03 11:59:37 2016 +0900
+++ b/configure	Tue Jan 12 21:59:14 2016 +0900
@@ -653,7 +653,6 @@
 NM
 SED
 ECHO
-LN
 EGREP
 GREP
 am__fastdepCCAS_FALSE
@@ -5214,47 +5213,6 @@
 
 
 
-# Extract the first word of "ln", so it can be a program name with args.
-set dummy ln; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $LN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_LN="$LN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_LN" && ac_cv_path_LN="ln"
-  ;;
-esac
-fi
-LN=$ac_cv_path_LN
-if test -n "$LN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5
-$as_echo "$LN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
 # Extract the first word of "echo", so it can be a program name with args.
 set dummy echo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -8664,7 +8622,7 @@
 
 # end of configure attacher  ---------------------------------------------------
 
-ac_config_files="$ac_config_files Makefile agent/Makefile agent/src/Makefile agent/src/heapstats-engines/Makefile agent/attacher/Makefile agent/attacher/heapstats-attacher agent/src/iotracer/Makefile mbean/Makefile mbean/native/Makefile"
+ac_config_files="$ac_config_files Makefile agent/Makefile agent/src/Makefile agent/src/heapstats-engines/Makefile agent/attacher/Makefile agent/attacher/heapstats-attacher agent/src/iotracer/Makefile mbean/Makefile mbean/native/Makefile analyzer/cli/heapstats-cli"
 
 ac_config_files="$ac_config_files agent/heapstats.conf"
 
@@ -9477,6 +9435,7 @@
     "agent/src/iotracer/Makefile") CONFIG_FILES="$CONFIG_FILES agent/src/iotracer/Makefile" ;;
     "mbean/Makefile") CONFIG_FILES="$CONFIG_FILES mbean/Makefile" ;;
     "mbean/native/Makefile") CONFIG_FILES="$CONFIG_FILES mbean/native/Makefile" ;;
+    "analyzer/cli/heapstats-cli") CONFIG_FILES="$CONFIG_FILES analyzer/cli/heapstats-cli" ;;
     "agent/heapstats.conf") CONFIG_FILES="$CONFIG_FILES agent/heapstats.conf" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
--- a/configure.ac	Sun Jan 03 11:59:37 2016 +0900
+++ b/configure.ac	Tue Jan 12 21:59:14 2016 +0900
@@ -26,7 +26,6 @@
 AC_PROG_EGREP
 AC_PROG_INSTALL
 
-AC_PATH_PROG([LN], [ln], [ln], [$PATH])
 AC_PATH_PROG([ECHO], [echo], [echo], [$PATH])
 
 AC_PATH_PROG([SED], [sed], [], [$PATH])
@@ -385,7 +384,7 @@
 
 # end of configure attacher  ---------------------------------------------------
 
-AC_CONFIG_FILES([Makefile agent/Makefile agent/src/Makefile agent/src/heapstats-engines/Makefile agent/attacher/Makefile agent/attacher/heapstats-attacher agent/src/iotracer/Makefile mbean/Makefile mbean/native/Makefile])
+AC_CONFIG_FILES([Makefile agent/Makefile agent/src/Makefile agent/src/heapstats-engines/Makefile agent/attacher/Makefile agent/attacher/heapstats-attacher agent/src/iotracer/Makefile mbean/Makefile mbean/native/Makefile analyzer/cli/heapstats-cli])
 AC_CONFIG_FILES([agent/heapstats.conf])
 
 AC_OUTPUT
--- a/mbean/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/mbean/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -219,7 +219,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
--- a/mbean/native/Makefile.in	Sun Jan 03 11:59:37 2016 +0900
+++ b/mbean/native/Makefile.in	Tue Jan 12 21:59:14 2016 +0900
@@ -207,7 +207,6 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LN = @LN@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
--- a/specs/heapstats.spec	Sun Jan 03 11:59:37 2016 +0900
+++ b/specs/heapstats.spec	Tue Jan 12 21:59:14 2016 +0900
@@ -50,6 +50,7 @@
   --target=%{_target_platform} \
   --prefix=%{_prefix} \
   --libdir=%{_libdir}/heapstats \
+  --libexecdir=%{_libexecdir}/heapstats \
   --sysconfdir=%{_sysconfdir}/heapstats \
   --disable-vmstructs \
   %{configure_opts} \
@@ -73,19 +74,21 @@
   >> $RPM_BUILD_ROOT/etc/ld.so.conf.d/heapstats-agent.conf
 mkdir -p $RPM_BUILD_ROOT/usr/share/snmp/mibs/
 cp ./agent/mib/HeapStatsMibs.txt $RPM_BUILD_ROOT/usr/share/snmp/mibs/
+
+# We do not privide FX analyzer.
+# So we install CLI analyzer manually.
 mkdir -p ${RPM_BUILD_ROOT}/%{_libexecdir}/heapstats
-cp -fR ./analyzer/cli/target/heapstats-cli-2.0-bin/heapstats-cli-2.0 \
-                           ${RPM_BUILD_ROOT}%{_libexecdir}/heapstats/cli
+cp -fR ./analyzer/cli/target/heapstats-cli-2.0-bin/heapstats-cli-2.0/* \
+                                    ${RPM_BUILD_ROOT}%{_libexecdir}/heapstats/
+cp -f ./analyzer/cli/heapstats-cli ${RPM_BUILD_ROOT}%{_bindir}
+chmod a+x ${RPM_BUILD_ROOT}%{_bindir}/heapstats-cli
 
 %post
-pushd %{_libdir}/heapstats > /dev/null 2>&1
-ln -s libheapstats-2.0.so.3 libheapstats.so
-popd > /dev/null 2>&1
 /sbin/ldconfig
 
 %postun
-rm -f %{_libdir}/heapstats/libheapstats.so
 /sbin/ldconfig
+rm -fR %{_libdir}/heapstats
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -102,16 +105,17 @@
 %dir %{_sysconfdir}/heapstats/iotracer/
 %{_sysconfdir}/heapstats/iotracer/IoTrace.class
 /usr/bin/heapstats-attacher
-/usr/libexec/heapstats-attacher.jar
+/usr/libexec/heapstats/heapstats-attacher.jar
 /etc/ld.so.conf.d/heapstats-agent.conf
 /usr/share/snmp/mibs/HeapStatsMibs.txt
 
 %files cli
-%dir %{_libexecdir}/heapstats/cli/
-%{_libexecdir}/heapstats/cli/heapstats-cli.jar
-%dir %{_libexecdir}/heapstats/cli/lib/
-%{_libexecdir}/heapstats/cli/lib/heapstats-core.jar
-%{_libexecdir}/heapstats/cli/lib/heapstats-mbean.jar
+/usr/bin/heapstats-cli
+%dir %{_libexecdir}/heapstats/
+%{_libexecdir}/heapstats/heapstats-cli.jar
+%dir %{_libexecdir}/heapstats/lib/
+%{_libexecdir}/heapstats/lib/heapstats-core.jar
+%{_libexecdir}/heapstats/lib/heapstats-mbean.jar
 
 
 %changelog