# Copyright (c) 2016 Dave Love, Liverpool University # MIT licence, per Fedora policy. %global mainver 1.1 %global subver 10 Name: eztrace Version: %mainver.%subver Release: 1%{?dist} Summary: Generate execution traces from HPC programs License: CeCILL-B URL: https://eztrace.gitlab.io/eztrace/ # no point in variables here Source0: https://gitlab.com/eztrace/eztrace/-/archive/eztrace-%mainver-%subver/eztrace-eztrace-%mainver-%subver.tar.gz # From previous repo, as we can't build it, e.g. # https://salsa.debian.org/debian/eztrace/-/raw/master/doc/user_manual.pdf Source1: eztrace-user_manual.pdf BuildRequires: %{?el7:papi60-}papi-devel automake libtool chrpath gcc-c++ BuildRequires: binutils-devel doxygen elfutils-libelf-devel opari2 # Needs pgfplots, which isn't packaged #BuildRequires: latexmk texlive-latex Requires: opari2 %description EZTrace is a tool that aims to generate execution traces automatically from HPC (High Performance Computing) programs. It generates execution trace files that can be interpreted by a visualization tools such as ViTE. If you want to understand your application performance, just run it with EZTrace and use the ViTE (Visual Trace Explorer) tool to visualize the program behavior. %package openmpi Summary: OpenMPI module for %name BuildRequires: openmpi-devel Requires: openmpi%{?_isa} %name%{?_isa} = %version-%release %description openmpi OpenMPI module for %name. %package devel Summary: Development files for %name Requires: %name%{?_isa} = %version-%release %description devel Development files for %name. %package -n otf-tracing Summary: Open Trace Format URL: https://tu-dresden.de/zih/forschung/projekte/otf License: BSD %description -n otf-tracing Trace format for parallel programs. Note this is obsolete, superceded by OTF2. It is provided only for support of specific programs that require it now that it has been removed from openmpi. %package -n otf-tracing-devel Summary: Development files for otf-tracing. Requires: otf-tracing%{?_isa} = %version-%release %description -n otf-tracing-devel Development files for otf-tracing. %package -n gtg Summary: Generic Trace Generator URL: http://gtg.gforge.inria.fr/ License: CeCILL-C %description -n gtg Generic Trace Generator (GTG) aims to provide a simple and generic interface for generating execution traces in several formats (OTF, Paje, etc.). It is used by EZTrace and ViTE, but it can also be used by any application. %package -n gtg-devel Summary: Development files for gtg Requires: gtg%{?_isa} = %version-%release %description -n gtg-devel Development files for gtg. %prep %setup -q -n eztrace-eztrace-%mainver-%subver ./bootstrap cp %SOURCE1 doc/user_manual.pdf %build %{?el7:. /opt/rh/papi60/enable export LDFLAGS=-L/opt/rh/papi60/root%_libdir} %_openmpi_load CFLAGS=-std=gnu99 LDFLAGS="$LDFLAGS -Wl,--as-needed" %configure --disable-static --with-papi%{?el7:=/opt/rh/papi60/root/usr} --enable-openmp --with-mpi-include=$MPI_INCLUDE --with-mpi-ldflags=-L$MPI_INCLUDE %make_build %install %_openmpi_load %make_install find %buildroot -name opari2\* | xargs rm -rf mv %buildroot%_docdir/eztrace/gtg %buildroot%_pkgdocdir || true mkdir -p %buildroot$MPI_LIB %buildroot%_includedir/eztrace mv %buildroot%_libdir/libeztrace*-mpi* %buildroot$MPI_LIB # EVerything except OTF* and GTG* mv %buildroot%_includedir/[a-z]*.[ch] %buildroot%_includedir/eztrace for f in %buildroot%_bindir/*; do chrpath -d $f || :; done for f in %buildroot%_bindir/*; do chrpath -l $f || :; done chrpath -d %buildroot%_libdir/*.so.*.* %buildroot%_libdir/openmpi/lib/*.so.*.* find %buildroot%_libdir -name \*.la rm -rf %buildroot%_docdir/eztrace/gtg cp extlib/gtg/extlib/otf/otflib/otf.h %buildroot%_includedir rm -r %buildroot%_datadir/open-trace-format %check # currently fails two tests #make check %ldconfig_scriptlets %ldconfig_scriptlets -n otf-tracing %ldconfig_scriptlets -n gtg %files %doc doc/user_manual.pdf AUTHORS ChangeLog README* example %license COPYING %exclude %_libdir/*a %exclude %_bindir/Makefile.template %exclude %_bindir/otf* %exclude %_bindir/gtg* %exclude %_libdir/libpomp2.* %_libdir/*.so.* %_libdir/libeztrace*.so %_bindir/* %files devel %exclude %_includedir/OTF* %exclude %_includedir/otf.h %_includedir/eztrace %_libdir/*.so %dir %_libdir/pkgconfig %_libdir/pkgconfig/eztrace.pc %_datadir/%name %files openmpi %_libdir/openmpi/lib/* %files -n otf-tracing %_bindir/otf* %_libdir/libopen-trace-format.so.* %_libdir/libotf*.so.* %files -n otf-tracing-devel %license extlib/gtg/extlib/otf/COPYING extlib/gtg/extlib/otf/LICENSE %doc extlib/gtg/extlib/otf/AUTHORS extlib/gtg/extlib/otf/README %doc extlib/gtg/extlib/otf/ChangeLog %doc extlib/gtg/extlib/otf/docu/api extlib/gtg/extlib/otf/docu/tools %_libdir/libopen-trace-format.so %_libdir/libotf*.so %_includedir/OTF* %_includedir/otf.h %files -n gtg %license extlib/gtg/COPYING %doc extlib/gtg/README %_bindir/gtg* %_bindir/litl* %_libdir/libgtg.so.* %files -n gtg-devel %_includedir/GTG* %dir %_libdir/pkgconfig %_libdir/pkgconfig/gtg.pc %_libdir/pkgconfig/litl.pc %changelog * Sat Aug 22 2020 Dave Love - 1.1.%subver-1 - New version - BR papi60, latex - Include pre-built manual * Fri Nov 15 2019 Dave love - 1.1.%subver-2 - Install otf.h correctly * Fri Nov 15 2019 Dave Love - 1.1.%subver-1 - New version * Wed Nov 28 2018 Dave Love - 1.1.7-1 - New version * Tue Jan 12 2016 Dave Love - 1.1.2-1 - Initial packaging