[visualvm/f14/master] initial commit
jiri vanek
jvanek at fedoraproject.org
Thu Nov 25 11:31:34 UTC 2010
commit 29b1490f1e2a5b40596692527185fd793cd94cf1
Author: Jiri Vanek <jvanek at dhcp-2-137.brq.redhat.com>
Date: Thu Nov 25 12:32:13 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