aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/procps
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/procps')
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/install.patch27
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/linux-limits.patch13
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/pagesz-not-constant.patch22
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/procmodule.patch36
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/procps.init6
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/psmodule.patch21
-rw-r--r--meta/recipes-extended/procps/procps-3.2.7/sysctl.conf64
-rw-r--r--meta/recipes-extended/procps/procps.inc16
-rw-r--r--meta/recipes-extended/procps/procps_3.2.7.bb64
9 files changed, 269 insertions, 0 deletions
diff --git a/meta/recipes-extended/procps/procps-3.2.7/install.patch b/meta/recipes-extended/procps/procps-3.2.7/install.patch
new file mode 100644
index 0000000000..9f1ef6915d
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/install.patch
@@ -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
diff --git a/meta/recipes-extended/procps/procps-3.2.7/linux-limits.patch b/meta/recipes-extended/procps/procps-3.2.7/linux-limits.patch
new file mode 100644
index 0000000000..dcd66163ad
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/linux-limits.patch
@@ -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>
+
diff --git a/meta/recipes-extended/procps/procps-3.2.7/pagesz-not-constant.patch b/meta/recipes-extended/procps/procps-3.2.7/pagesz-not-constant.patch
new file mode 100644
index 0000000000..8e9e1ebfe1
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/pagesz-not-constant.patch
@@ -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(;;){
diff --git a/meta/recipes-extended/procps/procps-3.2.7/procmodule.patch b/meta/recipes-extended/procps/procps-3.2.7/procmodule.patch
new file mode 100644
index 0000000000..fabfabaa59
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/procmodule.patch
@@ -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))
diff --git a/meta/recipes-extended/procps/procps-3.2.7/procps.init b/meta/recipes-extended/procps/procps-3.2.7/procps.init
new file mode 100644
index 0000000000..739dcf4be7
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/procps.init
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+SYSCTL_CONF="/etc/sysctl.conf"
+if [ -f "${SYSCTL_CONF}" ]; then
+ /sbin/sysctl -q -p "${SYSCTL_CONF}"
+fi
diff --git a/meta/recipes-extended/procps/procps-3.2.7/psmodule.patch b/meta/recipes-extended/procps/procps-3.2.7/psmodule.patch
new file mode 100644
index 0000000000..f298c1c1c4
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/psmodule.patch
@@ -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
diff --git a/meta/recipes-extended/procps/procps-3.2.7/sysctl.conf b/meta/recipes-extended/procps/procps-3.2.7/sysctl.conf
new file mode 100644
index 0000000000..34e7488bf7
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.7/sysctl.conf
@@ -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
diff --git a/meta/recipes-extended/procps/procps.inc b/meta/recipes-extended/procps/procps.inc
new file mode 100644
index 0000000000..2de32d2c83
--- /dev/null
+++ b/meta/recipes-extended/procps/procps.inc
@@ -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
diff --git a/meta/recipes-extended/procps/procps_3.2.7.bb b/meta/recipes-extended/procps/procps_3.2.7.bb
new file mode 100644
index 0000000000..6da975adc7
--- /dev/null
+++ b/meta/recipes-extended/procps/procps_3.2.7.bb
@@ -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}
+}