summaryrefslogtreecommitdiff
path: root/system/psmisc
diff options
context:
space:
mode:
Diffstat (limited to 'system/psmisc')
-rw-r--r--system/psmisc/APKBUILD63
-rw-r--r--system/psmisc/dont-underlink-peekfd.patch10
-rw-r--r--system/psmisc/fix-peekfd-on-ppc.patch19
-rw-r--r--system/psmisc/musl_ptregs.patch20
4 files changed, 112 insertions, 0 deletions
diff --git a/system/psmisc/APKBUILD b/system/psmisc/APKBUILD
new file mode 100644
index 000000000..01aa02009
--- /dev/null
+++ b/system/psmisc/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+
+pkgname=psmisc
+pkgver=23.0
+pkgrel=0
+pkgdesc="Miscellaneous utilities that use the proc filesystem"
+url="https://gitlab.com/psmisc/psmisc"
+arch="all"
+license="GPLv2+"
+makedepends_build="autoconf>=2.69 automake gettext-dev"
+makedepends_host="ncurses-dev gettext-dev"
+checkdepends="dejagnu"
+subpackages="$pkgname-doc"
+[ "$CBUILD" != "$CHOST" ] || subpackages="$subpackages $pkgname-lang"
+source="$pkgname-$pkgver.tar.bz2::https://gitlab.com/$pkgname/$pkgname/repository/archive.tar.bz2?ref=v$pkgver
+ dont-underlink-peekfd.patch
+ fix-peekfd-on-ppc.patch
+ musl_ptregs.patch
+ "
+options="!strip"
+builddir="$srcdir/$pkgname-$pkgver"
+
+prepare() {
+ ln -fs $pkgname-v$pkgver-* "$builddir"
+
+ default_prepare
+
+ cd "$builddir"
+ sh autogen.sh
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-harden-flags \
+ --enable-ipv6 \
+ --disable-selinux \
+ ac_cv_func_malloc_0_nonnull=yes \
+ ac_cv_func_realloc_0_nonnull=yes
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="d4f1d90fb92f83b7583cd82a3c1027de0e53fbee85253d796878878d03a52fc220bd25beaec34c651a1ed547fc13919c5c014a522124308a7421d3f64238a70f psmisc-23.0.tar.bz2
+a68c75eb3c66a9df0d4e574a9439eeed0cd2dc97b3cad3fcd8b945619c2ec238b73bf479d1b55ddd4821471cd8934ee1fbc7871c92de7ef72c3d3f989ab62c9f dont-underlink-peekfd.patch
+b16139606e1ccaebd94b7b7a14f49f530b180f1fd24338008e4c4d48761b57953458c46e57b0f7ec191353514f68126f79c281875c4cd56ed2f1220ace131ce1 fix-peekfd-on-ppc.patch
+73dec9791e8cdb85cd3d9ef9be4d16e0fef481c6edc334ed9e954829444b1a92b87f7a3a2e6c1d09ac207bed828f214f5f2a95caa66540a7f2a6c58a6b8f6f2c musl_ptregs.patch"
diff --git a/system/psmisc/dont-underlink-peekfd.patch b/system/psmisc/dont-underlink-peekfd.patch
new file mode 100644
index 000000000..e1623f193
--- /dev/null
+++ b/system/psmisc/dont-underlink-peekfd.patch
@@ -0,0 +1,10 @@
+--- psmisc-23.0/Makefile.am.old 2017-06-12 00:29:46.000000000 +0000
++++ psmisc-23.0/Makefile.am 2017-06-28 10:21:04.148955051 +0000
+@@ -65,6 +65,7 @@
+ src_killall_SOURCES = src/killall.c src/comm.h src/signals.c src/signals.h src/i18n.h
+ src_killall_LDADD = @LIBINTL@ @SELINUX_LIB@
+ src_peekfd_SOURCES = src/peekfd.c
++src_peekfd_LDADD = @LIBINTL@
+ src_pslog_SOURCES = src/pslog.c
+ src_pstree_SOURCES = src/pstree.c src/comm.h src/i18n.h
+ src_pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@
diff --git a/system/psmisc/fix-peekfd-on-ppc.patch b/system/psmisc/fix-peekfd-on-ppc.patch
new file mode 100644
index 000000000..d9fc1d5f1
--- /dev/null
+++ b/system/psmisc/fix-peekfd-on-ppc.patch
@@ -0,0 +1,19 @@
+--- psmisc-23.0/src/peekfd.c.old 2017-06-12 00:29:46.000000000 +0000
++++ psmisc-23.0/src/peekfd.c 2017-06-28 10:15:18.635344983 +0000
+@@ -233,11 +233,11 @@
+ if (WIFSTOPPED(status)) {
+ #ifdef PPC
+ struct pt_regs regs;
+- regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R0, 0);
+- regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R3, 0);
+- regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R4, 0);
+- regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R5, 0);
+- regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_ORIG_R3, 0);
++ regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R0, 0);
++ regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R3, 0);
++ regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R4, 0);
++ regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_R5, 0);
++ regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, sizeof(void *) * PT_ORIG_R3, 0);
+ #elif defined(ARM)
+ struct pt_regs regs;
+ ptrace(PTRACE_GETREGS, pid, 0, &regs);
diff --git a/system/psmisc/musl_ptregs.patch b/system/psmisc/musl_ptregs.patch
new file mode 100644
index 000000000..29fee6a2a
--- /dev/null
+++ b/system/psmisc/musl_ptregs.patch
@@ -0,0 +1,20 @@
+Author: Breno Leitao <brenohl@br.ibm.com>
+Date: Thu Apr 6 14:03:00 2017 -0300
+
+ peekfd: Avoid pt_regs clash
+
+Index: psmisc-22.21/src/peekfd.c
+===================================================================
+--- a/src/peekfd.c.old
++++ b/src/peekfd.c
+@@ -27,7 +27,9 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/syscall.h>
++#define pt_regs uapi_pt_regs
+ #include <asm/ptrace.h>
++#undef pt_regs
+ #include <byteswap.h>
+ #include <endian.h>
+ #include <sys/user.h>
+