Blame SPECS/ltrace.spec

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