Revive libpfm and import (#804666).
This commit is contained in:
parent
1d75737b06
commit
9ae3bad453
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/libpfm-4.2.0.tar.gz
|
@ -1,2 +0,0 @@
|
||||
Obsolete package
|
||||
|
24
libpfm-siginfo_t.patch
Normal file
24
libpfm-siginfo_t.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -up libpfm-4.2.0/perf_examples/notify_group.c.siginfo_t libpfm-4.2.0/perf_examples/notify_group.c
|
||||
--- libpfm-4.2.0/perf_examples/notify_group.c.siginfo_t 2012-06-07 14:48:30.969999948 -0400
|
||||
+++ libpfm-4.2.0/perf_examples/notify_group.c 2012-06-07 14:49:13.124000197 -0400
|
||||
@@ -51,7 +51,7 @@ static int num_fds;
|
||||
static int buffer_pages = 1; /* size of buffer payload (must be power of 2) */
|
||||
|
||||
static void
|
||||
-sigio_handler(int n, struct siginfo *info, struct sigcontext *sc)
|
||||
+sigio_handler(int n, siginfo_t *info, struct sigcontext *sc)
|
||||
{
|
||||
struct perf_event_mmap_page *hdr;
|
||||
struct perf_event_header ehdr;
|
||||
diff -up libpfm-4.2.0/perf_examples/notify_self.c.siginfo_t libpfm-4.2.0/perf_examples/notify_self.c
|
||||
--- libpfm-4.2.0/perf_examples/notify_self.c.siginfo_t 2012-06-07 14:48:39.559998906 -0400
|
||||
+++ libpfm-4.2.0/perf_examples/notify_self.c 2012-06-07 14:49:02.143000006 -0400
|
||||
@@ -47,7 +47,7 @@ static int num_fds = 0;
|
||||
static int buffer_pages = 1; /* size of buffer payload (must be power of 2)*/
|
||||
|
||||
static void
|
||||
-sigio_handler(int n, struct siginfo *info, void *uc)
|
||||
+sigio_handler(int n, siginfo_t *info, void *uc)
|
||||
{
|
||||
struct perf_event_header ehdr;
|
||||
int ret, id;
|
132
libpfm.spec
Normal file
132
libpfm.spec
Normal file
@ -0,0 +1,132 @@
|
||||
%bcond_without python
|
||||
%if %{with python}
|
||||
%define python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
|
||||
%define python_prefix %(python -c "import sys; print sys.prefix")
|
||||
%{?filter_setup:
|
||||
%filter_provides_in %{python_sitearch}/perfmon/.*\.so$
|
||||
%filter_setup
|
||||
}
|
||||
%endif
|
||||
|
||||
Name: libpfm
|
||||
Version: 4.2.0
|
||||
Release: 6%{?dist}
|
||||
|
||||
Summary: Library to encode performance events for use by perf tool
|
||||
|
||||
Group: System Environment/Libraries
|
||||
License: MIT
|
||||
URL: http://perfmon2.sourceforge.net/
|
||||
Source0: http://sourceforge.net/projects/perfmon2/files/libpfm4/%{name}-%{version}.tar.gz
|
||||
Patch1: libpfm4-python.patch
|
||||
Patch2: libpfm-siginfo_t.patch
|
||||
|
||||
%if %{with python}
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-setuptools-devel
|
||||
BuildRequires: swig
|
||||
%endif
|
||||
|
||||
%description
|
||||
|
||||
libpfm4 is a library to help encode events for use with operating system
|
||||
kernels performance monitoring interfaces. The current version provides support
|
||||
for the perf_events interface available in upstream Linux kernels since v2.6.31.
|
||||
|
||||
%package devel
|
||||
Summary: Development library to encode performance events for perf_events based tools
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}
|
||||
|
||||
%description devel
|
||||
Development library and header files to create performance monitoring
|
||||
applications for the perf_events interface.
|
||||
|
||||
%package static
|
||||
Summary: Static library to encode performance events for perf_events based tools
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}
|
||||
|
||||
%description static
|
||||
Static version of the libpfm library for performance monitoring
|
||||
applications for the perf_events interface.
|
||||
|
||||
%if %{with python}
|
||||
%package python
|
||||
Summary: Python bindings for libpfm and perf_event_open system call
|
||||
Group: Development/Languages
|
||||
Requires: %{name}%{?_isa} = %{version}
|
||||
|
||||
%description python
|
||||
Python bindings for libpfm4 and perf_event_open system call.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
%if %{with python}
|
||||
%global python_config CONFIG_PFMLIB_NOPYTHON=n
|
||||
%else
|
||||
%global python_config CONFIG_PFMLIB_NOPYTHON=y
|
||||
%endif
|
||||
make %{python_config} %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%if %{with python}
|
||||
%global python_config CONFIG_PFMLIB_NOPYTHON=n PYTHON_PREFIX=$RPM_BUILD_ROOT/%{python_prefix}
|
||||
%else
|
||||
%global python_config CONFIG_PFMLIB_NOPYTHON=y
|
||||
%endif
|
||||
|
||||
make \
|
||||
PREFIX=$RPM_BUILD_ROOT%{_prefix} \
|
||||
LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
|
||||
%{python_config} \
|
||||
install
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%doc README
|
||||
%{_libdir}/lib*.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
%{_mandir}/man3/*
|
||||
%{_libdir}/lib*.so
|
||||
|
||||
%files static
|
||||
%{_libdir}/lib*.a
|
||||
|
||||
%if %{with python}
|
||||
%files python
|
||||
%{python_sitearch}/*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Jun 7 2012 William Cohen <wcohen@redhat.com> 4.2.0-6
|
||||
- Eliminate rpm_build_root macro in build section.
|
||||
- Correct location of shared library files.
|
||||
|
||||
* Thu Jun 7 2012 William Cohen <wcohen@redhat.com> 4.2.0-5
|
||||
- Use siginfo_t for some examples.
|
||||
|
||||
* Mon Jun 4 2012 William Cohen <wcohen@redhat.com> 4.2.0-4
|
||||
- Correct python files.
|
||||
|
||||
* Wed Mar 28 2012 William Cohen <wcohen@redhat.com> 4.2.0-3
|
||||
- Additional spec file fixup for rhbz804666.
|
||||
|
||||
* Wed Mar 14 2012 William Cohen <wcohen@redhat.com> 4.2.0-2
|
||||
- Some spec file fixup.
|
||||
|
||||
* Wed Jan 12 2011 Arun Sharma <asharma@fb.com> 4.2.0-0
|
||||
Initial revision
|
35
libpfm4-python.patch
Normal file
35
libpfm4-python.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From fe0b30189334f048db0cab10987b9e2295c5b93c Mon Sep 17 00:00:00 2001
|
||||
From: Arun Sharma <asharma@fb.com>
|
||||
Date: Thu, 26 Apr 2012 17:37:02 +0200
|
||||
Subject: [PATCH] drop shbang from python scripts
|
||||
|
||||
do not make then executable by dropping the
|
||||
!/usr/bin/env python invocation.
|
||||
|
||||
Signed-off-by: Arun Sharma <asharma@fb.com>
|
||||
---
|
||||
python/src/pmu.py | 1 -
|
||||
python/src/session.py | 1 -
|
||||
2 files changed, 0 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/python/src/pmu.py b/python/src/pmu.py
|
||||
index e90b72a..47c3e75 100644
|
||||
--- a/python/src/pmu.py
|
||||
+++ b/python/src/pmu.py
|
||||
@@ -1,4 +1,3 @@
|
||||
-#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2008 Google, Inc.
|
||||
# Contributed by Arun Sharma <arun.sharma@google.com>
|
||||
diff --git a/python/src/session.py b/python/src/session.py
|
||||
index df22ea6..f598aa4 100644
|
||||
--- a/python/src/session.py
|
||||
+++ b/python/src/session.py
|
||||
@@ -1,4 +1,3 @@
|
||||
-#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2008 Google, Inc.
|
||||
# Contributed by Arun Sharma <arun.sharma@google.com>
|
||||
--
|
||||
1.7.4.1
|
||||
|
Loading…
Reference in New Issue
Block a user