[oe-commits] Enrico Scholz : procps: initialized environment correctly ( backported from classic)

git at git.openembedded.org git at git.openembedded.org
Mon Jan 7 13:52:49 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: a746cf196792d1c0646f5e97e87055e0974d753e
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a746cf196792d1c0646f5e97e87055e0974d753e

Author: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date:   Mon Jan  7 14:01:45 2013 +0100

procps: initialized environment correctly (backported from classic)

Without this patch, various procps tool can create "Unknown HZ value"
messages because internal initialization happens in a wrong, random
order.

It has been applied to classic already.

Signed-off-by: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 .../procps-3.2.8/60_linux_version_init.patch       |   54 ++++++++++++++++++++
 meta/recipes-extended/procps/procps_3.2.8.bb       |    3 +-
 2 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch b/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch
new file mode 100644
index 0000000..203ccb3
--- /dev/null
+++ b/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch
@@ -0,0 +1,54 @@
+## 60_linux_init.dpatch by  <david.sugar at canonical.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix Linux version detection which relied on elf loader side-effect.
+## DP: This patch also depends on 40_gnu-kbsd-version, which modified
+## DP: init_Linux_version().
+
+ at DPATCH@
+
+Upstream-Status: inappropriate [upstream unmaintained]
+---
+ proc/sysinfo.c |    1 +
+ proc/version.c |    5 +++--
+ proc/version.h |    1 +
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+Index: procps-3.2.8/proc/sysinfo.c
+===================================================================
+--- procps-3.2.8.orig/proc/sysinfo.c
++++ procps-3.2.8/proc/sysinfo.c
+@@ -212,6 +212,7 @@ static int check_for_privs(void){
+ static void init_libproc(void) __attribute__((constructor));
+ static void init_libproc(void){
+   have_privs = check_for_privs();
++  init_Linux_version(); // make sure we have version before continuing...
+   // ought to count CPUs in /proc/stat instead of relying
+   // on glibc, which foolishly tries to parse /proc/cpuinfo
+   //
+Index: procps-3.2.8/proc/version.c
+===================================================================
+--- procps-3.2.8.orig/proc/version.c
++++ procps-3.2.8/proc/version.c
+@@ -33,8 +33,7 @@ void display_version(void) {
+ 
+ int linux_version_code;
+ 
+-static void init_Linux_version(void) __attribute__((constructor));
+-static void init_Linux_version(void) {
++void init_Linux_version(void) {
+     int x = 0, y = 0, z = 0;	/* cleared in case sscanf() < 2 */
+     FILE *fp;
+     char buf[256];
+Index: procps-3.2.8/proc/version.h
+===================================================================
+--- procps-3.2.8.orig/proc/version.h
++++ procps-3.2.8/proc/version.h
+@@ -14,6 +14,7 @@
+ 
+ EXTERN_C_BEGIN
+ 
++extern void init_Linux_version(void);	/* initialize linux version */
+ extern void display_version(void);	/* display suite version */
+ extern const char procps_version[];		/* global buf for suite version */
+ 
diff --git a/meta/recipes-extended/procps/procps_3.2.8.bb b/meta/recipes-extended/procps/procps_3.2.8.bb
index 3f20bea..7533859 100644
--- a/meta/recipes-extended/procps/procps_3.2.8.bb
+++ b/meta/recipes-extended/procps/procps_3.2.8.bb
@@ -1,6 +1,6 @@
 require procps.inc
 
-PR = "r10"
+PR = "r11"
 
 SRC_URI += "file://procmodule.patch \
             file://psmodule.patch \
@@ -8,6 +8,7 @@ SRC_URI += "file://procmodule.patch \
             file://sysctl.conf \
             file://procps-3.2.8+gmake-3.82.patch \
             file://gnu-kbsd-version.patch \
+            file://60_linux_version_init.patch \
            "
 
 SRC_URI[md5sum] = "9532714b6846013ca9898984ba4cd7e0"





More information about the Openembedded-commits mailing list