coreutils: fix reporting 'unknown' by `uname -p' and `uname -i'
cover coreutils: fix reporting 'unknown' by `uname -p' and `uname -i'
The following changes since commit f787b688f2884ce3fa888b4041030538c7d2bf55:
oeqa/utils/decorators: fix missing keyword arguments on decorators (2015-10-27 07:22:22 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib ChenQi/coreutils-uname
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/coreutils-uname
Chen Qi (1):
coreutils: fix reporting 'unknown' by uname -p' and uname -i'
...e-report-processor-and-hardware-correctly.patch | 64 ++++++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.24.bb | 1 + 2 files changed, 65 insertions(+) create mode 100644 meta/recipes-core/coreutils/coreutils-8.24/0001-uname-report-processor-and-hardware-correctly.patch
Signature · 1 line
1.9.1
PATCH 1/1 coreutils: fix reporting 'unknown' by `uname -p' and `uname -i'
This patch make uname -p' and uname -i' not reporting 'unknown'. It refers a to Fedora's way to do this.
The coreutils upstream rejects to accept this patch, blaming the 'unknown' result to the kernel not providing enough information. As on normal distros, uname -p' and uname -i' do not report 'unknown', we refer to Fedora's patch to fix this problem.
--- ...e-report-processor-and-hardware-correctly.patch | 64 ++++++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.24.bb | 1 + 2 files changed, 65 insertions(+) create mode 100644 meta/recipes-core/coreutils/coreutils-8.24/0001-uname-report-processor-and-hardware-correctly.patch
meta/recipes-core/coreutils/coreutils-8.24/0001-uname-report-processor-and-hardware-correctly.patch new file +64 -0
@@ -0,0 +1,64 @@ +Upstream-Status: Rejected + +Subject: uname: report processor and hardware correctly + +This patch is rejected by coreutils upstream, but distros like debian and fedora +uses this patch to make `uname -i' and `uname -p' to not report 'unknown'. + +Signed-off-by: Chen Qi <[email protected]> +--- + src/uname.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/src/uname.c b/src/uname.c +index 39bd28c..c84582d 100644 +--- a/src/uname.c ++++ b/src/uname.c +@@ -299,13 +299,19 @@ main (int argc, char **argv) + + if (toprint & PRINT_PROCESSOR) + { +- char const *element = unknown; ++ char *element = unknown; + #if HAVE_SYSINFO && defined SI_ARCHITECTURE + { + static char processor[257]; + if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) + element = processor; + } ++#else ++ { ++ static struct utsname u; ++ uname(&u); ++ element = u.machine; ++ } + #endif + #ifdef UNAME_PROCESSOR + if (element == unknown) +@@ -343,7 +349,7 @@ main (int argc, char **argv) + + if (toprint & PRINT_HARDWARE_PLATFORM) + { +- char const *element = unknown; ++ char *element = unknown; + #if HAVE_SYSINFO && defined SI_PLATFORM + { + static char hardware_platform[257]; +@@ -361,6 +367,14 @@ main (int argc, char **argv) + if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0) + element = hardware_platform; + } ++#else ++ { ++ static struct utsname u; ++ uname(&u); ++ element = u.machine; ++ if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6') ++ element[1]='3'; ++ } + #endif + if (! (toprint == UINT_MAX && element == unknown)) + print_element (element); +-- +1.9.1 +
meta/recipes-core/coreutils/coreutils_8.24.bb +1 -0
@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz;name=tarball \ file://remove-usr-local-lib-from-m4.patch \ file://fix-selinux-flask.patch \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ + file://0001-uname-report-processor-and-hardware-correctly.patch \ " SRC_URI[tarball.md5sum] = "40efdbce865d2458d8da0a9dcee7c16c"
Signature · 1 line
1.9.1
ping ...
Quoted 97 lines · Chen Qi
This patch make
uname -p' anduname -i' not reporting 'unknown'. It refers a to Fedora's way to do this.The coreutils upstream rejects to accept this patch, blaming the 'unknown' result to the kernel not providing enough information. As on normal distros,
uname -p' anduname -i' do not report 'unknown', we refer to Fedora's patch to fix this problem.Signed-off-by Chen Qi <[email protected]>--- ...e-report-processor-and-hardware-correctly.patch | 64 ++++++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.24.bb | 1 + 2 files changed, 65 insertions(+)create mode 100644
meta/recipes-core/coreutils/coreutils-8.24/0001-uname-report-processor-and-hardware-correctly.patchmeta/recipes-core/coreutils/coreutils-8.24/0001-uname-report-processor-and-hardware-correctly.patch new file +64
-0@@ -0,0 +1,64 @@ +Upstream-Status: Rejected + +Subject: uname: report processor and hardware correctly + +This patch is rejected by coreutils upstream, but distros like debian and fedora +uses this patch to make `uname -i' and `uname -p' to not report 'unknown'. + +Signed-off-by: Chen Qi <[email protected]> +--- + src/uname.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/src/uname.c b/src/uname.c +index 39bd28c..c84582d 100644 +--- a/src/uname.c ++++ b/src/uname.c +@@ -299,13 +299,19 @@ main (int argc, char **argv) + + if (toprint & PRINT_PROCESSOR) + { +- char const *element = unknown; ++ char *element = unknown; + #if HAVE_SYSINFO && defined SI_ARCHITECTURE + { + static char processor[257]; + if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) + element = processor; + } ++#else ++ { ++ static struct utsname u; ++ uname(&u); ++ element = u.machine; ++ } + #endif + #ifdef UNAME_PROCESSOR + if (element == unknown) +@@ -343,7 +349,7 @@ main (int argc, char **argv) + + if (toprint & PRINT_HARDWARE_PLATFORM) + { +- char const *element = unknown; ++ char *element = unknown; + #if HAVE_SYSINFO && defined SI_PLATFORM + { + static char hardware_platform[257]; +@@ -361,6 +367,14 @@ main (int argc, char **argv) + if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0) + element = hardware_platform; + } ++#else ++ { ++ static struct utsname u; ++ uname(&u); ++ element = u.machine; ++ if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6') ++ element[1]='3'; ++ } + #endif + if (! (toprint == UINT_MAX && element == unknown)) + print_element (element); +-- +1.9.1 +meta/recipes-core/coreutils/coreutils_8.24.bb +1
-0@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz;name=tarball \ file://remove-usr-local-lib-from-m4.patch \ file://fix-selinux-flask.patch \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ + file://0001-uname-report-processor-and-hardware-correctly.patch \ " SRC_URI[tarball.md5sum] = "40efdbce865d2458d8da0a9dcee7c16c"