Add procps from OE.dev

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2009-08-19 17:10:08 +01:00
parent d0d2cda2f6
commit b64e3318f7
9 changed files with 269 additions and 0 deletions

View File

@ -0,0 +1,27 @@
--- procps-3.2.5.virgin/Makefile 2005-01-26 05:55:26.000000000 +0100
+++ procps-3.2.5/Makefile 2005-08-03 04:55:26.346984488 +0200
@@ -30,7 +30,10 @@
install := install -D --owner 0 --group 0
# Lame x86-64 /lib64 and /usr/lib64 abomination:
-lib64 := lib$(shell [ -d /lib64 ] && echo 64)
+# lib64 := lib$(shell [ -d /lib64 ] && echo 64)
+
+# Equally lame hack to work around makefile lameness when the host arch is 64bit, but the target is not.
+lib64 := lib
usr/bin := $(DESTDIR)/usr/bin/
bin := $(DESTDIR)/bin/
@@ -211,10 +214,10 @@
###### install
$(BINFILES) : all
- $(install) --mode a=rx $(notdir $@) $@
+ $(install) -m 555 $(notdir $@) $@
$(MANFILES) : all
- $(install) --mode a=r $(notdir $@) $@
+ $(install) -m 444 $(notdir $@) $@
install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
cd $(usr/bin) && $(ln_f) skill snice

View File

@ -0,0 +1,13 @@
diff --git a/pwdx.c b/pwdx.c
index cb96a52..29ebce2 100644
--- a/pwdx.c
+++ b/pwdx.c
@@ -13,7 +13,7 @@
#include <stdlib.h>
#include <sys/types.h>
#include <regex.h>
-#include <limits.h>
+#include <linux/limits.h>
#include <unistd.h>
#include <errno.h>

View File

