summaryrefslogtreecommitdiff
path: root/repo/procps-ng
diff options
context:
space:
mode:
Diffstat (limited to 'repo/procps-ng')
-rw-r--r--repo/procps-ng/procps-3.3.17-musl-fix.patch78
-rw-r--r--repo/procps-ng/procps-ng.xibuild35
-rw-r--r--repo/procps-ng/use_utmpx.patch38
3 files changed, 151 insertions, 0 deletions
diff --git a/repo/procps-ng/procps-3.3.17-musl-fix.patch b/repo/procps-ng/procps-3.3.17-musl-fix.patch
new file mode 100644
index 0000000..4402354
--- /dev/null
+++ b/repo/procps-ng/procps-3.3.17-musl-fix.patch
@@ -0,0 +1,78 @@
+Temporary stopgap patch (a different solution was used upstream
+in the next release, should be in the next after 3.3.17 -- we'll need to
+add --disable-w instead).
+
+https://bugs.gentoo.org/794997
+
+From 7bfe2b7c12b33aabca71491360c433d2d3f7bbf4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 24 Feb 2021 21:14:31 +0000
+Subject: [PATCH 1/2] w.c: correct musl builds
+
+No need to redefine UT_ stuff to something that does not exist.
+
+UT_ is already provided in musl but via utmp.h header, so include
+it always.
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ w.c | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/w.c b/w.c
+index 9d07ac9e..d10639b8 100644
+--- a/w.c
++++ b/w.c
+@@ -57,9 +57,8 @@
+ #include <unistd.h>
+ #ifdef HAVE_UTMPX_H
+ # include <utmpx.h>
+-#else
+-# include <utmp.h>
+ #endif
++#include <utmp.h>
+ #include <arpa/inet.h>
+
+ static int ignoreuser = 0; /* for '-u' */
+@@ -72,12 +71,6 @@ typedef struct utmpx utmp_t;
+ typedef struct utmp utmp_t;
+ #endif
+
+-#if !defined(UT_HOSTSIZE) || defined(__UT_HOSTSIZE)
+-# define UT_HOSTSIZE __UT_HOSTSIZE
+-# define UT_LINESIZE __UT_LINESIZE
+-# define UT_NAMESIZE __UT_NAMESIZE
+-#endif
+-
+ #ifdef W_SHOWFROM
+ # define FROM_STRING "on"
+ #else
+--
+GitLab
+
+
+From 145165aba6c659f3f0f3567a323a3e6170408ea6 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 24 Feb 2021 21:16:14 +0000
+Subject: [PATCH 2/2] proc/escape.c: add missing include
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ proc/escape.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/proc/escape.c b/proc/escape.c
+index 2e8fb7dd..e1f4612d 100644
+--- a/proc/escape.c
++++ b/proc/escape.c
+@@ -21,6 +21,7 @@
+ #include <sys/types.h>
+ #include <string.h>
+ #include <limits.h>
++#include <langinfo.h>
+ #include "procps.h"
+ #include "escape.h"
+ #include "readproc.h"
+--
+GitLab
+
diff --git a/repo/procps-ng/procps-ng.xibuild b/repo/procps-ng/procps-ng.xibuild
new file mode 100644
index 0000000..234892e
--- /dev/null
+++ b/repo/procps-ng/procps-ng.xibuild
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+MAKEDEPS="make utmps"
+DEPS="ncurses"
+
+PKG_VER=4.0.0
+SOURCE=https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-$PKG_VER.tar.xz
+DESC="Utilities for monitoring your system and its processes"
+
+ADDITIONAL="
+ use_utmpx.patch
+"
+
+prepare () {
+ apply_patches
+
+ sed -i '1i#include <langinfo.h>' proc/escape.c
+}
+
+build () {
+ ./configure --prefix=/usr \
+ --docdir=/usr/share/doc/procps-ng-$PKG_VER \
+ --disable-static \
+ --disable-w \
+ --disable-kill
+ make
+}
+
+#check () {
+ #make check
+#}
+
+package () {
+ make DESTDIR=$PKG_DEST install
+}
diff --git a/repo/procps-ng/use_utmpx.patch b/repo/procps-ng/use_utmpx.patch
new file mode 100644
index 0000000..ea9e9e2
--- /dev/null
+++ b/repo/procps-ng/use_utmpx.patch
@@ -0,0 +1,38 @@
+diff -uNr procps-3.3.17.orig/proc/whattime.c procps-3.3.17/proc/whattime.c
+--- procps-3.3.17.orig/proc/whattime.c 2021-02-09 04:11:25.000000000 -0600
++++ procps-3.3.17/proc/whattime.c 2021-03-19 13:40:17.910049032 -0500
+@@ -33,7 +33,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <time.h>
+-#include <utmp.h>
++#include <utmpx.h>
+ #include <sys/ioctl.h>
+ #include "whattime.h"
+ #include "sysinfo.h"
+@@ -42,7 +42,7 @@
+ static double av[3];
+
+ char *sprint_uptime(int human_readable) {
+- struct utmp *utmpstruct;
++ struct utmpx *utmpstruct;
+ int upminutes, uphours, updays, upweeks, upyears, updecades;
+ int pos;
+ int comma;
+@@ -98,13 +98,13 @@
+ /* count the number of users */
+
+ numuser = 0;
+- setutent();
+- while ((utmpstruct = getutent())) {
++ setutxent();
++ while ((utmpstruct = getutxent())) {
+ if ((utmpstruct->ut_type == USER_PROCESS) &&
+ (utmpstruct->ut_name[0] != '\0'))
+ numuser++;
+ }
+- endutent();
++ endutxent();
+
+ pos += sprintf(buf + pos, "%2d user%s, ", numuser, numuser == 1 ? "" : "s");
+