aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/ltrace/APKBUILD27
-rw-r--r--main/ltrace/fix-crash-on-int3-after-symcall.patch14
2 files changed, 34 insertions, 7 deletions
diff --git a/main/ltrace/APKBUILD b/main/ltrace/APKBUILD
index c6503a8d76..46b6bf4de3 100644
--- a/main/ltrace/APKBUILD
+++ b/main/ltrace/APKBUILD
@@ -1,26 +1,39 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ltrace
-pkgver=0.5.3
-pkgrel=1
+pkgver=0.6.0
+pkgrel=0
pkgdesc="Tracks runtime library calls in dynamically linked programs"
url="http://ltrace.alioth.debian.org/"
arch="all"
license="GPL"
depends=
-makedepends="libelf-dev"
+makedepends="libelf-dev autoconf automake libtool"
subpackages="$pkgname-doc"
-source="http://ftp.debian.org/debian/pool/main/l/$pkgname/${pkgname}_$pkgver.orig.tar.gz"
+source="http://dev.archlinux.org/~foutrelis/sources/ltrace/$pkgname-$pkgver.tar.xz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
build() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$_builddir"
+ ./autogen.sh
./configure --prefix=/usr \
--sysconfdir=/etc \
+ --disable-werror \
|| return 1
make
}
package() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$_builddir"
make install INSTALL=install DESTDIR="$pkgdir" || return 1
}
-md5sums="3fa7fe715ab879db08bd06d1d59fd90f ltrace_0.5.3.orig.tar.gz"
+md5sums="042592865eb55efb56cb7a10207ca94d ltrace-0.6.0.tar.xz"
diff --git a/main/ltrace/fix-crash-on-int3-after-symcall.patch b/main/ltrace/fix-crash-on-int3-after-symcall.patch
new file mode 100644
index 0000000000..5e0a7911ce
--- /dev/null
+++ b/main/ltrace/fix-crash-on-int3-after-symcall.patch
@@ -0,0 +1,14 @@
+diff -upr ltrace-0.6.0.orig/handle_event.c ltrace-0.6.0/handle_event.c
+--- ltrace-0.6.0.orig/handle_event.c 2011-01-07 21:29:30.000000000 +0200
++++ ltrace-0.6.0/handle_event.c 2012-01-06 05:14:04.000000000 +0200
+@@ -617,6 +617,10 @@ handle_breakpoint(Event *event) {
+ }
+
+ if ((sbp = address2bpstruct(event->proc, event->e_un.brk_addr))) {
++ if (sbp->libsym == NULL) {
++ continue_after_breakpoint(event->proc, sbp);
++ return;
++ }
+ if (strcmp(sbp->libsym->name, "") == 0) {
+ debug(2, "Hit _dl_debug_state breakpoint!\n");
+ arch_check_dbg(event->proc);