@ -0,0 +1,22 @@
Index: procps-3.2.1/proc/devname.c
===================================================================
--- procps-3.2.1.orig/proc/devname.c 2004-03-18 05:43:50.000000000 +1100
+++ procps-3.2.1/proc/devname.c 2005-04-02 10:40:17.462138000 +1000
@@ -227,7 +227,7 @@
/* number --> name */
unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
- static char buf[PAGE_SIZE];
+ static char buf[4096];
char *restrict tmp = buf;
unsigned dev = dev_t_dev;
unsigned i = 0;
@@ -249,7 +249,7 @@
if((flags&ABBREV_TTY) && !strncmp(tmp,"tty", 3) && tmp[3]) tmp += 3;
if((flags&ABBREV_PTS) && !strncmp(tmp,"pts/", 4) && tmp[4]) tmp += 4;
/* gotta check before we chop or we may chop someone else's memory */
- if(chop + (unsigned long)(tmp-buf) <= sizeof buf)
+ if(chop + (unsigned long)(tmp-buf) < sizeof buf)
tmp[chop] = '\0';
/* replace non-ASCII characters with '?' and return the number of chars */
for(;;){

View File

@ -0,0 +1,36 @@
*** procps-3.2.5/proc/module.mk.orig Sun Jul 24 11:53:49 2005
--- procps-3.2.5/proc/module.mk Sun Jul 24 11:54:32 2005
***************
*** 96,102 ****
#################### install rules ###########################
$(lib)$(SOFILE) : proc/$(SONAME)
! $(install) --mode a=rx $< $@
ifneq ($(SOLINK),$(SOFILE))
.PHONY: $(lib)$(SOLINK)
--- 96,102 ----
#################### install rules ###########################
$(lib)$(SOFILE) : proc/$(SONAME)
! $(install) -m 555 $< $@
ifneq ($(SOLINK),$(SOFILE))
.PHONY: $(lib)$(SOLINK)
***************
*** 115,121 ****
$(ldconfig)
$(usr/lib)$(ANAME) : proc/$(ANAME)
! $(install) --mode a=r $< $@
# Junk anyway... supposed to go in /usr/include/$(NAME)
#INSTALL += $(addprefix $(include),$(HDRFILES))
--- 115,121 ----
$(ldconfig)
$(usr/lib)$(ANAME) : proc/$(ANAME)
! $(install) -m 444 $< $@
# Junk anyway... supposed to go in /usr/include/$(NAME)
#INSTALL += $(addprefix $(include),$(HDRFILES))

View File

@ -0,0 +1,6 @@
#!/bin/sh
SYSCTL_CONF="/etc/sysctl.conf"
if [ -f "${SYSCTL_CONF}" ]; then
/sbin/sysctl -q -p "${SYSCTL_CONF}"
fi

View File

@ -0,0 +1,21 @@
*** procps-3.2.5/ps/module.mk.orig Sun Jul 24 11:54:40 2005
--- procps-3.2.5/ps/module.mk Sun Jul 24 11:55:02 2005
***************
*** 33,40 ****
$(bin)ps: ps/ps
! $(install) --mode a=rx $< $@
$(man1)ps.1 : ps/ps.1
! $(install) --mode a=r $< $@
-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
--- 33,40 ----
$(bin)ps: ps/ps
! $(install) -m 555 $< $@
$(man1)ps.1 : ps/ps.1
! $(install) -m 444 $< $@
-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz

View File

@ -0,0 +1,64 @@
# This configuration file is taken from Debian.
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
#
#kernel.domainname = example.com
# Uncomment the following to stop low-level messages on console
#kernel.printk = 4 4 1 7
##############################################################3
# Functions previously found in netbase
#
# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
# Uncomment the next line to enable TCP/IP SYN cookies
#net.ipv4.tcp_syncookies=1
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
# Uncomment the next line to enable packet forwarding for IPv6
#net.ipv6.conf.all.forwarding=1
###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Ignore ICMP broadcasts
#net.ipv4.icmp_echo_ignore_broadcasts = 1
#
# Ignore bogus ICMP errors
#net.ipv4.icmp_ignore_bogus_error_responses = 1
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
#kernel.shmmax = 141762560

View File

@ -0,0 +1,16 @@
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, and skill."
HOMEPAGE = "http://procps.sf.net"
SECTION = "base"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "ncurses"
FILES_${PN} += "${base_libdir}/libproc-*.so"
SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz \
file://install.patch;patch=1"
inherit autotools_stage

View File

@ -0,0 +1,64 @@
require procps.inc
PR = "r8"
inherit update-rc.d
INITSCRIPT_NAME = "procps.sh"
INITSCRIPT_PARAMS = "start 30 S ."
SRC_URI += "file://procmodule.patch;patch=1 \
file://psmodule.patch;patch=1 \
file://linux-limits.patch;patch=1 \
file://sysctl.conf \
file://procps.init \
"
FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${base_bindir}/kill.${PN} \
${bindir}/free.${PN} ${bindir}/w ${bindir}/watch ${bindir}/pgrep ${bindir}/pmap ${bindir}/pwdx \
${bindir}/snice ${bindir}/vmstat ${bindir}/slabtop ${bindir}/pkill ${bindir}/skill ${bindir}/tload \
${base_sbindir}/sysctl.${PN}"
CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
CPPFLAGS=-I${STAGING_INCDIR} \
LDFLAGS="${LDFLAGS}" \
CURSES=-lncurses \
install='install -D' \
ldconfig=echo"
do_install_append () {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/procps.init ${D}${sysconfdir}/init.d/procps.sh
mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
mv ${D}${bindir}/top ${D}${bindir}/top.${PN}
mv ${D}${base_bindir}/kill ${D}${base_bindir}/kill.${PN}
mv ${D}${base_bindir}/ps ${D}${base_bindir}/ps.${PN}
mv ${D}${bindir}/free ${D}${bindir}/free.${PN}
mv ${D}${base_sbindir}/sysctl ${D}${base_sbindir}/sysctl.${PN}
mv ${D}${bindir}/pkill ${D}${bindir}/pkill.${PN}
}
pkg_postinst() {
update-alternatives --install ${bindir}/top top top.${PN} 90
update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 90
update-alternatives --install ${base_bindir}/ps ps ps.${PN} 90
update-alternatives --install ${base_bindir}/kill kill kill.${PN} 90
update-alternatives --install ${bindir}/free free free.${PN} 90
update-alternatives --install ${base_sbindir}/sysctl sysctl sysctl.${PN} 90
update-alternatives --install ${bindir}/pkill pkill pkill.${PN} 90
}
pkg_postrm() {
update-alternatives --remove top top.${PN}
update-alternatives --remove ps ps.${PN}
update-alternatives --remove uptime uptime.${PN}
update-alternatives --remove kill kill.${PN}
update-alternatives --remove free free.${PN}
update-alternatives --remove sysctl sysctl.${PN}
update-alternatives --remove pkill pkill.${PN}
}