procps-ng3: update to 3.3.17 and install library only

- Install library only (utilities are in procps-ng API version 4)
- Latest 3.3.17 version of 3.x series is used
- Refresh existing patch
- Add new patch from Alpine Linux

Signed-off-by: krant <aleksey.vasilenko@gmail.com>

- Rebase patch because of packages version update was reverted before

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
krant 2024-02-15 13:11:09 +02:00 committed by Florian Eckert
parent c1ef481e66
commit 04e8fac6e8
3 changed files with 40 additions and 67 deletions

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=procps-ng3
PKG_VERSION:=3.3.16
PKG_RELEASE:=3
PKG_VERSION:=3.3.17
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/procps-ng-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/procps-$(PKG_VERSION)
PKG_SOURCE:=procps-ng-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/procps-ng
PKG_HASH:=925eacd65dedcf9c98eb94e8978bbfb63f5de37294cc1047d81462ed477a20af
PKG_HASH:=4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4
PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0-or-later
@ -27,31 +27,12 @@ PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
CONFIGURE_ARGS += --enable-skill
# most of these have alternatives provided by busybox applets
PROCPS_APPLETS := \
free kill pgrep pkill pmap ps pwdx skill slabtop \
snice sysctl tload top uptime vmstat w watch
# procps-ng will be configured with "--bindir=/usr/bin --sbindir=/usr/sbin" and
# as such executables will be installed there by default, but some of them need
# to reside in locations such as /bin and /sbin to be in accordance with
# busybox alternatives which is also other distributions like debian and centos
# are doing
PROCPS_APPLETS_SRC_DIR_SBIN:=sysctl
procps-applets-src-dir=$(if $(filter $(PROCPS_APPLETS_SRC_DIR_SBIN),$(1)),/usr/sbin,/usr/bin)
PROCPS_APPLETS_DIR_BIN:=kill ps watch
PROCPS_APPLETS_DIR_SBIN:=sysctl
procps-applets-dir=$(if $(filter $(PROCPS_APPLETS_DIR_BIN),$(1)),/bin,$(if $(filter $(PROCPS_APPLETS_DIR_SBIN),$(1)),/sbin,/usr/bin))
define Package/procps-ng3/Default
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libncurses
TITLE:=procps-ng utilities
URL:=https://gitlab.com/procps-ng/procps
define Package/procps-ng3
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libncurses
TITLE:=procps-ng old compatibility library
URL:=https://gitlab.com/procps-ng/procps
endef
define Build/Prepare
@ -59,35 +40,10 @@ define Build/Prepare
echo "$(PKG_VERSION)" > "$(PKG_BUILD_DIR)/.tarball-version"
endef
define Package/procps-ng3
$(call Package/procps-ng3/Default)
MENU:=1
endef
define Package/procps-ng3/description
procps is a set of command line and full-screen utilities that provide information out of the pseudo-filesystem
most commonly located at /proc. This filesystem provides a simple interface to the kernel data structures.
The programs of procps generally concentrate on the structures that describe the processess running on the system.
NOTE: some utilities provided by procps-ng packages (ps, uptime, kill, ...) are installed as busybox applets, by default.
Conflicting applets should be removed from the build to avoid file conflicts.
Compatibility library of old 3.x version of procps-ng utilities.
endef
define GenPlugin
define Package/procps-ng3-$(1)
$(call Package/procps-ng3/Default)
DEPENDS:=procps-ng3
TITLE:=Applet $(1) from the procps-ng3 package
ALTERNATIVES:=200:$(2)/$(1):/usr/libexec/$(1)-procps-ng
endef
define Package/procps-ng3-$(1)/description
Installs the applet $(1).
endef
endef
$(foreach a,$(PROCPS_APPLETS),$(eval $(call GenPlugin,$(a),$(call procps-applets-dir,$(a)))))
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="$(TARGET_CPPFLAGS)" \
@ -104,14 +60,4 @@ define Build/InstallDev
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
endef
define BuildPlugin
define Package/procps-ng3-$(1)/install
$(INSTALL_DIR) $$(1)/usr/libexec
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(2)/$(1) $$(1)/usr/libexec/$(1)-procps-ng
endef
$$(eval $$(call BuildPackage,procps-ng3-$(1)))
endef
$(foreach a,$(PROCPS_APPLETS),$(eval $(call BuildPlugin,$(a),$(call procps-applets-src-dir,$(a)))))
$(eval $(call BuildPackage,procps-ng3))

View File

@ -1,6 +1,6 @@
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,10 +14,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
@@ -15,10 +15,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = \
@ -14,7 +14,7 @@
LDADD = ./proc/libprocps.la $(CYGWINFLAGS)
--- a/configure.ac
+++ b/configure.ac
@@ -298,8 +298,5 @@ AC_CHECK_FUNCS([__fpending alarm atexit
@@ -323,8 +323,5 @@ AC_CHECK_FUNCS([__fpending alarm atexit
AC_CONFIG_FILES([Makefile
include/Makefile

View File

@ -0,0 +1,27 @@
From https://git.alpinelinux.org/aports/tree/community/procps-compat/musl-fixes.patch?id=781a465d3d41af56a6e4bf9d52b7273c87899e25
--- a/w.c
+++ b/w.c
@@ -55,11 +55,7 @@
#include <termios.h>
#include <time.h>
#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' */
--- 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"