3 %bcond_without libunwind # strack tracing using libunwind
4 %bcond_without libiberty # symbol demangling in stack backtraces
6 %ifnarch %{ix86} %{x8664} x32 %{arm} hppa ia64 mips ppc ppc64 sh
7 %undefine with_libunwind
14 Summary: prints system call strace of a running process
15 Summary(de.UTF-8): druckt ein Protokoll der Systemaufrufe eines laufenden Prozesses
16 Summary(es.UTF-8): Enseña las llamadas de sistema de un proceso en ejecución
17 Summary(fr.UTF-8): affiche l'appel système strace d'un processus en exécution
18 Summary(pl.UTF-8): strace wyświetla funkcje systemowe wywoływane przez uruchomiony proces
19 Summary(pt_BR.UTF-8): Mostra as chamadas de sistema de um processo rodando
20 Summary(ru.UTF-8): Отслеживает и показывает системные вызовы, связанные с запущенным процессом
21 Summary(tr.UTF-8): Çalışan bir sürecin yaptığı sistem çağrılarını listeler
22 Summary(uk.UTF-8): Відслідковує та показує системні виклики, пов'язані із запущеним процесом
27 Group: Development/Debuggers
28 Source0: https://github.com/strace/strace/releases/download/v%{version}/%{name}-%{version}.tar.xz
29 # Source0-md5: a627c23fda3ecd668d6161c288fdcd79
31 Patch0: %{name}-binutils2.36.patch
32 URL: https://strace.io/
33 # acl and libaio for headers only
34 BuildRequires: acl-devel
35 %{?with_libiberty:BuildRequires: binutils-devel >= 4:2.30-1}
36 BuildRequires: libaio-devel
37 %{?with_libunwind:BuildRequires: libunwind-devel}
38 BuildRequires: tar >= 1:1.22
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 Strace prints a record of each system call another program makes,
44 including all of the arguments passed to it and the system call's
47 %description -l de.UTF-8
48 Strace druckt ein Protokoll aller von einem anderen Programm
49 ausgegebenen Systemaufrufe, einschließlich aller weitergeleiteten
50 Argumente und dem Ausgabewert des Systemaufrufs.
52 %description -l es.UTF-8
53 Strace imprime una "grabación" de cada llamada de sistema que el
54 programa hace, incluyendo todos los argumentos pasados para él, si la
55 vuelta de cada llamada de sistema es verdadera, o si hay creado error.
57 %description -l fr.UTF-8
58 strace affiche l'enregistrement de chaque appel système que fait un
59 programme ainsi que tous les arguments qui lui ont été passés et la
60 valeur de retour de l'appel.
62 %description -l pl.UTF-8
63 Strace wyświetla informacje o każdym wywołaniu funkcji systemowych
64 przez uruchamiany program, w tym również wszystkie argumenty wywołania
67 %description -l pt_BR.UTF-8
68 Strace imprime uma "gravação" de cada chamada de sistema que o
69 programa faz, incluindo todos os argumentos passados para ele e se o
70 retorno de cada chamada de sistema é verdadeiro ou gerou erro.
72 %description -l ru.UTF-8
73 Программа strace перехватывает и регистрирует системные вызовы,
74 произведенные и полученные исполняющимся процессом. Strace может
75 вывести список всех системных вызовов, их аргументов и возвращаемые
76 ими значения. Strace полезна для диагностики проблем и отладки.
78 %description -l tr.UTF-8
79 strace bir programın çalıştığı sürece yaptığı bütün sistem
80 çağrılarını, gönderdiği parametreler ve geri dönüş değerleriyle
83 %description -l uk.UTF-8
84 Програма strace перехоплює та регіструє системні визови, зроблені та
85 отримані процесом, який виконується. Strace може вивести список усіх
86 системних визовів, їх аргументів та значень, які вони повернули.
87 Strace корисний для діагностики проблем та відладки.
91 Summary(pl.UTF-8): Graf strace
92 Group: Development/Debuggers
93 # NOTE: doesn't require directly strace binary.
96 strace-graph script processes strace -f output. It displays a graph of
97 invoked subprocesses, and is useful for finding out what complex
100 The script can also handle the output with strace -t, -tt, or -ttt. It
101 will add elapsed time for each process in that case.
103 %description graph -l pl.UTF-8
104 Skrypt strace-graph przetwarza wynik strace -f i wyświetla graf
105 wywoływanych podprocesów. Jest przydatny do sprawdzania co robią
108 Skrypt jest w stanie obsłużyć także wyjście ze strace -t, -tt i -ttt.
109 Doda wtedy upływający czas dla każdego procesu.
116 %if %{with libunwind}
118 # /usr/bin/ld: copy reloc against protected `_UPT_accessors' is invalid
119 # /usr/bin/ld: failed to set dynamic section sizes: Bad value
120 # (should be fixed in gcc >(=?) 5.1)
121 CFLAGS="%{rpmcflags} -fPIE"
124 %{!?with_libiberty:--without-libiberty} \
125 %{!?with_libunwind:--without-libunwind} \
126 --enable-mpers=%{?with_mpers:yes}%{!?with_mpers:no}
130 rm -rf $RPM_BUILD_ROOT
133 DESTDIR=$RPM_BUILD_ROOT
135 install -D %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/pl/man1/strace.1
137 cp -p src/strace-graph $RPM_BUILD_ROOT%{_bindir}
140 rm -rf $RPM_BUILD_ROOT
143 %defattr(644,root,root,755)
144 %doc COPYING CREDITS ChangeLog NEWS doc/README-linux-ptrace
145 %attr(755,root,root) %{_bindir}/strace
146 %attr(755,root,root) %{_bindir}/strace-log-merge
147 %{_mandir}/man1/strace.1*
148 %{_mandir}/man1/strace-log-merge.1*
149 %lang(pl) %{_mandir}/pl/man1/strace.1*
152 %defattr(644,root,root,755)
153 %attr(755,root,root) %{_bindir}/strace-graph