Blame SPECS/ltrace.spec

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