procps: import version 3.2.8 of the procps utilities
Signed-off-by: Gergely Kiss <mail.gery@gmail.com> Tested-by: Gergely Kiss <mail.gery@gmail.com>
This commit is contained in:
parent
5e2f77242a
commit
76ba0ac87a
4 changed files with 149 additions and 0 deletions
86
utils/procps/Makefile
Normal file
86
utils/procps/Makefile
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2014 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=procps
|
||||||
|
PKG_VERSION:=3.2.8
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
PKG_LICENSE_FILES:=COPYING COPYING.LIB
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=http://procps.sourceforge.net
|
||||||
|
PKG_MD5SUM:=9532714b6846013ca9898984ba4cd7e0
|
||||||
|
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
PROCPS_APPLETS := \
|
||||||
|
ps free pgrep pkill pmap pwdx skill w \
|
||||||
|
slabtop snice tload top vmstat watch
|
||||||
|
|
||||||
|
define Package/procps/Default
|
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
DEPENDS:=+libncurses
|
||||||
|
TITLE:=proc utilities
|
||||||
|
URL:=http://procps.sourceforge.net/
|
||||||
|
MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/procps
|
||||||
|
$(call Package/procps/Default)
|
||||||
|
MENU:=1
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/procps/description
|
||||||
|
procps is the package that has a bunch of small useful utilities that give
|
||||||
|
information about processes using the /proc filesystem. The package
|
||||||
|
includes the programs ps, top, vmstat, w, kill, free, slabtop, and skill.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define GenPlugin
|
||||||
|
define Package/$(1)
|
||||||
|
$(call Package/procps/Default)
|
||||||
|
DEPENDS:=procps
|
||||||
|
TITLE:=Applet $(2) from the procps package
|
||||||
|
DEFAULT:=y
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(1)/description
|
||||||
|
Installs the applet $(2).
|
||||||
|
endef
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(foreach a,$(PROCPS_APPLETS),$(eval $(call GenPlugin,procps-$(a),$(a))))
|
||||||
|
|
||||||
|
MAKE_FLAGS += \
|
||||||
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
CPPFLAGS="$(TARGET_CPPFLAGS)" \
|
||||||
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||||
|
|
||||||
|
define Package/procps/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/proc/libproc-$(PKG_VERSION).so $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
|
AUXDIR_ps := "ps/"
|
||||||
|
|
||||||
|
define BuildPlugin
|
||||||
|
define Package/$(1)/install
|
||||||
|
$(INSTALL_DIR) $$(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(AUXDIR_$(2))$(2) $$(1)/usr/bin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$$(eval $$(call BuildPackage,$(1)))
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(foreach a,$(PROCPS_APPLETS),$(eval $(call BuildPlugin,procps-$(a),$(a))))
|
||||||
|
$(eval $(call BuildPackage,procps))
|
11
utils/procps/patches/010-make_fix.patch
Normal file
11
utils/procps/patches/010-make_fix.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -174,7 +174,7 @@ INSTALL := $(BINFILES) $(MANFILES)
|
||||||
|
# want this rule first, use := on ALL, and ALL not filled in yet
|
||||||
|
all: do_all
|
||||||
|
|
||||||
|
--include */module.mk
|
||||||
|
+-include proc/module.mk ps/module.mk
|
||||||
|
|
||||||
|
do_all: $(ALL)
|
||||||
|
|
41
utils/procps/patches/020_hz_fix.patch
Normal file
41
utils/procps/patches/020_hz_fix.patch
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
--- a/proc/sysinfo.c
|
||||||
|
+++ b/proc/sysinfo.c
|
||||||
|
@@ -209,7 +209,12 @@ static int check_for_privs(void){
|
||||||
|
return !!rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if __GNUC__ < 4 || __GNUC_MINOR__ < 3
|
||||||
|
static void init_libproc(void) __attribute__((constructor));
|
||||||
|
+#else
|
||||||
|
+static void init_libproc(void) __attribute__((constructor(200)));
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static void init_libproc(void){
|
||||||
|
have_privs = check_for_privs();
|
||||||
|
// ought to count CPUs in /proc/stat instead of relying
|
||||||
|
--- a/proc/version.c
|
||||||
|
+++ b/proc/version.c
|
||||||
|
@@ -33,7 +33,12 @@ void display_version(void) {
|
||||||
|
|
||||||
|
int linux_version_code;
|
||||||
|
|
||||||
|
+#if __GNUC__ < 4 || __GNUC_MINOR__ < 3
|
||||||
|
static void init_Linux_version(void) __attribute__((constructor));
|
||||||
|
+#else
|
||||||
|
+static void init_Linux_version(void) __attribute__((constructor(100)));
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static void init_Linux_version(void) {
|
||||||
|
static struct utsname uts;
|
||||||
|
int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
|
||||||
|
--- a/proc/module.mk
|
||||||
|
+++ b/proc/module.mk
|
||||||
|
@@ -76,7 +76,7 @@ proc/$(ANAME): $(LIBOBJ)
|
||||||
|
|
||||||
|
#proc/$(SONAME): proc/library.map
|
||||||
|
proc/$(SONAME): $(LIBOBJ)
|
||||||
|
- $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -shared -Wl,-soname,$(SONAME) -Wl,--version-script=proc/library.map -o $@ $^ -lc
|
||||||
|
+ $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -shared -Wl,-soname,$(SONAME) -Wl,--version-script=proc/library.map -o $@ $(sort $^) -lc
|
||||||
|
|
||||||
|
|
||||||
|
# AUTOMATIC DEPENDENCY GENERATION -- GCC AND GNUMAKE DEPENDENT
|
11
utils/procps/patches/030-fix-string-problems.patch
Normal file
11
utils/procps/patches/030-fix-string-problems.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/proc/sig.c
|
||||||
|
+++ b/proc/sig.c
|
||||||
|
@@ -214,7 +214,7 @@ void pretty_print_signals(void){
|
||||||
|
while(++i <= number_of_signals){
|
||||||
|
int n;
|
||||||
|
n = printf("%2d %s", i, signal_number_to_name(i));
|
||||||
|
- if(i%7) printf(" \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + n);
|
||||||
|
+ if(i%7) printf("%s", " \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + n);
|
||||||
|
else printf("\n");
|
||||||
|
}
|
||||||
|
if((i-1)%7) printf("\n");
|
Loading…
Reference in a new issue