Is there any compelling reason to include it in meta-oe at all? It seems like dropping it altogether would be a better approach.
-Derek On Tue, Jan 2, 2018 at 7:58 PM, Yi Zhao <[email protected]> wrote: > The stat hasn't any update since 2002. All modern Linux distributions > use stat from coreutils as default. It is no longer needed by oe-core. > Move it to meta-oe. > > Signed-off-by: Yi Zhao <[email protected]> > --- > .../stat/stat-3.3/fix-error-return.patch | 16 +++++ > .../stat/stat-3.3/fix-security-format.patch | 68 > ++++++++++++++++++++++ > meta-oe/recipes-extended/stat/stat_3.3.bb | 35 +++++++++++ > 3 files changed, 119 insertions(+) > create mode 100644 meta-oe/recipes-extended/stat/ > stat-3.3/fix-error-return.patch > create mode 100644 meta-oe/recipes-extended/stat/ > stat-3.3/fix-security-format.patch > create mode 100644 meta-oe/recipes-extended/stat/stat_3.3.bb > > diff --git a/meta-oe/recipes-extended/stat/stat-3.3/fix-error-return.patch > b/meta-oe/recipes-extended/stat/stat-3.3/fix-error-return.patch > new file mode 100644 > index 0000000..032995d > --- /dev/null > +++ b/meta-oe/recipes-extended/stat/stat-3.3/fix-error-return.patch > @@ -0,0 +1,16 @@ > +This patch fixies the wrong return code of stat -h. > + > +Upstream-Status: Pending > +Signed-off-by: Zhangle Yang <[email protected]> > + > +--- stat-3.3/stat.c.orig 2013-08-22 10:49:45.000000000 +0800 > ++++ stat-3.3/stat.c 2013-08-22 10:50:31.000000000 +0800 > +@@ -845,7 +845,7 @@ > + fprintf(stderr, "\t\t%%S - Security ID in SE-Linux\n"); > + fprintf(stderr, "\t\t%%C - Security context in SE-Linux\n"); > + fprintf(stderr, "\t\t%%d - Free file nodes in file system\n"); > +- exit(1); > ++ exit(0); > + } > + > + > diff --git a/meta-oe/recipes-extended/stat/stat-3.3/fix-security-format.patch > b/meta-oe/recipes-extended/stat/stat-3.3/fix-security-format.patch > new file mode 100644 > index 0000000..0c01ed0 > --- /dev/null > +++ b/meta-oe/recipes-extended/stat/stat-3.3/fix-security-format.patch > @@ -0,0 +1,68 @@ > +stat: Fixing security formatting issues > + > +Fix security formatting issues related to printf without NULL argument > + > +stat.c: In function 'print_human_access': > +stat.c:292:13: error: format not a string literal and no format arguments > [-Werror=format-security] > + printf (access); > + ^ > +stat.c: In function 'print_human_time': > +stat.c:299:57: error: format not a string literal and no format arguments > [-Werror=format-security] > + if (strftime(str, 40, "%c", localtime(t)) > 0) printf(str); > + ^ > +stat.c: In function 'print_it': > +stat.c:613:6: error: format not a string literal and no format arguments > [-Werror=format-security] > + printf(b); > + ^ > +stat.c:642:6: error: format not a string literal and no format arguments > [-Werror=format-security] > + printf(b); > + ^ > + > +[YOCTO #9550] > +[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9550] > + > +Upstream-Status: Pending > + > +Signed-off-by: Edwin Plauchu <[email protected]> > + > +diff --git a/stat.c b/stat.c > +index 1ed07a9..2be6f62 100644 > +--- a/stat.c > ++++ b/stat.c > +@@ -289,15 +289,15 @@ void print_human_access(struct stat *statbuf) > + default: > + access[0] = '?'; > + } > +- printf (access); > ++ fputs(access,stdout); > + } > + > + void print_human_time(time_t *t) > + { > + char str[40]; > + > +- if (strftime(str, 40, "%c", localtime(t)) > 0) printf(str); > +- else printf("Cannot calculate human readable time, sorry"); > ++ if (strftime(str, 40, "%c", localtime(t)) > 0) fputs(str,stdout); > ++ else fputs("Cannot calculate human readable time, sorry",stdout); > + } > + > + /* print statfs info */ > +@@ -610,7 +610,7 @@ void print_it(char *masterformat, char *filename, > + { > + strcpy (pformat, "%"); > + *m++ = '\0'; > +- printf(b); > ++ fputs(b,stdout); > + > + /* copy all format specifiers to our format string */ > + while (isdigit(*m) || strchr("#0-+. I", *m)) > +@@ -639,7 +639,7 @@ void print_it(char *masterformat, char *filename, > + } > + else > + { > +- printf(b); > ++ fputs(b,stdout); > + b = NULL; > + } > + } > diff --git a/meta-oe/recipes-extended/stat/stat_3.3.bb > b/meta-oe/recipes-extended/stat/stat_3.3.bb > new file mode 100644 > index 0000000..8ac8e89 > --- /dev/null > +++ b/meta-oe/recipes-extended/stat/stat_3.3.bb > @@ -0,0 +1,35 @@ > +SUMMARY = "Command line file status display utility" > +HOMEPAGE = "http://www.ibiblio.org/pub/Linux/utils/file/" > +DESCRIPTION = "Displays all information about a file that the stat() call > provides and all information about a filesystem that statfs() provides." > +SECTION = "console/utils" > +LICENSE = "GPLv2" > +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39886b077fd072e876e5c4c16310b631 > \ > + file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f" > + > +SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/${BP}.tar.gz \ > + file://fix-security-format.patch \ > + file://fix-error-return.patch" > + > +SRC_URI[md5sum] = "37e247e8e400ad9205f1b0500b728fd3" > +SRC_URI[sha256sum] = "7071f0384a423a938dd542c1f08547 > a02824f6359acd3ef3f944b2c4c2d1ee09" > + > +EXTRA_OEMAKE = "-e MAKEFLAGS=" > + > +do_install() { > + install -d ${D}${base_bindir} ${D}${mandir}/man1 > + install -m 755 stat ${D}${base_bindir}/stat.stat > + install -m 644 stat.1 ${D}${mandir}/man1 > +} > + > +inherit update-alternatives > + > +ALTERNATIVE_${PN} = "stat" > +ALTERNATIVE_PRIORITY[stat] = "200" > +ALTERNATIVE_LINK_NAME[stat] = "${base_bindir}/stat" > +ALTERNATIVE_TARGET[stat] = "${base_bindir}/stat.stat" > + > +ALTERNATIVE_${PN}-doc = "stat.1" > +ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1" > + > +BBCLASSEXTEND = "native" > + > -- > 2.7.4 > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
