File ltrace.spec of Package ltrace
#
# spec file for package ltrace (Version 0.4)
#
# Copyright (c) 2008 SUSE LINUX Products 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/
#
# norootforbuild
Name: ltrace
BuildRequires: gcc-c++
%if 0%{?suse_version} > 1020
BuildRequires: libelf0-devel
%else
BuildRequires: libelf
%endif
BuildRequires: dejagnu
Url: http://packages.debian.org/unstable/utils/ltrace.html
License: GPL v2 or later
Group: Development/Tools/Debuggers
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: ltrace-64bit
%endif
%ifarch ppc
Obsoletes: ltrace-32bit
%endif
#
Summary: Trace the Library and System Calls a Program Makes
Version: 0.4
Release: 153
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 sparc s390 s390x ppc ppc64 armv4l x86_64 alpha ia64
Prefix: /usr
Source: ftp://ftp.debian.org/debian/pool/main/l/ltrace/%{name}-%{version}.tar.bz2
Patch1017: ltrace.trunk-r17.patch
Patch1018: ltrace.trunk-r18.patch
Patch1025: ltrace.trunk-r25.patch
Patch1026: ltrace.trunk-r26.patch
Patch1028: ltrace.trunk-r28.patch
Patch1029: ltrace.trunk-r29.patch
Patch1033: ltrace.trunk-r33.patch
Patch1034: ltrace.trunk-r34.patch
Patch1035: ltrace.trunk-r35.patch
Patch1036: ltrace.trunk-r36.patch
Patch1037: ltrace.trunk-r37.patch
Patch1038: ltrace.trunk-r38.patch
Patch1039: ltrace.trunk-r39.patch
Patch1040: ltrace.trunk-r40.patch
Patch1041: ltrace.trunk-r41.patch
Patch1042: ltrace.trunk-r42.patch
Patch1043: ltrace.trunk-r43.patch
Patch1045: ltrace.trunk-r45.patch
Patch1046: ltrace.trunk-r46.patch
Patch1047: ltrace.trunk-r47.patch
Patch1049: ltrace.trunk-r49.patch
Patch1050: ltrace.trunk-r50.patch
Patch1051: ltrace.trunk-r51.patch
Patch1052: ltrace.trunk-r52.patch
Patch1053: ltrace.trunk-r53.patch
Patch1054: ltrace.trunk-r54.patch
Patch1055: ltrace.trunk-r55.patch
Patch1056: ltrace.trunk-r56.patch
Patch1057: ltrace.trunk-r57.patch
Patch1058: ltrace.trunk-r58.patch
Patch1059: ltrace.trunk-r59.patch
Patch1060: ltrace.trunk-r60.patch
Patch1061: ltrace.trunk-r61.patch
Patch1062: ltrace.trunk-r62.patch
Patch1063: ltrace.trunk-r63.patch
Patch1064: ltrace.trunk-r64.patch
Patch1065: ltrace.trunk-r65.patch
Patch1066: ltrace.trunk-r66.patch
Patch1067: ltrace.trunk-r67.patch
Patch1068: ltrace.trunk-r68.patch
Patch1069: ltrace.trunk-r69.patch
Patch1070: ltrace.trunk-r70.patch
Patch1071: ltrace.trunk-r71.patch
Patch1074: ltrace.trunk-r74.patch
Patch1075: ltrace.trunk-r75.patch
Patch1076: ltrace.trunk-r76.patch
Patch1077: ltrace.trunk-r77.patch
Patch1079: ltrace.trunk-r79.patch
Patch1080: ltrace.trunk-r80.patch
#
Patch200: ltrace.args-initialize.patch
Patch204: ltrace.ppc32-c-option.patch
Patch222: ltrace.s390-more-arguments.patch
Patch223: ltrace.powerpc-ABI-support.patch
%description
Ltrace is a program that runs the specified command until it exits. It
intercepts and records the dynamic library calls that are called by the
executed process and the signals that are received by that process. It
can also intercept and print the system calls executed by the program.
The program to trace need not be recompiled for this, so you can use
ltrace on binaries for which you do not have access to the source.
This is still a work in progress, so, for example, the tracking to
child processes may fail or some things may not work as expected.
Authors:
--------
Juan Cespedes
%prep
%setup -q
%patch1017
%patch1018
%patch1025
%patch1026
%patch1028
%patch1029
%patch1033
%patch1034
%patch1035
%patch1036
%patch1037
%patch1038
%patch1039
%patch1040
%patch1041
%patch1042
%patch1043
%patch1045
%patch1046
%patch1047
%patch1049
%patch1050
%patch1051
%patch1052
%patch1053
%patch1054
%patch1055
%patch1056
%patch1057
%patch1058
%patch1059
%patch1060
%patch1061
%patch1062
%patch1063
%patch1064
%patch1065
%patch1066
%patch1067
%patch1068
%patch1069
%patch1070
%patch1071
%patch1074
%patch1075
%patch1076
%patch1077
%patch1079
%patch1080
#
%patch200 -p1
%patch204 -p1
%patch222 -p1
%patch223 -p1
%build
autoreconf -fi
export CFLAGS="%{optflags} -W -Wall"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=%{_mandir} \
%ifarch armv4l
--build=arm-suse-linux
%else
--build=%{_target_cpu}-suse-linux
%endif
make
%if 1
if make check
then
echo 'no make check errors' > testresults.txt
else
for file in `find testsuite -name "*.ltrace"`
do
echo
echo $file
echo
cat $file
echo
done >> testresults.txt
fi
mv testresults.txt %{_target_cpu}-testresults.txt
ln testsuite/testrun.sum testsuite/%{_target_cpu}-testrun.sum
%else
echo no make check > %{_target_cpu}-testresults.txt
echo no make check > testsuite/%{_target_cpu}-testrun.sum
%endif
%install
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}/usr/share/doc/ltrace
%files
%defattr(-,root,root)
%doc COPYING README ChangeLog %{_target_cpu}-testresults.txt testsuite/%{_target_cpu}-testrun.sum
%{_bindir}/ltrace
%{_mandir}/man1/ltrace.1.gz
%config /etc/ltrace.conf
%changelog
* Tue Dec 09 2008 ro@suse.de
- remove ix86 from ifarch statement obsoleting 32bit package
* Thu Oct 30 2008 olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
* Fri Feb 29 2008 olh@suse.de
- update last patch to not use global variables
* Wed Feb 27 2008 olh@suse.de
- more complete powerpc ABI handling (bnc#364988 - LTC41151)
* Thu Jan 03 2008 olh@suse.de
- handle more than 4 args on s390 (349987 - LTC41171)
* Fri Oct 19 2007 olh@suse.de
- allow build with old distributions, libelf0-devel is new in 10.3
* Mon Oct 08 2007 olh@suse.de
- update to ltrace mainline r80
added more system calls
add sleep to clone testcase to avoid earlier termination of process
disable breakpoints before doing fork()
* Fri Oct 05 2007 olh@suse.de
- fix build with sles9 (329163 - LTC38963)
* Mon Jul 02 2007 tiwai@suse.de
- changed from libelf to libelf0-devel in buildrequires.
* Tue Apr 17 2007 schwab@suse.de
- Fix argument decoding.
* Fri Jan 26 2007 olh@suse.de
- update to ltrace mainline r75
fix -p behavior: wait for process to stop after PTRACE_ATTACH
fix -L behavior: always initialize the breakpoint dictionary,
and thus aviod NULL dereference.
- rename patch numbers in %%prep section to match commit ids
* Thu Jan 25 2007 olh@suse.de
- fix ltrace -c on ppc32 (201272 - LTC24809)
* Mon Nov 20 2006 olh@suse.de
- add ltrace.trace_exec.patch (201282 - LTC25640)
* Thu Oct 12 2006 olh@suse.de
- better opd handling
add arch name to mack check results
use /etc/ltrace.conf (211921)
* Wed Sep 20 2006 olh@suse.de
- add more ia64 fixes from Steve Fink
keep make check results in the package
* Fri Sep 15 2006 olh@suse.de
- provide elf_gnu_hash, current glibc defines SHT_GNU_HASH
remove merge acl entries for ltrace.conf
* Thu Sep 14 2006 olh@suse.de
- fix opd2addr to return the value at addr, not addr itself
revert a regex handling change in the testsuite to fix make check
* Thu Sep 14 2006 olh@suse.de
- run make check, do not abort the build if it fails
* Thu Sep 14 2006 olh@suse.de
- update to ltrace mainline r65 (201272)
implement ignored arguments, pointer parameters, enumerated parameters
short, ushort and float types, typedefs, array arguments and struct support
improve string handling
add .gnu.hash ELF support
add -F option to read in config files
add secure-plt support
update syscall list to 2.6.17
use e_entry instead of _start if the binary is stripped
fix the -x processing to get rid of bad warning.
* Tue Jun 13 2006 schwab@suse.de
- Update to ltrace 0.4 to get support for ia64.
- Don't build as root.
* Tue May 30 2006 bk@suse.de
- fix crash of every process traced with -p on ltrace exit (138568)
* Thu May 18 2006 olh@suse.de
- update man page to ltrace 0.4 version (176209 - LTC23913)
* Tue May 02 2006 olh@suse.de
- add handling for secure PLT on powerpc (154472 - LTC21994)
fix segfault when following forks (155754 - LTC22229)
configure does checks for c++ features, add c++ to Buildrequires
* Mon Mar 20 2006 pth@suse.de
- Add patch from IBM that fixes segfaults when using -x (#150487)
* Thu Mar 02 2006 hare@suse.de
- biarch support for S/390.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jun 28 2005 uli@suse.de
- ported s390x support from 0.3.10
* Tue May 10 2005 pth@suse.de
- Incorporate RH patch for biarch support
- Incorporate all pathches from IBM for biarch ltrace on ppc64
* Thu Apr 21 2005 pth@suse.de
- Fix warnings in the ppc specific parts.
* Thu Apr 14 2005 pth@suse.de
- Don't use elfutils because of their unacceptable license,
use libelf instead.
- Fix the check for gelf.h
- Really use the include path for gelf.h that configure found.
- Use version number from config.h
* Mon Apr 04 2005 pth@suse.de
- Update to ltrace 0.3.36:
- All SUSE patches integrated
- Alpha support,
- Uses elfutils.
- list of functions expanded.
* Thu Mar 24 2005 pth@suse.de
- Adapt patch from Jakub Jellinek to make ltrace handle long/ulong
values and thus work on AMD64 (#74374).
* Fri May 07 2004 bk@suse.de
- fix assert in call summary if ltrace was tracing nothing(#39642)
* Thu Apr 01 2004 bk@suse.de
- use new path for changelog file, fixes stale symlink (Bug #36383)
- update manual page regarding bugs fixed with the applied patches
* Wed Mar 31 2004 bk@suse.de
- calculate PLT table function address if missing in symtab(#36212)
(this makes ltrace work again on i386, otherwise it does nothing)
* Mon Feb 23 2004 bk@suse.de
- Update to ltrace 0.3.31: More functions in ltrace.conf, options
to show time spent inside each call and summary of calls at end
* Mon Feb 09 2004 bk@suse.de
- fix ExclusiveArch: Include s390 and s390x for 32- and 64-bit arch
* Fri Jun 13 2003 mmj@suse.de
- Use BuildRoot
* Sun Jun 01 2003 ro@suse.de
- remove unpackaged files from buildroot
* Fri Sep 20 2002 agruen@suse.de
- Update syscall table definitions for supported architectures to
current 8.1/UL/SLES kernel.
- Add declarations for extended attribute syscalls and
for libacl functions (POSIX ACL library).
* Fri Jul 12 2002 kukuk@suse.de
- Fix ExclusiveArch for x86.
* Thu Jun 27 2002 mludvig@suse.cz
- Added support for Elf64 binaries.
- Fixed x86-64 port.
* Fri Jun 07 2002 aj@suse.de
- Update to ltrace 0.3.26:
* Added support for s390 and powerpc
- Add initial support for x86-64.
* Mon Nov 26 2001 uli@suse.de
- added armv4l to ExclusiveArch
* Thu Jul 19 2001 uli@suse.de
- added PPC port by Anton Blanchard
* Tue Apr 03 2001 bk@suse.de
- added S/390 patch from IBM Linux Technology Center
* Mon Jan 10 2000 kukuk@suse.de
- Update to ltrace 0.3.10
- Add patch for SPARC
* Sat Oct 23 1999 bk@suse.de
- updated to ltrace-0.3.8
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Wed Aug 04 1999 bs@suse.de
- added call of Check
* Sun Mar 28 1999 bk@suse.de
- new package