From 700e14271b833bbeefcaf6091a91dfc26e9333b3 Mon Sep 17 00:00:00 2001 From: William Eden Cohen Date: Mon, 26 Oct 2009 20:42:20 +0000 Subject: [PATCH] Initial commit of papi package into fedora. --- .cvsignore | 1 + import.log | 1 + papi-3.7.0-exit.patch | 12 ++++ papi-3.7.0-multiplex.patch | 15 +++++ papi-3.7.0-soname.patch | 60 +++++++++++++++++++ papi-3.7.0-x86-rule.patch | 18 ++++++ papi.spec | 116 +++++++++++++++++++++++++++++++++++++ sources | 1 + 8 files changed, 224 insertions(+) create mode 100644 import.log create mode 100644 papi-3.7.0-exit.patch create mode 100644 papi-3.7.0-multiplex.patch create mode 100644 papi-3.7.0-soname.patch create mode 100644 papi-3.7.0-x86-rule.patch create mode 100644 papi.spec diff --git a/.cvsignore b/.cvsignore index e69de29..cd70e35 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +papi-3.7.0.tar.gz diff --git a/import.log b/import.log new file mode 100644 index 0000000..5907336 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +papi-3_7_0-10:HEAD:papi-3.7.0-10.src.rpm:1256589687 diff --git a/papi-3.7.0-exit.patch b/papi-3.7.0-exit.patch new file mode 100644 index 0000000..b615c78 --- /dev/null +++ b/papi-3.7.0-exit.patch @@ -0,0 +1,12 @@ +diff -ur papi-3.7.0.orig/src/papi_internal.c papi-3.7.0.patches/src/papi_internal.c +--- papi-3.7.0.orig/src/papi_internal.c 2009-08-26 20:01:25.000000000 +0100 ++++ papi-3.7.0.patches/src/papi_internal.c 2009-10-09 10:14:39.665680864 +0100 +@@ -107,7 +107,7 @@ + PAPIERROR(str); + + if (_papi_hwi_error_level == PAPI_VERB_ESTOP) +- exit(-errorCode); ++ abort (); + else + return errorCode; + break; diff --git a/papi-3.7.0-multiplex.patch b/papi-3.7.0-multiplex.patch new file mode 100644 index 0000000..d30a209 --- /dev/null +++ b/papi-3.7.0-multiplex.patch @@ -0,0 +1,15 @@ +diff -up src/multiplex.c.mult src/multiplex.c +--- src/multiplex.c.mult 2009-09-25 12:11:49.451283900 -0400 ++++ src/multiplex.c 2009-09-25 12:12:53.144294969 -0400 +@@ -313,9 +313,10 @@ static MasterEvent *get_my_threads_maste + return (tlist->head); + + tid = _papi_hwi_thread_id_fn(); ++ unsigned long pid = getpid(); + + while (t) { +- if (t->tid == tid) ++ if (t->tid == tid || ((tid==0) && (t->tid==pid))) + return (t->head); + t = t->next; + } diff --git a/papi-3.7.0-soname.patch b/papi-3.7.0-soname.patch new file mode 100644 index 0000000..77ed4b4 --- /dev/null +++ b/papi-3.7.0-soname.patch @@ -0,0 +1,60 @@ +diff -ur papi-3.7.0.orig/src/Rules.perfctr papi-3.7.0.patches/src/Rules.perfctr +--- papi-3.7.0.orig/src/Rules.perfctr 2009-08-24 21:21:29.000000000 +0100 ++++ papi-3.7.0.patches/src/Rules.perfctr 2009-10-09 10:11:53.137683917 +0100 +@@ -69,7 +69,7 @@ + endif + + CC_R := $(CC) -pthread +-CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)" ++CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so.3 -Xlinker "-rpath" -Xlinker "$(LIBDIR)" + + ifeq (pgf77,$(F77)) + FFLAGS += -Wall -Mextend $(BITFLAGS) +diff -ur papi-3.7.0.orig/src/Rules.perfctr-pfm papi-3.7.0.patches/src/Rules.perfctr-pfm +--- papi-3.7.0.orig/src/Rules.perfctr-pfm 2009-08-24 21:21:29.000000000 +0100 ++++ papi-3.7.0.patches/src/Rules.perfctr-pfm 2009-10-09 10:12:13.249680559 +0100 +@@ -78,7 +78,7 @@ + endif + + CC_R := $(CC) -pthread +-CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)" ++CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so.3 -Xlinker "-rpath" -Xlinker "$(LIBDIR)" + + ifeq (pgf77,$(F77)) + FFLAGS += -Wall -Mextend $(BITFLAGS) +diff -ur papi-3.7.0.orig/src/Rules.pfm2 papi-3.7.0.patches/src/Rules.pfm2 +--- papi-3.7.0.orig/src/Rules.pfm2 2009-08-24 21:21:29.000000000 +0100 ++++ papi-3.7.0.patches/src/Rules.pfm2 2009-10-09 10:12:38.552430433 +0100 +@@ -17,7 +17,7 @@ + endif + + CC_R := $(CC) -pthread +-CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)" ++CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so.3 -Xlinker "-rpath" -Xlinker "$(LIBDIR)" + + ifeq (pgf77,$(F77)) + FFLAGS += -Mextend +diff -ur papi-3.7.0.orig/src/Rules.pfm_pcl papi-3.7.0.patches/src/Rules.pfm_pcl +--- papi-3.7.0.orig/src/Rules.pfm_pcl 2009-10-09 10:06:54.326680322 +0100 ++++ papi-3.7.0.patches/src/Rules.pfm_pcl 2009-10-09 10:12:45.255680805 +0100 +@@ -16,7 +16,7 @@ + endif + + CC_R := $(CC) -pthread +-CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)" ++CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so.3 -Xlinker "-rpath" -Xlinker "$(LIBDIR)" + + ifeq (pgf77,$(F77)) + FFLAGS += -Mextend +diff -ur papi-3.7.0.orig/src/Rules.pfm_pcl.x86 papi-3.7.0.patches/src/Rules.pfm_pcl.x86 +--- papi-3.7.0.orig/src/Rules.pfm_pcl.x86 2009-08-24 21:21:29.000000000 +0100 ++++ papi-3.7.0.patches/src/Rules.pfm_pcl.x86 2009-10-09 10:12:52.808555272 +0100 +@@ -16,7 +16,7 @@ + endif + + CC_R := $(CC) -pthread +-CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so -Xlinker "-rpath" -Xlinker "$(LIBDIR)" ++CC_SHR := $(CC) -fPIC -DPIC -shared -Wl,-soname -Wl,libpapi.so.3 -Xlinker "-rpath" -Xlinker "$(LIBDIR)" + + ifeq (pgf77,$(F77)) + FFLAGS += -Mextend diff --git a/papi-3.7.0-x86-rule.patch b/papi-3.7.0-x86-rule.patch new file mode 100644 index 0000000..a0e6941 --- /dev/null +++ b/papi-3.7.0-x86-rule.patch @@ -0,0 +1,18 @@ +diff -up src/Rules.pfm_pcl.x86 src/Rules.pfm_pcl +--- src/Rules.pfm_pcl.x86 2009-08-24 16:21:29.000000000 -0400 ++++ src/Rules.pfm_pcl 2009-09-29 11:11:14.000000000 -0400 +@@ -74,12 +74,9 @@ ifeq (pcl, $(SUBSTR)) + MISCSRCS += sys_perf_counter_open.c + endif + +-ifneq (CRAYX2, $(COMPILER)) +- ifneq (ia64, $(ARCH)) +- ifneq (ppc64, $(ARCH)) ++# Additional ARCH settings for x86 ++ifeq (86, $(findstring 86,$(ARCH))) + MISCSRCS += x86_cache_info.c +- endif +- endif + endif + + # This is necessary to avoid text relocations. You cannot do -Lxx -lx because diff --git a/papi.spec b/papi.spec new file mode 100644 index 0000000..e371ee1 --- /dev/null +++ b/papi.spec @@ -0,0 +1,116 @@ +Summary: Performance Application Programming Interface +Name: papi +Version: 3.7.0 +Release: 10 +License: BSD +Group: Development/System +URL: http://icl.cs.utk.edu/papi/ +Source0: http://icl.cs.utk.edu/projects/papi/downloads/%{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Patch1: papi-3.7.0-multiplex.patch +Patch2: papi-3.7.0-x86-rule.patch +Patch3: papi-3.7.0-soname.patch +Patch4: papi-3.7.0-exit.patch +BuildRequires: ncurses-devel +BuildRequires: gcc-gfortran +BuildRequires: kernel-devel >= 2.6.31 +BuildRequires: chrpath + +%description +PAPI provides a programmer interface to monitor the performance of +running programs. + +%package devel +Summary: Header files for the compiling programs with PAPI +Group: Development/System +Requires: papi = %{version}-%{release} +%description devel +PAPI-devel includes the C header files that specify the PAPI userspace +libraries and interfaces. This is required for rebuilding any program +that uses PAPI. + +%prep +%setup -q +%patch1 -p0 -b .multiplex +%patch2 -p0 -b .x86 +%patch3 -p1 -b .soname +%patch4 -p1 -b .exit + + +%build +cd src +PERF_HEAD=`ls /usr/src/kernels/*/include/linux/perf_counter.h|sort |tail -n 1` || exit 1 +ln -s $PERF_HEAD perf_counter.h +%configure --with-pcl=yes --disable-static +make %{?_smp_mflags} + +#%check +#cd src +#make fulltest + +%install +rm -rf $RPM_BUILD_ROOT +cd src +make DESTDIR=$RPM_BUILD_ROOT install + +chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so* + +# Remove the static libraries. Static libraries are undesirable: +# https://fedoraproject.org/wiki/Packaging/Guidelines#Packaging_Static_Libraries +rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%{_bindir}/* +%{_libdir}/*.so.* +/usr/share/papi +%doc INSTALL.txt README LICENSE.txt RELEASENOTES.txt + +%files devel +%defattr(-,root,root,-) +%{_includedir}/*.h +%{_includedir}/perfmon +%{_libdir}/*.so +%doc %{_mandir}/man3/* + +%changelog +* Fri Oct 09 2009 William Cohen - 3.7.0-10 +- Eliminate the papi-static subpackage. + +* Fri Oct 09 2009 Richard W.M. Jones - 3.7.0-9 +- Fix defattr definitions. + +* Fri Oct 09 2009 Richard W.M. Jones - 3.7.0-8 +- Fix URL and Source0. +- Grammatical corrections to the description sections. +- Remove RPATHs from shared libraries. +- RPM shouldn't own directories. +- Add soname patch so soname is libpapi.so.3. +- Add exit patch so library doesn't call exit directly. + +* Thu Oct 01 2009 William Cohen - 3.7.0-7 +- URL point to place to get download of release. +- Requires for -devel RPM. + +* Tue Sep 29 2009 William Cohen - 3.7.0-6 +- Remove the check section from the spec file. + +* Tue Sep 29 2009 William Cohen - 3.7.0-5 +- Compile x86_cache_info.c only on x86 machines. + +* Fri Sep 25 2009 William Cohen - 3.7.0-4 +- Add patch for multiplex.c. + +* Thu Sep 24 2009 William Cohen - 3.7.0-3 +- Add testing for C and Fortran. + +* Thu Sep 24 2009 William Cohen - 3.7.0-2 +- Split out the static libraries into separate sub package. + +* Wed Sep 23 2009 William Cohen - 3.7.0-1 +- Initial build. diff --git a/sources b/sources index e69de29..a551e1f 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +d20198ecd5afeaa8fd18bc53c47d537d papi-3.7.0.tar.gz