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" |
