# # spec file for package libpfm # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{!?with_python: %global with_python 1} Name: libpfm Version: 4.3.0 Release: 0 %define vname libpfm4 Summary: Library to encode performance events License: MIT Group: Development/Libraries/C and C++ Url: http://perfmon2.sourceforge.net/ Source: %{name}-%{version}.tar.bz2 Source1: baselibs.conf %if %{with_python} BuildRequires: python-devel BuildRequires: swig %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This package provides a library that can be used to encode events into the format required by the operating systems performance monitoring subsystem. %package -n %{vname} Summary: Runtime library to encode performance events for use by perf tool Group: System/Libraries %description -n %{vname} This package provides a library that can be used to encode events into the format required by the operating systems performance monitoring subsystem. The library does not make any performance monitoring system calls, it simply provides a method to convert an event name, expressed as a string, to an event encoding. The user of the library may use this event encoding in a subsequent system call. The current libpfm4 provides support for the perf_events interface which was introduced in Linux v2.6.31. %package devel Summary: Development library to encode performance events for perf_events interface Group: Development/Libraries/C and C++ Requires: %{vname} = %{version} %description devel This package provides development libraries and header files used to encode performance events for perf_events interface. %package devel-static Summary: Static library version of libpfm Group: Development/Libraries/C and C++ Requires: %name-devel = %version %description devel-static This package contains the static variant of libpfm. %if %{with_python} %package -n python-%name Summary: Python bindings for libpfm and perf_event_open system call Group: Development/Libraries/Python Requires: %{vname} = %{version} %description -n python-%name This package provides python bindings for the libpfm4 package and the perf_event_open system call. %endif %prep %setup -q %build %if %{with_python} %global python_config CONFIG_PFMLIB_NOPYTHON=n %else %global python_config CONFIG_PFMLIB_NOPYTHON=y %endif make %{?_smp_mflags} %{python_config} %install %if %{with_python} %global python_config CONFIG_PFMLIB_NOPYTHON=n PYTHON_PREFIX="%buildroot/%py_prefix" %else %global python_config CONFIG_PFMLIB_NOPYTHON=y %endif make \ PREFIX="%buildroot/%_prefix" \ LIBDIR="%buildroot/%_libdir" \ %{python_config} \ LDCONFIG=/bin/true \ install %if %{with_python} # temp hack to fix rpmlint file-contains-buildroot for *.pyc # http://lists.opensuse.org/opensuse-factory/2012-01/msg00235.html find "%{buildroot}/%{python_sitearch}/" -name '*.pyc' -delete %__python -c 'import compileall; compileall.compile_dir("%{buildroot}%{python_sitearch}/", ddir="%{python_sitearch}/", force=1)' %endif %post -n %{vname} -p /sbin/ldconfig %postun -n %{vname} -p /sbin/ldconfig %files -n %{vname} %defattr(644,root,root,755) %doc README %attr(755,root,root) %{_libdir}/lib*.so.* %files devel %defattr(644,root,root,755) %{_includedir}/* %{_mandir}/man3/* %{_libdir}/lib*.so %files devel-static %defattr(-,root,root) %{_libdir}/lib*.a %if %{with_python} %files -n python-%name %defattr(644,root,root,755) %attr(755,root,root) %{python_sitearch}/* %endif %changelog