procps-ng3: update to 3.3.17 and install library only
authorkrant <aleksey.vasilenko@gmail.com>
Thu, 15 Feb 2024 11:11:09 +0000 (13:11 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Fri, 16 Feb 2024 12:48:41 +0000 (13:48 +0100)
- 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>
utils/procps-ng3/Makefile
utils/procps-ng3/patches/100-no-tests-docs.patch
utils/procps-ng3/patches/110-musl-fixes.patch [new file with mode: 0644]

index d1a686b7cb68aa0c0dbea06cb4d43eb4b69eef90..1235dd62bcfd960599df625939cc8779363596e9 100644 (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.
-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
+       Compatibility library of old 3.x version of procps-ng utilities.
 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))
index b863fba3de4bfefcaa1cdb56e4940d1cf068abef..e4277c9d19a35447b096d0e08ed74d8ada918ac1 100644 (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
diff --git a/utils/procps-ng3/patches/110-musl-fixes.patch b/utils/procps-ng3/patches/110-musl-fixes.patch
new file mode 100644 (file)
index 0000000..b8830f1
--- /dev/null
@@ -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"