Accepting request 350773 from home:pluskalm:branches:devel:tools

- Update to 1.1.0
  * New/updated Processor Support
    + Broadcom Brahmma-B15 CPU
    + Intel Skylake
    + Intel Airmont
    + Intel Xeon D
  * Bug fixes
    + Prevent dropping of samples when the JVM changes memory 
      mappings
    + Better handling of IBM Power JVM generated zero-sized 
      mappings
    + Correct handling of anon_hugepage mmap entries for Java
    + Improved oparchive documentation and man page
    + Fixed compile error when using compile fortification
    + Support IBM Power 8 event code larger than sizeof int
    + Avoid changing POSIXLY_CORRECT environment variable for 
      processes monitored by operf and ocount
    + Ensure correct setting of the extra bits (edge, inv, cmask) 
      for Intel processors
    + Fix default unit masks for Intel Haswell and Broadwell 
      processors
    + Correctly initialize operf temporary file header information
- Cleanup spec file with spec-cleaner
- Use url for source
- Drop desktop file since binary it is calling is no longer 
  present (at least since version 1.0.0)
- Update dependencies

OBS-URL: https://build.opensuse.org/request/show/350773
OBS-URL: https://build.opensuse.org/package/show/devel:tools/oprofile?expand=0&rev=38
This commit is contained in:
Martin Pluskal 2015-12-25 17:38:30 +00:00 committed by Git OBS Bridge
parent 7da81abab5
commit dfd2c0e8d0
6 changed files with 95 additions and 60 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9db8799b52073f1fa5be7e33b8730eba1a97ea5e3f084081068eac57d80edb9f
size 1027216

3
oprofile-1.1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf759a6de1a6033d5dfc93bda129a9f2e128aecc4238cc657feb0801d1b0366c
size 1468502

View File

