summaryrefslogtreecommitdiff
path: root/package/procps
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/procps
Initial import
Diffstat (limited to 'package/procps')
-rw-r--r--package/procps/Config.in17
-rw-r--r--package/procps/Makefile43
-rw-r--r--package/procps/ipkg/procps.control4
-rw-r--r--package/procps/killall25
-rw-r--r--package/procps/patches/patch-Makefile63
-rw-r--r--package/procps/patches/patch-proc_module_mk33
-rw-r--r--package/procps/patches/patch-ps_module_mk16
-rw-r--r--package/procps/patches/patch-sysctl_c21
8 files changed, 222 insertions, 0 deletions
diff --git a/package/procps/Config.in b/package/procps/Config.in
new file mode 100644
index 000000000..475bafc08
--- /dev/null
+++ b/package/procps/Config.in
@@ -0,0 +1,17 @@
+config ADK_PACKAGE_PROCPS_META
+ bool
+ default n
+
+config ADK_PACKAGE_PROCPS
+ prompt "procps............................ The /proc file system utilities"
+ tristate
+ default n
+ select ADK_PACKAGE_PROCPS_META
+ select ADK_PACKAGE_LIBNCURSES
+ help
+ 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.
+
+ http://procps.sourceforge.net/
diff --git a/package/procps/Makefile b/package/procps/Makefile
new file mode 100644
index 000000000..071a141a1
--- /dev/null
+++ b/package/procps/Makefile
@@ -0,0 +1,43 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= procps
+PKG_VERSION:= 3.2.7
+PKG_RELEASE:= 4
+PKG_MD5SUM:= f490bca772b16472962c7b9f23b1e97d
+MASTER_SITES:= http://procps.sourceforge.net/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,PROCPS,procps,${PKG_VERSION}-${PKG_RELEASE},${ARCH},libncurses))
+
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_PROCPS}/{bin,sbin,usr/bin}
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/uptime ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/tload ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/free ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/w ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/top ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/vmstat ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/watch ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/pmap ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/pgrep ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/slabtop ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/pwdx ${IDIR_PROCPS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/bin/kill ${IDIR_PROCPS}/bin
+ ${INSTALL_BIN} ${WRKINST}/bin/ps ${IDIR_PROCPS}/bin
+ ${INSTALL_BIN} ${WRKINST}/sbin/sysctl ${IDIR_PROCPS}/sbin
+ cd ${IDIR_PROCPS}/usr/bin; \
+ ln -sf ../../bin/kill skill; \
+ ln -sf ../../bin/kill snice; \
+ ln -sf pgrep pkill
+ ${INSTALL_BIN} killall ${IDIR_PROCPS}/usr/bin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/procps/ipkg/procps.control b/package/procps/ipkg/procps.control
new file mode 100644
index 000000000..bc18dd7d8
--- /dev/null
+++ b/package/procps/ipkg/procps.control
@@ -0,0 +1,4 @@
+Package: procps
+Priority: optional
+Section: utilities
+Description: The /proc file system utilities
diff --git a/package/procps/killall b/package/procps/killall
new file mode 100644
index 000000000..0f4ed7ceb
--- /dev/null
+++ b/package/procps/killall
@@ -0,0 +1,25 @@
+#!/bin/ash
+dolist=0
+doquiet=0
+l=1
+x=$#
+signal=
+while [ $x -gt 0 ]; do
+ case $1 in
+ -l) dolist=1 ;;
+ -q) doquiet=1 ;;
+ -lq|-ql)
+ dolist=1
+ doquiet=1
+ ;;
+ -*) signal=$1 ;;
+ *) break ;;
+ esac
+ shift
+ x=$(expr $x - 1)
+done
+[ $dolist = 1 ] && kill -l
+pkill -x $signal "$@"
+rv=$?
+[ $doquiet = 1 ] && exit 0
+exit $rv
diff --git a/package/procps/patches/patch-Makefile b/package/procps/patches/patch-Makefile
new file mode 100644
index 000000000..5b0bcf74a
--- /dev/null
+++ b/package/procps/patches/patch-Makefile
@@ -0,0 +1,63 @@
+$Id$
+--- procps-3.2.7.orig/Makefile Sat Jun 24 09:02:02 2006
++++ procps-3.2.7/Makefile Tue May 22 14:43:11 2007
+@@ -27,7 +27,7 @@ TARVERSION := $(VERSION).$(SUBVERSION)
+ ldconfig := ldconfig
+ ln_f := ln -f
+ ln_sf := ln -sf
+-install := install -D --owner 0 --group 0
++install := install
+
+ # Lame x86-64 /lib64 and /usr/lib64 abomination:
+ lib64 := lib$(shell [ -d /lib64 ] && echo 64)
+@@ -82,7 +82,7 @@ CURSES := -lncurses
+
+ # Preprocessor flags.
+ PKG_CPPFLAGS := -D_GNU_SOURCE -I proc
+-CPPFLAGS := -I/usr/include/ncurses
++CPPFLAGS ?= -I/usr/include/ncurses
+ ALL_CPPFLAGS := $(PKG_CPPFLAGS) $(CPPFLAGS)
+
+ # Left out -Wconversion due to noise in glibc headers.
+@@ -102,11 +102,11 @@ PKG_CFLAGS := -fno-common -ffast-math
+ -Wstrict-prototypes -Wmissing-prototypes
+ # Note that some stuff below is conditional on CFLAGS containing
+ # an option that starts with "-g". (-g, -g2, -g3, -ggdb, etc.)
+-CFLAGS := -O2 -s
++CFLAGS ?= -O2 -s
+ ALL_CFLAGS := $(PKG_CFLAGS) $(CFLAGS)
+
+ PKG_LDFLAGS := -Wl,-warn-common
+-LDFLAGS :=
++LDFLAGS ?=
+ ALL_LDFLAGS := $(PKG_LDFLAGS) $(LDFLAGS)
+
+ ############ Add some extra flags if gcc allows
+@@ -128,7 +128,7 @@ check_gcc = $(shell if $(CC) $(ALL_CPPFL
+ # i386 and x86-64, mips and mips64, sparc and sparc64, and so on.
+ # Failure to do so will cause data corruption.
+ m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
+-ALL_CFLAGS += $(m64)
++#ALL_CFLAGS += $(m64)
+
+ ALL_CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,)
+ ALL_CFLAGS += $(call check_gcc,-Wpadded,)
+@@ -222,10 +222,16 @@ clean:
+ ###### install
+
+ $(BINFILES) : all
+- $(install) --mode a=rx $(notdir $@) $@
++ mkdir -p $(dir $@)
++ for f in $@; do \
++ install -c -m 555 $$(basename $$f) $$f; \
++ done
+
+ $(MANFILES) : all
+- $(install) --mode a=r $(notdir $@) $@
++ mkdir -p $(dir $@)
++ for f in $@; do \
++ install -c -m 444 $$(basename $$f) $$f; \
++ done
+
+ install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
+ cd $(usr/bin) && $(ln_f) skill snice
diff --git a/package/procps/patches/patch-proc_module_mk b/package/procps/patches/patch-proc_module_mk
new file mode 100644
index 000000000..9ee2f20a1
--- /dev/null
+++ b/package/procps/patches/patch-proc_module_mk
@@ -0,0 +1,33 @@
+$Id$
+Build everything static
+--- procps-3.2.7.orig/proc/module.mk Thu Sep 23 13:10:20 2004
++++ procps-3.2.7/proc/module.mk Tue May 22 14:32:45 2007
+@@ -17,7 +17,7 @@
+ # numbers for future use, the ELF soname can be set equal to the
+ # file name until some future date when a stable ABI is declared.
+
+-SHARED := 1
++SHARED := 0
+
+ # for lib$(NAME).so and /usr/include/($NAME) and such
+ NAME := proc
+@@ -96,7 +96,8 @@ endif
+ #################### install rules ###########################
+
+ $(lib)$(SOFILE) : proc/$(SONAME)
+- $(install) --mode a=rx $< $@
++ mkdir -p $(dir $@)
++ install -c -m 555 $< $@
+
+ ifneq ($(SOLINK),$(SOFILE))
+ .PHONY: $(lib)$(SOLINK)
+@@ -115,7 +116,8 @@ ldconfig : $(lib)$(SONAME) $(lib)$(SOLIN
+ $(ldconfig)
+
+ $(usr/lib)$(ANAME) : proc/$(ANAME)
+- $(install) --mode a=r $< $@
++ mkdir -p $(dir $@)
++ install -c -m 444 $< $@
+
+ # Junk anyway... supposed to go in /usr/include/$(NAME)
+ #INSTALL += $(addprefix $(include),$(HDRFILES))
diff --git a/package/procps/patches/patch-ps_module_mk b/package/procps/patches/patch-ps_module_mk
new file mode 100644
index 000000000..7d6798e03
--- /dev/null
+++ b/package/procps/patches/patch-ps_module_mk
@@ -0,0 +1,16 @@
+$Id$
+--- procps-3.2.7.orig/ps/module.mk Sun Oct 30 03:19:24 2005
++++ procps-3.2.7/ps/module.mk Tue May 22 14:32:45 2007
+@@ -33,8 +33,10 @@ ps/stacktrace.o: ps/stacktrace.c
+
+
+ $(bin)ps: ps/ps
+- $(install) --mode a=rx $< $@
++ mkdir -p $(dir $@)
++ install -c -m 555 $< $@
+
+ $(man1)ps.1 : ps/ps.1
+- $(install) --mode a=r $< $@
++ mkdir -p $(dir $@)
++ install -c -m 444 $< $@
+ -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
diff --git a/package/procps/patches/patch-sysctl_c b/package/procps/patches/patch-sysctl_c
new file mode 100644
index 000000000..64bd55c39
--- /dev/null
+++ b/package/procps/patches/patch-sysctl_c
@@ -0,0 +1,21 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- procps-3.2.7.orig/sysctl.c 2006-06-25 02:51:51.000000000 +0200
++++ procps-3.2.7/sysctl.c 2008-10-16 13:47:28.000000000 +0200
+@@ -272,7 +272,7 @@ static int WriteSetting(const char *sett
+ return 0;
+ } /* end if */
+
+- equals = index(setting, '=');
++ equals = strchr(setting, '=');
+
+ if (!equals) {
+ fprintf(stderr, ERR_NO_EQUALS, setting);
+@@ -503,7 +503,7 @@ int main(int argc, char *argv[]) {
+ if (NameOnly && Quiet) // nonsense
+ return Usage(me);
+ SwitchesAllowed = false;
+- if (WriteMode || index(*argv, '='))
++ if (WriteMode || strchr(*argv, '='))
+ ReturnCode = WriteSetting(*argv);
+ else
+ ReturnCode = ReadSetting(*argv);