summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2023-03-30 22:59:46 +0100
committerMarek Szuba <marecki@gentoo.org>2023-03-30 23:09:06 +0100
commit22056ad8a098f01b7604f91022b448cead417a10 (patch)
tree575452661fd5bf7768ed28a4e11f3ba6edbe661f /dev-util/ltrace
parentdev-util/ltrace: restrict tests (diff)
downloadgentoo-22056ad8a098f01b7604f91022b448cead417a10.tar.gz
gentoo-22056ad8a098f01b7604f91022b448cead417a10.tar.bz2
gentoo-22056ad8a098f01b7604f91022b448cead417a10.zip
dev-util/ltrace: add 0.7.91_pre20221216
First attempt to move away from Debian tarballs and towards the somewhat revived upstream. Unfortunately upstream has yet to release any versions newer than 0.7.3 so we have to use a git snapshot for that. The suffix _pre, with the date being that of the chosen commit, has been added because the version number 0.7.91 got set in the repository almost a decade ago and it is unknown at this point whether upstream intends to increment it before the next release or not, assuming they ever make one. Tests are still restricted because even though they do not fail as badly as 0.7.3 ones, all the reasons for having restricted them in the first place remain valid. Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'dev-util/ltrace')
-rw-r--r--dev-util/ltrace/Manifest1
-rw-r--r--dev-util/ltrace/files/ltrace-0.7.91-debian-patchset-6.4.patch77
-rw-r--r--dev-util/ltrace/files/ltrace-0.7.91-pid_t.patch10
-rw-r--r--dev-util/ltrace/files/ltrace-0.7.91-test-glibc-2.33.patch11
-rw-r--r--dev-util/ltrace/files/ltrace-0.7.91-tuple-tests.patch11
-rw-r--r--dev-util/ltrace/ltrace-0.7.91_pre20221216.ebuild59
6 files changed, 169 insertions, 0 deletions
diff --git a/dev-util/ltrace/Manifest b/dev-util/ltrace/Manifest
index a3cf12b70cab..c1d8595eb775 100644
--- a/dev-util/ltrace/Manifest
+++ b/dev-util/ltrace/Manifest
@@ -1,2 +1,3 @@
+DIST ltrace-0.7.91_pre20221216.tar.bz2 288077 BLAKE2B cadc2ac551a96dfa95aee0d0eb251d8f41a8631350ba3be3f67d0cb10774a3db6abbd42481d24febdfcb0d565107e66b4de0056a85a7954bb050adb8e8fa5b4a SHA512 993c247797551b4fbb202c04f9af08063c8641946825b17d1f32c4647c606ece803a6b049c4afa3046c798add161ab58f01d90106f3b6029a223af03bca27a99
DIST ltrace_0.7.3-6.1.debian.tar.xz 11404 BLAKE2B d38ce51dfcbf809d7622029fb6dd0acd61c8d8213be0bf2625fd746adbe6dd6830faf208b7e864c1185013d7d5e17f3e10e8a8fb45f8e0a4bc9859fde96a55d7 SHA512 c0753935d74be530886ce5202429cabbbe73814c9ac120eaf90a1c4e03dfd4de5381e3e85a27fbbbce694b23cd72a273199575419446b6159b0925d85e1938ab
DIST ltrace_0.7.3.orig.tar.bz2 482658 BLAKE2B 30d1dbb178a41043e4bbbac17a23676db202b64327c9bb4393ae7ace9f5e1a1e2a5ded56cabc7faf2ea55b22ed17126a94c121147aeefb40250710b7307a50d3 SHA512 a842b16dcb81da869afa0bddc755fdff0d57b35672505bf2c7164fd983b1938d28b126714128930994cc1230ced69d779456d0cfc16f4008c9b6d19f0852285d
diff --git a/dev-util/ltrace/files/ltrace-0.7.91-debian-patchset-6.4.patch b/dev-util/ltrace/files/ltrace-0.7.91-debian-patchset-6.4.patch
new file mode 100644
index 000000000000..1f3bb5ec6a21
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.91-debian-patchset-6.4.patch
@@ -0,0 +1,77 @@
+Patches imported from the Debian patch set 6.4 for ltrace-0.7.3:
+ - 01-avoid-libstdc++ (adapted to account for the absence of configure),
+ - 03-alpha-debug.h
+ - 05-sparc-ftbfs
+ - 06-unexpected-breakpoint
+The other two have since been merged upstream.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -126,6 +126,15 @@
+ libstdcxx_LIBS=""])
+ AC_SUBST(libstdcxx_LIBS)
+
++if test "x$liberty_LIBS" != "x"
++then
++ libsupcxx_LIBS=""
++ libstdcxx_LIBS=""
++elif test "x$libsupcxx_LIBS" != "x"
++then
++ libstdcxx_LIBS=""
++fi
++
+
+ dnl Check security_get_boolean_active availability.
+ AC_CHECK_HEADERS(selinux/selinux.h)
+--- a/handle_event.c
++++ b/handle_event.c
+@@ -740,9 +740,12 @@
+
+ if ((sbp = address2bpstruct(leader, brk_addr)) != NULL)
+ breakpoint_on_hit(sbp, event->proc);
+- else if (event->proc->state != STATE_IGNORED)
++ else if (event->proc->state != STATE_IGNORED) {
+ output_line(event->proc,
+ "unexpected breakpoint at %p", brk_addr);
++ continue_process(event->proc->pid);
++ return;
++ }
+
+ /* breakpoint_on_hit may delete its own breakpoint, so we have
+ * to look it up again. */
+--- a/sysdeps/linux-gnu/alpha/trace.c
++++ b/sysdeps/linux-gnu/alpha/trace.c
+@@ -29,7 +29,6 @@
+
+ #include "proc.h"
+ #include "common.h"
+-#include "debug.h"
+
+ #if (!defined(PTRACE_PEEKUSER) && defined(PTRACE_PEEKUSR))
+ # define PTRACE_PEEKUSER PTRACE_PEEKUSR
+--- a/sysdeps/linux-gnu/sparc/plt.c
++++ b/sysdeps/linux-gnu/sparc/plt.c
+@@ -19,8 +19,9 @@
+ */
+
+ #include <gelf.h>
++
+ #include "proc.h"
+-#include "common.h"
++#include "library.h"
+
+ GElf_Addr
+ arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {
+--- a/sysdeps/linux-gnu/sparc/trace.c
++++ b/sysdeps/linux-gnu/sparc/trace.c
+@@ -26,8 +26,10 @@
+ #include <sys/wait.h>
+ #include <signal.h>
+ #include <string.h>
++
+ #include "ptrace.h"
+ #include "proc.h"
++#include "backend.h"
+ #include "common.h"
+
+ void
diff --git a/dev-util/ltrace/files/ltrace-0.7.91-pid_t.patch b/dev-util/ltrace/files/ltrace-0.7.91-pid_t.patch
new file mode 100644
index 000000000000..06075006b2e1
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.91-pid_t.patch
@@ -0,0 +1,10 @@
+--- a/proc.h
++++ b/proc.h
+@@ -27,6 +27,7 @@
+
+ #include <sys/time.h>
+ #include <stdint.h>
++#include <unistd.h> /* pid_t */
+
+ #if defined(HAVE_LIBDW)
+ # include <elfutils/libdwfl.h>
diff --git a/dev-util/ltrace/files/ltrace-0.7.91-test-glibc-2.33.patch b/dev-util/ltrace/files/ltrace-0.7.91-test-glibc-2.33.patch
new file mode 100644
index 000000000000..b78d4580b050
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.91-test-glibc-2.33.patch
@@ -0,0 +1,11 @@
+--- a/testsuite/ltrace.main/system_calls.exp
++++ b/testsuite/ltrace.main/system_calls.exp
+@@ -133,7 +133,7 @@
+ { {^write$} == 1 }
+ { {^unlink(at)?$} >= 2 }
+ { {^open(at)?$} == 1 }
+- { {^(new|f)?stat(64)?$} >= 1 }
++ { {^(new)?stat|fstatat64|newfstatat$} >= 1 }
+ { {^close$} == 1 }
+ { {^getcwd$} == 1 }
+ { {^chdir$} == 1 }
diff --git a/dev-util/ltrace/files/ltrace-0.7.91-tuple-tests.patch b/dev-util/ltrace/files/ltrace-0.7.91-tuple-tests.patch
new file mode 100644
index 000000000000..c7c997d5545e
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.91-tuple-tests.patch
@@ -0,0 +1,11 @@
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -42,6 +42,8 @@
+ echo set elfutils_LD_LIBRARY_PATH '"$(elfutils_LD_LIBRARY_PATH)"' >> $@
+ echo set libunwind_LD_LIBRARY_PATH '"$(libunwind_LD_LIBRARY_PATH)"' >> $@
+ echo set PREFIX '"$(prefix)"' >> $@
++ echo set CC_FOR_TARGET '"$(CC)"' >> $@
++ echo set CXX_FOR_TARGET '"$(CXX)"' >> $@
+
+ CLEANFILES = *.o *.so *.log *.sum *.ltrace site.bak setval.tmp site.exp env.exp
+
diff --git a/dev-util/ltrace/ltrace-0.7.91_pre20221216.ebuild b/dev-util/ltrace/ltrace-0.7.91_pre20221216.ebuild
new file mode 100644
index 000000000000..24b86f41a73f
--- /dev/null
+++ b/dev-util/ltrace/ltrace-0.7.91_pre20221216.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+EGIT_COMMIT="5cffc0d2134f697fbac8627ec5b5f0085cd47c8a"
+
+DESCRIPTION="trace library calls made at runtime"
+HOMEPAGE="https://gitlab.com/cespedes/ltrace"
+SRC_URI="https://gitlab.com/cespedes/${PN}/-/archive/${EGIT_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux test unwind"
+
+RDEPEND="virtual/libelf:=
+ selinux? ( sys-libs/libselinux )
+ unwind? ( sys-libs/libunwind:= )"
+DEPEND="${RDEPEND}
+ sys-libs/binutils-libs
+ test? ( dev-util/dejagnu )"
+
+# Effectively abandoned upstream. Extremely sensitive to the sandbox, versions
+# of core libraries, kernel security settings...
+RESTRICT="test"
+
+S=${WORKDIR}/${PN}-${EGIT_COMMIT}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.91-debian-patchset-6.4.patch
+ "${FILESDIR}"/${PN}-0.7.3-CXX-for-tests.patch
+ "${FILESDIR}"/${PN}-0.7.3-alpha-protos.patch
+ "${FILESDIR}"/${PN}-0.7.3-ia64.patch
+ "${FILESDIR}"/${PN}-0.7.3-ia64-pid_t.patch
+ "${FILESDIR}"/${PN}-0.7.3-musl-host.patch
+ "${FILESDIR}"/${PN}-0.7.3-print-test-pie.patch
+ "${FILESDIR}"/${PN}-0.7.91-pid_t.patch
+ "${FILESDIR}"/${PN}-0.7.91-test-glibc-2.33.patch
+ "${FILESDIR}"/${PN}-0.7.91-tuple-tests.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i '/^dist_doc_DATA/d' Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ ac_cv_header_selinux_selinux_h=$(usex selinux) \
+ ac_cv_lib_selinux_security_get_boolean_active=$(usex selinux) \
+ econf \
+ --disable-werror \
+ $(use_enable debug) \
+ $(use_with unwind libunwind)
+}