@ -6,14 +6,16 @@ Upstream: no
configure.ac | 2 +- configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/configure.ac Index: oprofile-1.1.0/configure.ac
+++ b/configure.ac ===================================================================
@@ -184,7 +184,7 @@ AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HA --- oprofile-1.1.0.orig/configure.ac
+++ oprofile-1.1.0/configure.ac
@@ -205,7 +205,7 @@ rm -f test-for-precise-ip*
AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HAVE_PERF_EVENTS, [Kernel support for perf_events exists])
AC_CANONICAL_HOST AC_CANONICAL_HOST
if test "$HAVE_PERF_EVENTS" = "1"; then PFM_LIB=
PFM_LIB= -if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = "powerpc64"; then
- if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = "powerpc64"; then +if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = "powerpc64" -o "$host_cpu" = "powerpc32"; then
+ if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = "powerpc64" -o "$host_cpu" = "powerpc32"; then AC_CHECK_HEADER(perfmon/pfmlib.h,,[AC_MSG_ERROR([pfmlib.h not found; may be provided by libpfm devel or papi devel package])])
AC_CHECK_HEADER(perfmon/pfmlib.h,,[AC_MSG_ERROR([pfmlib.h not found; may be provided by libpfm devel or papi devel package])]) AC_CHECK_LIB(pfm,pfm_get_os_event_encoding, HAVE_LIBPFM3='0'; HAVE_LIBPFM='1', [
AC_CHECK_LIB(pfm,pfm_get_os_event_encoding, HAVE_LIBPFM3='0'; HAVE_LIBPFM='1', [ AC_CHECK_LIB(pfm, pfm_get_event_name, HAVE_LIBPFM3='1'; HAVE_LIBPFM='1',
AC_CHECK_LIB(pfm, pfm_get_event_name, HAVE_LIBPFM3='1'; HAVE_LIBPFM='1',

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Fri Dec 25 10:07:44 UTC 2015 - mpluskal@suse.com
- Update to 1.1.0
* New/updated Processor Support
+ Broadcom Brahmma-B15 CPU
+ Intel Skylake
+ Intel Airmont
+ Intel Xeon D
* Bug fixes
+ Prevent dropping of samples when the JVM changes memory
mappings
+ Better handling of IBM Power JVM generated zero-sized
mappings
+ Correct handling of anon_hugepage mmap entries for Java
+ Improved oparchive documentation and man page
+ Fixed compile error when using compile fortification
+ Support IBM Power 8 event code larger than sizeof int
+ Avoid changing POSIXLY_CORRECT environment variable for
processes monitored by operf and ocount
+ Ensure correct setting of the extra bits (edge, inv, cmask)
for Intel processors
+ Fix default unit masks for Intel Haswell and Broadwell
processors
+ Correctly initialize operf temporary file header information
- Cleanup spec file with spec-cleaner
- Use url for source
- Drop desktop file since binary it is calling is no longer
present (at least since version 1.0.0)
- Update dependencies
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 19 16:05:07 UTC 2014 - tonyj@suse.com Fri Sep 19 16:05:07 UTC 2014 - tonyj@suse.com

View File

@ -1,7 +0,0 @@
[Desktop Entry]
Type=Application
Exec=oprof_start
Name=OProfile
GenericName=System Wide Profiler
X-KDE-SubstituteUID=true

View File

@ -1,7 +1,7 @@
# #
# spec file for package oprofile # spec file for package oprofile
# #
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,33 +17,39 @@
Name: oprofile Name: oprofile
BuildRequires: binutils-devel Version: 1.1.0
BuildRequires: fdupes
BuildRequires: java2-devel-packages
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: popt-devel
BuildRequires: qt-devel
BuildRequires: update-desktop-files
%ifarch ppc ppc64 ppc64le
BuildRequires: libpfm-devel >= 4.3.0
%endif
Url: http://oprofile.sourceforge.net/
PreReq: /usr/sbin/groupadd /usr/sbin/useradd
Version: 1.0.0
Release: 0 Release: 0
Summary: System-Wide Profiler for Linux Systems Summary: System-Wide Profiler for Linux Systems
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Development/Tools/Other Group: Development/Tools/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://oprofile.sourceforge.net/
Source: %{name}-%{version}.tar.bz2 Source0: http://prdownloads.sourceforge.net/oprofile/oprofile-%{version}.tar.gz
Source1: %{name}.desktop
Source2: %{name}.rpmlintrc Source2: %{name}.rpmlintrc
Source3: baselibs.conf Source3: baselibs.conf
Source4: jvmpi.h Source4: jvmpi.h
Source5: README-BEFORE-ADDING-PATCHES Source5: README-BEFORE-ADDING-PATCHES
Patch1: %{name}-no-libjvm-version.patch Patch1: %{name}-no-libjvm-version.patch
Patch2: %{name}-pfm-ppc.patch Patch2: %{name}-pfm-ppc.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: binutils-devel
BuildRequires: docbook-utils
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: java2-devel-packages
BuildRequires: libICE-devel
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: pkg-config
BuildRequires: popt-devel
BuildRequires: qt-devel
BuildRequires: zlib-devel
Requires(pre): %{_sbindir}/groupadd %{_sbindir}/useradd
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifarch ppc ppc64 ppc64le
BuildRequires: libpfm-devel >= 4.3.0
%endif
%description %description
OProfile is a system-wide profiler for Linux systems, capable of OProfile is a system-wide profiler for Linux systems, capable of
@ -89,7 +95,7 @@ OProfile is a system-wide profiler for Linux systems, capable of
profiling all running code at low overhead. OProfile is released under profiling all running code at low overhead. OProfile is released under
the GNU GPL. the GNU GPL.
This package contains the library needed at runtime when profiling JITed code This package contains the library needed at runtime when profiling JITed code
from supported virtual machines. from supported virtual machines.
%prep %prep
@ -101,14 +107,13 @@ mkdir -p java/include
# copy files necessary to build Java agent libraries # copy files necessary to build Java agent libraries
# libjvmpi_oprofile.so and libjvmti_oprofile.so # libjvmpi_oprofile.so and libjvmti_oprofile.so
# %S:4 is rpm speak for Source4 (jvmpi.h) # %S:4 is rpm speak for Source4 (jvmpi.h)
ln -s %_libdir/jvm/java/include/* java/include ln -s %{_libdir}/jvm/java/include/* java/include
test -f java/include/jvmpi.h || ln -s %{S:4} java/include test -f java/include/jvmpi.h || ln -s %{SOURCE4} java/include
%build %build
sh autogen.sh ./autogen.sh
./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ %configure \
--prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \ --with-java=$PWD/java
--with-java=$PWD/java --enable-gui=qt4
# Change DATE/TIME macros to use last change time of oprofile.changes # Change DATE/TIME macros to use last change time of oprofile.changes
# See http://lists.opensuse.org/opensuse-factory/2011-05/msg00304.html # See http://lists.opensuse.org/opensuse-factory/2011-05/msg00304.html
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
@ -116,32 +121,36 @@ DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\"" TIME="\"$(date -d "${modified}" "+%%R")\""
find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec grep -E -e __DATE__ -e __TIME__ {} + find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec grep -E -e __DATE__ -e __TIME__ {} +
find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
make %{?jobs:-j%jobs} make %{?_smp_mflags}
%install %install
make DESTDIR=$RPM_BUILD_ROOT htmldir=%{_docdir}/oprofile install make DESTDIR=%{buildroot} htmldir=%{_docdir}/oprofile install
%suse_update_desktop_file -i %name Development Profiling rm -f %{buildroot}%{_libdir}/oprofile/libopagent.*a
rm -f $RPM_BUILD_ROOT%{_libdir}/oprofile/libopagent.*a
# Hardlink duplicate files automatically (from package fdupes): # Hardlink duplicate files automatically (from package fdupes):
# It doesn't save much, but it keeps rpmlint from breaking the package build. # It doesn't save much, but it keeps rpmlint from breaking the package build.
%fdupes $RPM_BUILD_ROOT %fdupes %{buildroot}
%pre %pre
/usr/sbin/groupadd -r oprofile 2>/dev/null || : %{_sbindir}/groupadd -r oprofile 2>/dev/null || :
/usr/sbin/useradd -r -g oprofile -d /var/lib/empty -s /bin/false -c "Special user account to be used by OProfile" oprofile 2>/dev/null || : %{_sbindir}/useradd -r -g oprofile -d %{_localstatedir}/lib/empty -s /bin/false -c "Special user account to be used by OProfile" oprofile 2>/dev/null || :
%post -n libopagent1 -p /sbin/ldconfig %post -n libopagent1 -p /sbin/ldconfig
%postun -n libopagent1 -p /sbin/ldconfig %postun -n libopagent1 -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root) %defattr(-,root,root)
/usr/bin/* %{_bindir}/ocount
/usr/share/applications/*.desktop %{_bindir}/ophelp
/usr/share/oprofile %{_bindir}/opimport
%{_bindir}/opannotate
%{_bindir}/opgprof
%{_bindir}/opreport
%{_bindir}/oparchive
%{_bindir}/opjitconv
%{_bindir}/op-check-perfevents
%{_bindir}/operf
%{_datadir}/oprofile
%{_mandir}/man1/* %{_mandir}/man1/*
%{_libdir}/oprofile/libjvm[tp]i_oprofile.so %{_libdir}/oprofile/libjvm[tp]i_oprofile.so
%exclude %{_libdir}/oprofile/libjvm[tp]i_oprofile.*a %exclude %{_libdir}/oprofile/libjvm[tp]i_oprofile.*a
@ -150,8 +159,8 @@ rm -rf $RPM_BUILD_ROOT
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
/usr/include/* %{_includedir}/*
%doc doc/op-jit-devel.html %doc doc/op-jit-devel.html
%dir %{_libdir}/oprofile %dir %{_libdir}/oprofile
%{_libdir}/oprofile/libopagent.so %{_libdir}/oprofile/libopagent.so