Blame SPECS/ltrace.spec

03779e
%global __python /usr/bin/python3
03779e
%{?scl:%{?scl_package:%scl_package ltrace}}
03779e
03779e
Summary: Tracks runtime library calls from dynamically linked executables
03779e
Name: %{?scl_prefix}ltrace
03779e
Version: 0.7.91
03779e
Release: 1%{?dist}
03779e
URL: http://ltrace.alioth.debian.org/
03779e
License: GPLv2+
03779e
03779e
BuildRequires: elfutils-devel dejagnu
03779e
BuildRequires: libselinux-devel
03779e
BuildRequires: autoconf automake libtool
03779e
03779e
# Note: this URL needs to be updated for each release, as the file
03779e
# number changes for each file.  Full list of released files is at:
03779e
#  https://alioth.debian.org/frs/?group_id=30892
03779e
Source: ltrace-%{version}.tar.bz2
03779e
03779e
# Merge of several upstream commits that fixes compilation on ARM.
03779e
Patch0: ltrace-0.7.91-arm.patch
03779e
03779e
# Upstream patch that fixes accounting of exec, __libc_start_main and
03779e
# others in -c output.
03779e
Patch1: ltrace-0.7.91-account_execl.patch
03779e
03779e
# Upstream patch that fixes interpretation of PLT on x86_64 when
03779e
# IRELATIVE slots are present.
03779e
Patch2: ltrace-0.7.91-x86_64-irelative.patch
03779e
03779e
# Upstream patch that fixes fetching of system call arguments on s390.
03779e
Patch3: ltrace-0.7.91-s390-fetch-syscall.patch
03779e
03779e
# Upstream patch that enables tracing of IRELATIVE PLT slots on s390.
03779e
Patch4: ltrace-0.7.91-s390-irelative.patch
03779e
03779e
# Fix for a regression in tracing across fork.  Upstream patch.
03779e
Patch5: ltrace-0.7.91-ppc64-fork.patch
03779e
03779e
# Fix crashing a prelinked PPC64 binary which makes PLT calls through
03779e
# slots that ltrace doesn't trace.
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1051221
03779e
Patch6: ltrace-0.7.91-breakpoint-on_install.patch
03779e
Patch7: ltrace-0.7.91-ppc64-unprelink.patch
03779e
03779e
# Man page nits.  Backport of an upstream patch.
03779e
Patch8: ltrace-0.7.91-man.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1044766
03779e
Patch9: ltrace-0.7.91-cant_open.patch
03779e
03779e
# Support Aarch64 architecture.
03779e
Patch10: ltrace-0.7.91-aarch64.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1064406
03779e
Patch11: ltrace-0.7.2-e_machine.patch
03779e
03779e
# Support for ppc64le, backported from upstream.
03779e
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=eea4ad2cce289753aaa35b4e0258a76d8f8f367c
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1131956
03779e
Patch13: ltrace-0.7.91-ppc64le-support.patch
03779e
# 35a9677dc9dcb7909ebd28f30200474d7e8b660f,
03779e
# 437d2377119036346f4dbd93039c847b4cc9d0be,
03779e
# eb3993420734f091cde9a6053ca6b4edcf9ae334
03779e
Patch14: ltrace-0.7.91-ppc64le-fixes.patch
03779e
03779e
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=2e9f9f1f5d0fb223b109429b9c904504b7f638e2
03779e
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=f96635a03b3868057db5c2d7972d5533e2068345
03779e
Patch15: ltrace-0.7.91-parser-ws_after_id.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1171165
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=d8f1287b85e2c2b2ae0235809e956f4365e53c45
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=d80c5371454383e3f9978622e5578cf02af8c44c
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=bf82100966deda9c7d26ad085d97c08126a8ae88
03779e
Patch16: ltrace-0.7.91-ppc-bias.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1158714
03779e
Patch17: ltrace-0.7.91-x86-plt_map.patch
03779e
Patch18: ltrace-0.7.91-x86-unused_label.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1170315
03779e
Patch19: ltrace-0.7.91-unwind-elfutils.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1208351
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=4724bd5a4a19db117a1d280b9d1a3508fd4e03fa
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=72ee29639c55b5942bc07c8ed0013005f8fc5a97
03779e
Patch20: ltrace-0.7.91-multithread-no-f-1.patch
03779e
Patch21: ltrace-0.7.91-multithread-no-f-2.patch
03779e
03779e
# Fix problems with building a number of test cases.
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=694d19ff14017926454771cbb63a22355b72f1bf
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=a3a03622fb4ca9772dca13eae724a94ba1e728f4
03779e
Patch22: ltrace-0.7.91-testsuite-includes.patch
03779e
Patch23: ltrace-0.7.91-testsuite-includes-2.patch
03779e
03779e
# https://bugzilla.redhat.com/show_bug.cgi?id=1210653
03779e
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=eea6091f8672b01f7f022b0fc367e0f568225ffc
03779e
Patch24: ltrace-0.7.91-ppc64le-configure.patch
03779e
03779e
Patch25: ltrace-rh1307754.patch
03779e
03779e
# GCC now warns (errors) on "tautological compares", and readdir_r is deprecated.
03779e
Patch26: ltrace-0.7.91-tautology.patch
03779e
03779e
# ARM code has unreachable code after switch statement, move initialization
03779e
Patch27: ltrace-rh1423913.patch
03779e
03779e
# AARCH64 large parameters and syscall testsuite fixes.
03779e
Patch28: ltrace-0.7.91-aarch64-params.patch
03779e
03779e
# gcc-9 fix.  Avoid passing NULL as argument to %s
03779e
Patch29: ltrace-0.7.91-null.patch
03779e
03779e
# Adds support for CET PLTs via second-plt lookups.
03779e
Patch30: ltrace-0.7.91-cet.patch
03779e
03779e
%description
03779e
Ltrace is a debugging program which runs a specified command until the
03779e
command exits.  While the command is executing, ltrace intercepts and
03779e
records both the dynamic library calls called by the executed process
03779e
and the signals received by the executed process.  Ltrace can also
03779e
intercept and print system calls executed by the process.
03779e
03779e
You should install ltrace if you need a sysadmin tool for tracking the
03779e
execution of processes.
03779e
03779e
%prep
03779e
%setup -q -n ltrace-%{version}
03779e
%patch0 -p1
03779e
%patch1 -p1
03779e
%patch2 -p1
03779e
%patch3 -p1
03779e
%patch4 -p1
03779e
%patch5 -p1
03779e
%patch6 -p1
03779e
%patch7 -p1
03779e
%patch8 -p1
03779e
%patch9 -p1
03779e
%patch10 -p1
03779e
%patch11 -p1
03779e
%patch13 -p1
03779e
%patch14 -p1
03779e
%patch15 -p1
03779e
%patch16 -p1
03779e
%patch17 -p1
03779e
%patch18 -p1
03779e
%patch19 -p1
03779e
%patch20 -p1
03779e
%patch21 -p1
03779e
%patch22 -p1
03779e
%patch23 -p1
03779e
%patch24 -p1
03779e
%patch25 -p1
03779e
%patch26 -p1
03779e
%patch27 -p1
03779e
%patch28 -p1
03779e
%patch29 -p1
03779e
%patch30 -p1
03779e
03779e
%build
03779e
autoreconf -i
03779e
%configure --docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
03779e
make %{?_smp_mflags}
03779e
03779e
%install
03779e
make DESTDIR=$RPM_BUILD_ROOT bindir=%{_bindir} install
03779e
03779e
# The testsuite is useful for development in real world, but fails in
03779e
# koji for some reason.  Disable it, but have it handy.
03779e
%check
03779e
echo ====================TESTING=========================
03779e
timeout 180 make -k check ||:
03779e
echo ====================TESTING END=====================
03779e
03779e
%files
03779e
%defattr(-,root,root)
03779e
%doc NEWS COPYING CREDITS INSTALL README TODO
03779e
%{_bindir}/ltrace
03779e
%{_mandir}/man1/ltrace.1*
03779e
%{_mandir}/man5/ltrace.conf.5*
03779e
%{_datadir}/ltrace
03779e
03779e
%changelog
03779e
* Wed May 26 2019 DJ Delorie <dj@redhat.com> - 0.7.91-1
03779e
- Initial sources (#1818987)
03779e