# # spec file for package strace # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: strace Version: 4.10 Release: 0 Summary: A utility to trace the system calls of a program License: BSD-3-Clause Group: Development/Tools/Debuggers Url: http://sourceforge.net/projects/strace/ #Freecode-URL: http://freecode.com/projects/strace #Git-Clone: git://git.code.sf.net/p/strace/code Source: http://downloads.sourceforge.net/strace/%name-%version.tar.xz Source2: http://downloads.sourceforge.net/strace/%name-%version.tar.xz.asc Source3: %name.keyring Source4: baselibs.conf Patch1: 0001-aarch64-fix-rt_sigreturn-decoding.patch Patch2: 0002-m68k-define-HAVE_SA_RESTORER.patch Patch3: 0003-Fix-decoding-of-mmap2-for-arm.patch Patch5: 0005-tests-select.test-handle-architectures-using-pselect.patch Patch6: 0006-aarch64-fix-ioctl-decoding.patch Patch7: 0007-m68k-fix-sigreturn-decoding.patch Patch8: 0008-Fix-crash-in-ipc_sem-test.patch Patch9: 0009-tests-ipc_-match-IPC_64-flag.patch Patch10: 0010-semctl-fix-indirect-syscall-decoding.patch Patch11: 0011-Fix-stat64-st_-acm-time-decoding-for-personalities-w.patch Patch12: 0012-tests-verify-that-all-patterns-match.patch Patch13: 0013-aarch64-properly-decode-generic-syscalls.patch Patch14: 0014-stat64-v.test-add-newfstatat-syscall-support.patch Patch15: 0015-tests-uid-use-fchown-instead-of-chown.patch Patch16: strace_ppc64le_bypass_getrandom_hang.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libacl-devel BuildRequires: libaio-devel # libunwind is broken on ppc and ppc64 and aarch64 %ifarch %ix86 ia64 x86_64 %{arm} ppc64le BuildRequires: libunwind-devel %endif BuildRequires: lksctp-tools-devel BuildRequires: xz # bug437293 %ifarch ppc64 Obsoletes: strace-64bit %endif %ifarch x86_64 Obsoletes: strace-32bit %endif %description With strace, you can trace the activity of a program. Information about any system calls the program makes and the signals it receives and processes can be seen. Child processes can also be tracked. Authors: -------- Paul Kranenburg Branko Lankester Rick Sladkey %prep %setup -q # This file is missing in the tarball echo 'extern uint64_t *const aarch64_sp_ptr; extern uint32_t *const arm_sp_ptr;' > linux/aarch64/arch_regs.h %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %ifarch ppc64le %patch16 -p1 %endif %build export CFLAGS="$RPM_OPT_FLAGS" %ifarch alpha CFLAGS="$CFLAGS -ffixed-8" %endif %configure \ %ifarch %sparc --host=%_target_platform \ %endif %{nil} make %{?_smp_mflags} # Have to exclude make check for qemu builds, which apparently don't support PTRACE. %if !(0%{?qemu_user_space_build}) %check make check || { cat tests/test-suite.log; exit 1; } %endif %install make install DESTDIR=$RPM_BUILD_ROOT %files %defattr(-,root,root) %doc CREDITS README README-linux-ptrace NEWS %{_prefix}/bin/strace %{_prefix}/bin/strace-graph %{_prefix}/bin/strace-log-merge %{_mandir}/man1/strace.1.gz %changelog