diff options
-rw-r--r-- | meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch | 54 | ||||
-rw-r--r-- | 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 0000000000..203ccb3347 --- /dev/null +++ b/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | ## 60_linux_init.dpatch by <david.sugar@canonical.com> | ||
2 | ## | ||
3 | ## All lines beginning with `## DP:' are a description of the patch. | ||
4 | ## DP: Fix Linux version detection which relied on elf loader side-effect. | ||
5 | ## DP: This patch also depends on 40_gnu-kbsd-version, which modified | ||
6 | ## DP: init_Linux_version(). | ||
7 | |||
8 | @DPATCH@ | ||
9 | |||
10 | Upstream-Status: inappropriate [upstream unmaintained] | ||
11 | --- | ||
12 | proc/sysinfo.c | 1 + | ||
13 | proc/version.c | 5 +++-- | ||
14 | proc/version.h | 1 + | ||
15 | 3 files changed, 5 insertions(+), 2 deletions(-) | ||
16 | |||
17 | Index: procps-3.2.8/proc/sysinfo.c | ||
18 | =================================================================== | ||
19 | --- procps-3.2.8.orig/proc/sysinfo.c | ||
20 | +++ procps-3.2.8/proc/sysinfo.c | ||
21 | @@ -212,6 +212,7 @@ static int check_for_privs(void){ | ||
22 | static void init_libproc(void) __attribute__((constructor)); | ||
23 | static void init_libproc(void){ | ||
24 | have_privs = check_for_privs(); | ||
25 | + init_Linux_version(); // make sure we have version before continuing... | ||
26 | // ought to count CPUs in /proc/stat instead of relying | ||
27 | // on glibc, which foolishly tries to parse /proc/cpuinfo | ||
28 | // | ||
29 | Index: procps-3.2.8/proc/version.c | ||
30 | =================================================================== | ||
31 | --- procps-3.2.8.orig/proc/version.c | ||
32 | +++ procps-3.2.8/proc/version.c | ||
33 | @@ -33,8 +33,7 @@ void display_version(void) { | ||
34 | |||
35 | int linux_version_code; | ||
36 | |||
37 | -static void init_Linux_version(void) __attribute__((constructor)); | ||
38 | -static void init_Linux_version(void) { | ||
39 | +void init_Linux_version(void) { | ||
40 | int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 2 */ | ||
41 | FILE *fp; | ||
42 | char buf[256]; | ||
43 | Index: procps-3.2.8/proc/version.h | ||
44 | =================================================================== | ||
45 | --- procps-3.2.8.orig/proc/version.h | ||
46 | +++ procps-3.2.8/proc/version.h | ||
47 | @@ -14,6 +14,7 @@ | ||
48 | |||
49 | EXTERN_C_BEGIN | ||
50 | |||
51 | +extern void init_Linux_version(void); /* initialize linux version */ | ||
52 | extern void display_version(void); /* display suite version */ | ||
53 | extern const char procps_version[]; /* global buf for suite version */ | ||
54 | |||
diff --git a/meta/recipes-extended/procps/procps_3.2.8.bb b/meta/recipes-extended/procps/procps_3.2.8.bb index 3f20beaf30..7533859518 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 @@ | |||
1 | require procps.inc | 1 | require procps.inc |
2 | 2 | ||
3 | PR = "r10" | 3 | PR = "r11" |
4 | 4 | ||
5 | SRC_URI += "file://procmodule.patch \ | 5 | SRC_URI += "file://procmodule.patch \ |
6 | file://psmodule.patch \ | 6 | file://psmodule.patch \ |
@@ -8,6 +8,7 @@ SRC_URI += "file://procmodule.patch \ | |||
8 | file://sysctl.conf \ | 8 | file://sysctl.conf \ |
9 | file://procps-3.2.8+gmake-3.82.patch \ | 9 | file://procps-3.2.8+gmake-3.82.patch \ |
10 | file://gnu-kbsd-version.patch \ | 10 | file://gnu-kbsd-version.patch \ |
11 | file://60_linux_version_init.patch \ | ||
11 | " | 12 | " |
12 | 13 | ||
13 | SRC_URI[md5sum] = "9532714b6846013ca9898984ba4cd7e0" | 14 | SRC_URI[md5sum] = "9532714b6846013ca9898984ba4cd7e0" |