[visualvm] initial commit

jiri vanek jvanek at fedoraproject.org
Thu Nov 25 11:31:21 UTC 2010


commit d383d8cbe373519f1f380b77da87e47feea753b6
Author: Jiri Vanek <jvanek at dhcp-2-137.brq.redhat.com>
Date:   Thu Nov 25 12:31:48 2010 +0100

    initial commit

 .gitignore               |    4 +
 jvisualvm-luncher.patch  |   22 ++++++
 sources                  |    4 +
 visualvm-debuginfo.patch |   24 ++++++
 visualvm.spec            |  180 ++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 234 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..60fd89e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/build.jar.tar.gz
+/netbeans-profiler-visualvm_release69.tar.gz
+/visualvm_13-src.tar.gz
+/visualvm_harness-1.0.tar.gz
diff --git a/jvisualvm-luncher.patch b/jvisualvm-luncher.patch
new file mode 100644
index 0000000..bfc328c
--- /dev/null
+++ b/jvisualvm-luncher.patch
@@ -0,0 +1,22 @@
+--- visualvm/launcher/visualvm	2010-11-22 09:22:54.055717346 +0100
++++ visualvm/launcher/visualvm	2010-11-22 09:28:49.441713784 +0100
+@@ -25,8 +25,9 @@
+ elif [ -f "$progdir/../etc/$APPNAME".conf ] ; then
+      BASEDIR="$progdir/../"
+ fi
++BASEDIR="/XprefixX/"
+ 
+-. "$BASEDIR/etc/$APPNAME".conf
++. "/etc/$APPNAME".conf
+ 
+ # XXX does not correctly deal with spaces in non-userdir params
+ args=""
+@@ -74,7 +75,7 @@
+   done
+ }
+ 
+-clusters=`(cat "$BASEDIR/etc/$APPNAME".clusters; echo) | readClusters | tr '\012' ':'`
++clusters=`(cat "/etc/$APPNAME".clusters; echo) | readClusters | tr '\012' ':'`
+ 
+ if [ ! -z "$extra_clusters" ] ; then
+     clusters="$clusters:$extra_clusters"
diff --git a/sources b/sources
index e69de29..5d297a0 100644
--- a/sources
+++ b/sources
@@ -0,0 +1,4 @@
+44f6465fc9a7ae73f7f2c21291cdd22a  build.jar.tar.gz
+aeca7cbd0f1dfb30858d80fa1e150820  netbeans-profiler-visualvm_release69.tar.gz
+f1a28e24451982114be6590ceddeae12  visualvm_13-src.tar.gz
+3dac8c562bc847d2782bdc192826271f  visualvm_harness-1.0.tar.gz
diff --git a/visualvm-debuginfo.patch b/visualvm-debuginfo.patch
new file mode 100644
index 0000000..d3c5b41
--- /dev/null
+++ b/visualvm-debuginfo.patch
@@ -0,0 +1,24 @@
+diff -up ./netbeans/lib.profiler/native/build/buildnative-linux.sh.sav ./netbeans/lib.profiler/native/build/buildnative-linux.sh
+--- ./netbeans/lib.profiler/native/build/buildnative-linux.sh.sav	2010-10-06 18:13:51.305833833 -0700
++++ ./netbeans/lib.profiler/native/build/buildnative-linux.sh	2010-10-06 18:14:00.653893178 -0700
+@@ -5,7 +5,7 @@ BuildForJDK()
+         JAVA_HOME=$1
+         JDK_ID=$2
+ 	echo $JAVA_HOME $JDK_ID
+-	gcc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -DLINUX -pthread -fPIC -shared -O3 -Wall \
++	gcc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -DLINUX -pthread -fPIC -shared -O3 -Wall -g \
+ 	-o ../../release/lib/deployed/$JDK_ID/linux/libprofilerinterface.so \
+ 	../src-jdk15/class_file_cache.c \
+ 	../src-jdk15/attach.c \
+diff -up ./netbeans/lib.profiler/native/build/buildnative-linux64.sh.sav ./netbeans/lib.profiler/native/build/buildnative-linux64.sh
+--- ./netbeans/lib.profiler/native/build/buildnative-linux64.sh.sav	2010-10-06 18:14:05.855642743 -0700
++++ ./netbeans/lib.profiler/native/build/buildnative-linux64.sh	2010-10-06 18:29:26.111892884 -0700
+@@ -5,7 +5,7 @@ BuildForJDK()
+         JAVA_HOME=$1
+         JDK_ID=$2
+         echo $JAVA_HOME $JDK_ID
+-	gcc32 -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -DLINUX -pthread -fPIC -shared -O3 -Wall -m64  \
++	gcc32 -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -DLINUX -pthread -fPIC -shared -O3 -Wall -m64 -g \
+ 	-o ../../release/lib/deployed/$JDK_ID/linux-amd64/libprofilerinterface.so \
+ 	../src-jdk15/class_file_cache.c \
+ 	../src-jdk15/attach.c \
diff --git a/visualvm.spec b/visualvm.spec
new file mode 100644
index 0000000..74bab9e
--- /dev/null
+++ b/visualvm.spec
@@ -0,0 +1,180 @@
+%global nbprofilerurl https://visualvm.dev.java.net/files/documents/7163/152022/
+%global visualvmurl https://visualvm.dev.java.net/files/documents/7163/151835/
+%global visualvmharnessver 1.0 
+
+Name:       visualvm    
+Version:    1.3
+Release:    9%{?dist}
+Summary:    Lightweight profiler that integrates many command-line JDK tools
+
+Group:      Development/Tools  
+License:    GPLv2 and GPLv2+ and (GPLv2 with exceptions or CDDL)
+URL:        http://visualvm.dev.java.net/
+Source0:    http://icedtea.classpath.org/download/source/visualvm_harness-%{visualvmharnessver}.tar.gz
+Source1:    %{visualvmurl}/visualvm_13-src.tar.gz
+Source2:    %{nbprofilerurl}/netbeans-profiler-visualvm_release69.tar.gz
+Source3:    build.jar.tar.gz
+
+Patch0:   visualvm-debuginfo.patch
+Patch1:   jvisualvm-luncher.patch
+
+BuildRoot:  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+BuildRequires:    netbeans >= 6.9
+BuildRequires:    wget
+BuildRequires:    java >= 1.6.0 
+BuildRequires:    java-devel >= 1.6.0 
+BuildRequires:    jakarta-commons-logging
+BuildRequires:    desktop-file-utils
+
+Requires:         netbeans >= 6.9
+Requires:         netbeans-platform >= 6.9
+Requires:         java >= 1.6.0 
+
+Conflicts:        java-1.6.0-openjdk <= 1:1.6.0.0-43
+
+
+%description
+VisualVM is a visual tool integrating several command-line JDK tools and
+lightweight profiling capabilities. Designed for both production and
+development time use, it further enhances the capability of monitoring and
+performance analysis for the Java SE platform. 
+
+
+%prep
+%setup -q -n visualvm_harness-%{visualvmharnessver}
+#untar sources of bundled jar, because all other sources are unntared by make
+tar -zxvf %{SOURCE3} -C .
+
+%build
+./configure --libdir=%{_libdir} \
+            --prefix=%{_libdir}/%{name} \
+            --with-visualvm-zip=%{SOURCE1} \
+            --with-netbeans-profiler-zip=%{SOURCE2} \
+            --with-visualvm-version=1.3 
+#            --sysconfdir=/etc - is ignored!
+
+#applying patch - not standard. But patch is applied to script called by make. Thats why it's here.
+make extract-netbeans-profiler
+patch -p0 < %{PATCH0}
+
+#build bundled jar
+rm netbeans/nbbuild/sierra/build.jar
+javac build.jar/build/build.java
+jar cvf netbeans/nbbuild/sierra/build.jar build.jar/*
+
+make
+
+patch -p0 < %{PATCH1}
+sed -i -e s:"^#jdkhome=.*":jdkhome="/usr/lib/jvm/java":g \
+    visualvm/launcher/visualvm.conf    
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/share
+
+desktop-file-install --vendor ''\
+  --dir $RPM_BUILD_ROOT%{_datadir}/applications visualvm.desktop
+
+#silence rpmlint for necessary empty files
+find $RPM_BUILD_ROOT/%{_libdir}/visualvm/visualvm/config/Modules/  -type f -empty | while read FILE; do echo "
+" > $FILE;done
+
+echo "
+" > $RPM_BUILD_ROOT/%{_libdir}/visualvm/profiler/.lastModified
+
+
+# little hell is comming - make istall is generating totaly weird and useless directory structure, so we need to link it from right place to right place an more
+mkdir $RPM_BUILD_ROOT/etc
+mv  $RPM_BUILD_ROOT/%{_libdir}/visualvm/etc/visualvm.conf $RPM_BUILD_ROOT/etc/jvisualvm.conf
+mv $RPM_BUILD_ROOT/%{_libdir}/visualvm/etc/visualvm.clusters $RPM_BUILD_ROOT/etc/jvisualvm.clusters
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/visualvm/etc/
+#I did not found where this substitution is done. reverting it back.
+sed 's/APPNAME=visualvm/APPNAME=`basename "$0"`/g'  < $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/jvisualvm >  $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/visualvm
+rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/jvisualvm
+
+#replace all / in prefix by \/ to be usable in sed
+SEDPREFIX=%{_libdir}/%{name}
+SEDPREFIX2=`echo $SEDPREFIX | sed 's/\//\\\\\//g'`
+echo $SEDPREFIX2
+
+#will write path where the file is installed to launcher. Needed for /etc hack
+sed s/XprefixX/$SEDPREFIX2/g  < $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/visualvm >  $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/jvisualvm
+#remove source binary
+rm $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/visualvm
+
+#move launcher from libdir tu /usr/bin
+mkdir $RPM_BUILD_ROOT/%{_bindir}/
+mv $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin/jvisualvm   $RPM_BUILD_ROOT/%{_bindir}/
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/%{name}/bin
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%attr(0755,root,root) %{_bindir}/jvisualvm
+%{_libdir}/visualvm/
+%config(noreplace) /etc/jvisualvm.conf
+%config(noreplace) /etc/jvisualvm.clusters
+%{_datadir}/applications/visualvm.desktop
+%doc README
+%doc INSTALL
+%doc COPYING
+
+
+%changelog
+* Wed Nov 24 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-9
+- updated license
+
+* Tue Nov 23 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-8
+- application moved from prefix to libdir/name
+- removed fc15 from conficts, and increased release number of conflicted openjdk.
+
+* Thu Nov 22 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-7
+- removed /etc symlink
+- patched jvisualvm luncher to follow to /etc instead of prefix/etc
+
+* Thu Nov 16 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-6
+- all simlinks and last modified moved from to install
+
+
+* Thu Nov 16 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-5
+- repaired missing slash at platform
+
+* Thu Nov 15 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-4
+- added symlinks for: etc, profiler, platform, visualvm 
+- sed and renaming of visualvm script
+
+* Thu Oct 6 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-3
+- fixed license file
+- hacked empty files
+- repaired .lastModified file to be tuched in post
+- (rev 6)remove ./lastModified in postun
+- (rev 5)removed and rebuilded build.jar from nb (proof of rebuilding)
+- noarch added, and removed -caused error "arch dependent binaries in noarch package" 
+- (rev 4)fixed define->global macro
+- (rev1 )added --sysconfdir=/etc to .configure
+- (rev1 ) --sysconfdir=/etc is not working, _libdir/visualvm/etc/visualvm.conf and _libdir/visualvm/etc/visualvm.clusters moved to /etc, visualvm/etc/ removed
+- (rev 2) added owenership for lib[64]/visualvm/
+- (rev 7) sed moved from install to build. Seams to have no evil efect to functionality
+- (rev 3) removed  _prefix/jvm/java-openjdk-jvisualvm/bin/jvisualvm and _prefix/jvm/java-openjdk-jvisualvm/share/visualvm.desktop (then jvm dir becomes empty - delete also. Both script and desktop file are before placed to right places.
+- {_prefix}/jvm/java-openjdk-jvisualvm changed to {_prefix}
+
+
+* Thu Oct 6 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-2
+- fixed noreplace config files
+- applied patch visualvm-debuginfo
+
+
+* Thu Sep 30 2010 Jiri Vanek  <jvanek at redhat.com> - 1.3-1
+- fixed installpath out of poor /user
+- fixed missing requirments
+
+
+* Thu Sep 16 2010 Deepak Bhole <dbhole at redhat.com> - 1.3-0
+- Initial build.


More information about the scm-commits mailing list