[meta-rockchip][PATCH] README: update mailing list info
Trevor Woerner
The Yocto Project mailing lists migrated to a new system and email address a
while back. Update the README with the up-to-date information. Signed-off-by: Trevor Woerner <twoerner@...> --- README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README b/README index a751fce..7272c3f 100644 --- a/README +++ b/README @@ -31,7 +31,7 @@ Status of supported boards: Maintenance: ----------- Please send pull requests, patches, comments, or questions to the - yocto mailing list (yocto@...) CCing the maintainer + yocto mailing list (yocto@...) CCing the maintainer When sending patches, please make sure the email subject line includes "[meta-rockchip][PATCH]" and follow the community's patch submission @@ -42,7 +42,7 @@ Maintenance: For example, to send your most recent commit (i.e. just one patch), please use something like: git format-patch -M --subject-prefix="meta-rockchip][PATCH" HEAD^ - git send-email --to yocto@... --cc twoerner@... <your patch file> + git send-email --to yocto@... --cc twoerner@... <your patch file> Maintainer: ---------- -- 2.30.0.rc0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [meta-rockchip][PATCH v2] Add machine definitions for NanoPi-M4 boards, 2GB and 4GB variants
Trevor Woerner
On Tue 2021-03-23 @ 12:25:17 AM, Trevor Woerner wrote:
On Mon 2021-03-22 @ 04:07:20 PM, yann.dirson@... wrote:Personally, specifying wic should add wic.bmap implicitly. I can't imagine why+IMAGE_FSTYPES += "wic"Please add "wic.bmap" to IMAGE_FSTYPES in addition to "wic". It makes creating anyone would want to generate a wic without the bmap to go with it. But my use-case is probably narrow. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [error-report-web] [PATCH] Post/parser: Use bleach to sanitse XSS input
On 3/22/21 10:56 AM, Richard Purdie wrote:
Instead of searching for "<", use bleach to sanity input to avoidI will be able to test it. once its installed Signed-off-by: Richard Purdie <richard.purdie@...> |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [meta-rockchip][PATCH v2] Add machine definitions for NanoPi-M4 boards, 2GB and 4GB variants
Trevor Woerner
Hi Yann,
Sorry to nitpick… Could you please tighten up the commit message? For example, please set the subject to something like: "NanoPi-M4: add" or perhaps "NanoPi-M4: add machines" then in the body give the details of exactly which boards are being added; rather than having a long subject line and nothing in the body. Also, I'm going to need a "signed-off-by:" line in order to accept this patch. On Mon 2021-03-22 @ 04:07:20 PM, yann.dirson@... wrote: From: Yann Dirson <yann@...>Please add "wic.bmap" to IMAGE_FSTYPES in addition to "wic". It makes creating an µSD card so much faster. + |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ptest-runner][PATCH 4/4] utils.c: wait_child reimplement timeout using alarm
Anibal Limon
Since we are using threads to read from child, no complex logic is
needed for handle timeouts use alarm(2). [YOCTO #14220] Signed-off-by: Aníbal Limón <anibal.limon@...> --- utils.c | 60 ++++++++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/utils.c b/utils.c index 84cb570..1a3c90f 100644 --- a/utils.c +++ b/utils.c @@ -57,6 +57,9 @@ static struct { int fds[2]; FILE *fps[2]; + + int timeouted; + pid_t pid; } _child_reader; static inline char * @@ -335,45 +338,25 @@ run_child(char *run_ptest, int fd_stdout, int fd_stderr) /* exit(1); not needed? */ } -static inline int -wait_child(pid_t pid, int timeout, int *timeouted) +static void +timeout_child_handler(int signo) { - struct timespec sentinel; - clockid_t clock = CLOCK_MONOTONIC; - int looping = 1; + _child_reader.timeouted = 1; + kill(-_child_reader.pid, SIGKILL); +} +static inline int +wait_child(pid_t pid, int timeout) +{ int status = -1; - int waitflags; - - if (clock_gettime(clock, &sentinel) == -1) { - clock = CLOCK_REALTIME; - clock_gettime(clock, &sentinel); - } - - *timeouted = 0; - while (looping) { - waitflags = WNOHANG; + _child_reader.timeouted = 0; + _child_reader.pid = pid; - if (timeout >= 0) { - struct timespec time; - - clock_gettime(clock, &time); - if ((time.tv_sec - sentinel.tv_sec) > timeout) { - *timeouted = 1; - kill(-pid, SIGKILL); - waitflags = 0; - } - } - - if (waitpid(pid, &status, waitflags) == pid) - looping = 0; - - clock_gettime(clock, &sentinel); - - if (WIFEXITED(status)) - status = WEXITSTATUS(status); - } + alarm(timeout); + waitpid(pid, &status, 0); + if (WIFEXITED(status)) + status = WEXITSTATUS(status); return status; } @@ -438,7 +421,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, pid_t child; int pipefd_stdout[2]; int pipefd_stderr[2]; - int timeouted; time_t sttime, entime; time_t duration; int slave; @@ -477,6 +459,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, close(pipefd_stdout[1]); break; } + signal(SIGALRM, timeout_child_handler); fprintf(fp, "START: %s\n", progname); PTEST_LIST_ITERATE_START(head, p) @@ -527,8 +510,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, fprintf(fp, "BEGIN: %s\n", ptest_dir); - status = wait_child(child, opts.timeout, &timeouted); - + status = wait_child(child, opts.timeout); entime = time(NULL); duration = entime - sttime; @@ -538,11 +520,11 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, rc += 1; } fprintf(fp, "DURATION: %d\n", (int) duration); - if (timeouted) + if (_child_reader.timeouted) fprintf(fp, "TIMEOUT: %s\n", ptest_dir); if (opts.xml_filename) - xml_add_case(xh, status, ptest_dir, timeouted, (int) duration); + xml_add_case(xh, status, ptest_dir, _child_reader.timeouted, (int) duration); fprintf(fp, "END: %s\n", ptest_dir); fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, entime)); -- 2.31.0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ptest-runner][PATCH 3/4] utils.c: Use a thread to read from child
Anibal Limon
In order to handle large output add a thread for read from childs using
a pipe and remove non-blocking option. Modify bash unittest to output large data and cover this scenario. [YOCTO #14220] Signed-off-by: Aníbal Limón <anibal.limon@...> --- Makefile | 2 +- tests/data/bash/ptest/run-ptest | 4 +- utils.c | 112 +++++++++++++++++++++----------- 3 files changed, 78 insertions(+), 40 deletions(-) diff --git a/Makefile b/Makefile index 3cca17b..1aa1830 100644 --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ TEST_DATA=$(shell echo `pwd`/tests/data) all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) - $(CC) $(LDFLAGS) $(OBJECTS) -lutil -o $@ + $(CC) $(LDFLAGS) $(OBJECTS) -pthread -lutil -o $@ tests: $(TEST_SOURCES) $(TEST_EXECUTABLE) diff --git a/tests/data/bash/ptest/run-ptest b/tests/data/bash/ptest/run-ptest index 09f997f..f36e077 100755 --- a/tests/data/bash/ptest/run-ptest +++ b/tests/data/bash/ptest/run-ptest @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash echo "bash" printf "Hello World!,stderr\n" >&2 @@ -7,3 +7,5 @@ printf "Hello World!,stderr2\n" >&2 echo "bash3" echo "bash4" printf "Hello World!,stderr3\n" >&2 + +echo {1..1000000}\\n diff --git a/utils.c b/utils.c index d784736..84cb570 100644 --- a/utils.c +++ b/utils.c @@ -39,6 +39,7 @@ #include <string.h> #include <time.h> #include <unistd.h> +#include <pthread.h> #include <sys/ioctl.h> #include <sys/resource.h> @@ -53,6 +54,11 @@ #define WAIT_CHILD_POLL_TIMEOUT_MS 200 #define WAIT_CHILD_BUF_MAX_SIZE 1024 +static struct { + int fds[2]; + FILE *fps[2]; +} _child_reader; + static inline char * get_stime(char *stime, size_t size, time_t t) { @@ -269,6 +275,44 @@ close_fds(void) } } +static void * +read_child(void *arg) +{ + struct pollfd pfds[2]; + int r; + + pfds[0].fd = _child_reader.fds[0]; + pfds[0].events = POLLIN; + pfds[1].fd = _child_reader.fds[1]; + pfds[1].events = POLLIN; + + do { + r = poll(pfds, 2, WAIT_CHILD_POLL_TIMEOUT_MS); + if (r > 0) { + char buf[WAIT_CHILD_BUF_MAX_SIZE]; + ssize_t n; + + if (pfds[0].revents != 0) { + n = read(_child_reader.fds[0], buf, WAIT_CHILD_BUF_MAX_SIZE); + if (n > 0) + fwrite(buf, (size_t)n, 1, _child_reader.fps[0]); + } + + if (pfds[1].revents != 0) { + n = read(_child_reader.fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE); + if (n > 0) + fwrite(buf, (size_t)n, 1, _child_reader.fps[1]); + } + + } + + fflush(_child_reader.fps[0]); + fflush(_child_reader.fps[1]); + } while (1); + + return NULL; +} + static inline void run_child(char *run_ptest, int fd_stdout, int fd_stderr) { @@ -292,22 +336,15 @@ run_child(char *run_ptest, int fd_stdout, int fd_stderr) } static inline int -wait_child(pid_t pid, int timeout, int *fds, FILE **fps, int *timeouted) +wait_child(pid_t pid, int timeout, int *timeouted) { - struct pollfd pfds[2]; struct timespec sentinel; clockid_t clock = CLOCK_MONOTONIC; int looping = 1; - int r; int status = -1; int waitflags; - pfds[0].fd = fds[0]; - pfds[0].events = POLLIN; - pfds[1].fd = fds[1]; - pfds[1].events = POLLIN; - if (clock_gettime(clock, &sentinel) == -1) { clock = CLOCK_REALTIME; clock_gettime(clock, &sentinel); @@ -332,32 +369,12 @@ wait_child(pid_t pid, int timeout, int *fds, FILE **fps, int *timeouted) if (waitpid(pid, &status, waitflags) == pid) looping = 0; - r = poll(pfds, 2, WAIT_CHILD_POLL_TIMEOUT_MS); - if (r > 0) { - char buf[WAIT_CHILD_BUF_MAX_SIZE]; - ssize_t n; - - if (pfds[0].revents != 0) { - while ((n = read(fds[0], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) - fwrite(buf, (size_t)n, 1, fps[0]); - } - - if (pfds[1].revents != 0) { - while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) { - fflush(fps[0]); - fwrite(buf, (size_t)n, 1, fps[1]); - fflush(fps[1]); - } - } - - clock_gettime(clock, &sentinel); - } + clock_gettime(clock, &sentinel); if (WIFEXITED(status)) status = WEXITSTATUS(status); } - fflush(fps[0]); return status; } @@ -426,6 +443,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, time_t duration; int slave; int pgid = -1; + pthread_t tid; if (opts.xml_filename) { xh = xml_create(ptest_list_length(head), opts.xml_filename); @@ -435,18 +453,32 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, do { - if ((rc = pipe2(pipefd_stdout, O_NONBLOCK)) == -1) + if ((rc = pipe(pipefd_stdout)) == -1) break; - if ((rc = pipe2(pipefd_stderr, O_NONBLOCK)) == -1) { + if ((rc = pipe(pipefd_stderr)) == -1) { close(pipefd_stdout[0]); close(pipefd_stdout[1]); break; } - fprintf(fp, "START: %s\n", progname); + if (isatty(0) && ioctl(0, TIOCNOTTY) == -1) { fprintf(fp, "ERROR: Unable to detach from controlling tty, %s\n", strerror(errno)); } + + _child_reader.fds[0] = pipefd_stdout[0]; + _child_reader.fds[1] = pipefd_stderr[0]; + _child_reader.fps[0] = fp; + _child_reader.fps[1] = fp_stderr; + rc = pthread_create(&tid, NULL, read_child, NULL); + if (rc != 0) { + fprintf(fp, "ERROR: Failed to create reader thread, %s\n", strerror(errno)); + close(pipefd_stdout[0]); + close(pipefd_stdout[1]); + break; + } + + fprintf(fp, "START: %s\n", progname); PTEST_LIST_ITERATE_START(head, p) char *ptest_dir = strdup(p->run_ptest); if (ptest_dir == NULL) { @@ -485,8 +517,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, } else { int status; - int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0]; - FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr; if (setpgid(child, pgid) == -1) { fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); @@ -496,17 +526,20 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime)); fprintf(fp, "BEGIN: %s\n", ptest_dir); - status = wait_child(child, opts.timeout, fds, fps, &timeouted); + + status = wait_child(child, opts.timeout, &timeouted); + + entime = time(NULL); duration = entime - sttime; if (status) { - fprintf(fps[0], "\nERROR: Exit status is %d\n", status); + fprintf(fp, "\nERROR: Exit status is %d\n", status); rc += 1; } - fprintf(fps[0], "DURATION: %d\n", (int) duration); + fprintf(fp, "DURATION: %d\n", (int) duration); if (timeouted) - fprintf(fps[0], "TIMEOUT: %s\n", ptest_dir); + fprintf(fp, "TIMEOUT: %s\n", ptest_dir); if (opts.xml_filename) xml_add_case(xh, status, ptest_dir, timeouted, (int) duration); @@ -517,6 +550,9 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, PTEST_LIST_ITERATE_END fprintf(fp, "STOP: %s\n", progname); + pthread_cancel(tid); + pthread_join(tid, NULL); + close(pipefd_stdout[0]); close(pipefd_stdout[1]); close(pipefd_stderr[0]); close(pipefd_stderr[1]); } while (0); -- 2.31.0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ptest-runner][PATCH 2/4] utils.c: Fix exit status of a child
Anibal Limon
Modify testcase to validate the actual exit status.
[YOCTO #14217] Signed-off-by: Aníbal Limón <anibal.limon@...> --- tests/data/fail/ptest/run-ptest | 3 +++ tests/utils.c | 2 +- utils.c | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) mode change 100644 => 100755 tests/data/fail/ptest/run-ptest diff --git a/tests/data/fail/ptest/run-ptest b/tests/data/fail/ptest/run-ptest old mode 100644 new mode 100755 index e69de29..f4e5d0b --- a/tests/data/fail/ptest/run-ptest +++ b/tests/data/fail/ptest/run-ptest @@ -0,0 +1,3 @@ +#!/bin/bash + +exit 10 diff --git a/tests/utils.c b/tests/utils.c index 132d98f..105e0c8 100644 --- a/tests/utils.c +++ b/tests/utils.c @@ -234,7 +234,7 @@ END_TEST static void search_for_fail(const int rp, FILE *fp_stdout) { - const char *fail_str = "ERROR: Exit status is"; + const char *fail_str = "ERROR: Exit status is 10"; char line_buf[PRINT_PTEST_BUF_SIZE]; int found_fail = 0; char *line = NULL; diff --git a/utils.c b/utils.c index 43ab03b..d784736 100644 --- a/utils.c +++ b/utils.c @@ -352,6 +352,9 @@ wait_child(pid_t pid, int timeout, int *fds, FILE **fps, int *timeouted) clock_gettime(clock, &sentinel); } + + if (WIFEXITED(status)) + status = WEXITSTATUS(status); } fflush(fps[0]); -- 2.31.0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ptest-runner][PATCH 1/4] utils.c: get_available_ptests allow to specify relative directories
Anibal Limon
Fixes,
$ ./ptest-runner -d ./tests/data bash Signed-off-by: Aníbal Limón <anibal.limon@...> --- utils.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/utils.c b/utils.c index a4e190e..43ab03b 100644 --- a/utils.c +++ b/utils.c @@ -34,6 +34,7 @@ #include <poll.h> #include <pty.h> #include <signal.h> +#include <limits.h> #include <stdlib.h> #include <string.h> #include <time.h> @@ -85,6 +86,9 @@ get_available_ptests(const char *dir) struct dirent **namelist; int fail; int saved_errno = -1; /* Initalize to invalid errno. */ + char realdir[PATH_MAX]; + + realpath(dir, realdir); do { @@ -93,7 +97,7 @@ get_available_ptests(const char *dir) if (head == NULL) break; - if (stat(dir, &st_buf) == -1) { + if (stat(realdir, &st_buf) == -1) { PTEST_LIST_FREE_CLEAN(head); break; } @@ -104,7 +108,7 @@ get_available_ptests(const char *dir) break; } - n = scandir(dir, &namelist, NULL, alphasort); + n = scandir(realdir, &namelist, NULL, alphasort); if (n == -1) { PTEST_LIST_FREE_CLEAN(head); break; @@ -130,7 +134,7 @@ get_available_ptests(const char *dir) } if (asprintf(&run_ptest, "%s/%s/ptest/run-ptest", - dir, d_name) == -1) { + realdir, d_name) == -1) { fail = 1; saved_errno = errno; free(d_name); -- 2.31.0 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
package_rpm and file conflicts.
Randall <randall.crook@...>
HI,
toggle quoted message
Show quoted text
Building up a customization layer over the top of poke to install 3rd party RPM files at build time. These packages contain some basic global configuration changes for the destination environment. Unfortunately I am getting RPM file conflicts (EG: /etc/network/interfaces) when I go to build. How can force the package installation allowing for the conflicting file from the custom layer to over write the files in the base packages? EG: file /etc/network/interfaces conflicts between attempted installs of router-1.0-r0.noarch and init-ifupdown-1.0-r7.qemuarm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
M+ & H bugs with Milestone Movements WW12
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enhancements/Bugs closed WW12!
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current high bug count owners for Yocto Project 3.3
Stephen Jolley
All,
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yocto Project Newcomer & Unassigned Bugs - Help Needed
Stephen Jolley
All,
The triage team is starting to try and collect up and classify bugs which a newcomer to the project would be able to work on in a way which means people can find them. They're being listed on the triage page under the appropriate heading: https://wiki.yoctoproject.org/wiki/Bug_Triage#Newcomer_Bugs Also please review: https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded and how to create a bugzilla account at: https://bugzilla.yoctoproject.org/createaccount.cgi The idea is these bugs should be straight forward for a person to help work on who doesn't have deep experience with the project. If anyone can help, please take ownership of the bug and send patches! If anyone needs help/advice there are people on irc who can likely do so, or some of the more experienced contributors will likely be happy to help too.
Also, the triage team meets weekly and does its best to handle the bugs reported into the Bugzilla. The number of people attending that meeting has fallen, as have the number of people available to help fix bugs. One of the things we hear users report is they don't know how to help. We (the triage team) are therefore going to start reporting out the currently 366 unassigned or newcomer bugs.
We're hoping people may be able to spare some time now and again to help out with these. Bugs are split into two types, "true bugs" where things don't work as they should and "enhancements" which are features we'd want to add to the system. There are also roughly four different "priority" classes right now, “3.2”, “3.3, "3.99" and "Future", the more pressing/urgent issues being in "3.2" and then “3.3”.
Please review this link and if a bug is something you would be able to help with either take ownership of the bug, or send me (sjolley.yp.pm@...) an e-mail with the bug number you would like and I will assign it to you (please make sure you have a Bugzilla account). The list is at: https://wiki.yoctoproject.org/wiki/Bug_Triage_Archive#Unassigned_or_Newcomer_Bugs
Thanks,
Stephen K. Jolley Yocto Project Program Manager ( Cell: (208) 244-4460 * Email: sjolley.yp.pm@...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [meta-rockchip][PATCH] Add machine definitions for NanoPi-M4 boards
Joshua Watt
On 3/22/21 2:30 PM, Yann Dirson wrote:
Hi Joshua,Ah, I was referring to the DTB used by the Kernel (which u-boot can switch), not the DTB used by u-boot itself (which AFAIK is compiled into u-boot and cannot be changed). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [meta-rockchip][PATCH] Add machine definitions for NanoPi-M4 boards
Yann Dirson
Hi Joshua,
Le lun. 22 mars 2021 à 19:24, Joshua Watt <jpewhacker@...> a écrit : Wait, it's only the dtb used by u-boot which is different in this case, the kernel uses a single dtb for both variants. Those probably get embedded inside the bootloader, in any case they are not those embedded in the fitImage. #include "rk3399-nanopi4-u-boot.dtsi" -#include "rk3399-sdram-ddr3-1866.dtsi" +#include "rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi" I have no clue how easily the two boards could be told one from the other (let alone if that can be done safely), and I feel that would rather be uboot-side work, rather than something to be solved on the yocto side. -- Yann Dirson <yann@...> Blade / Shadow -- http://shadow.tech |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: do_populate_cve_db CERTIFICATE_VERIFY_FAILED
Darcy Watkins
In case anyone else is affected by this…
From this, I conclude that using older OS like CentOS with buildtools, though it may be OK for more basic Yocto builds, it has issues when you attempt to make use of the meta-security layer. I believe that the problem is related to the certificate validation tools of buildtool’s host python replacement used to run bitbake, etc.
So I suggest that if affected and if you need to continue using the older OS as your build host’s OS, use a Docker container such as that documented at CROPs.
Regards,
Darcy
Darcy Watkins :: Senior Staff Engineer, Firmware
SIERRA WIRELESS Direct +1 604 233 7989 :: Fax +1 604 231 1109 :: Main +1 604 231 1100 13811 Wireless Way :: Richmond, BC Canada V6V 3A4 [M4]
From: <yocto@...> on behalf of "Darcy Watkins via lists.yoctoproject.org" <dwatkins=sierrawireless.com@...>
Hi,
Anyone else encounter this?
WARNING: cve-update-db-native-1.0-r0 do_populate_cve_db: Failed to fetch CVE data ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108))
I am not sure how to resolve this. After googling on the subject, I found nothing really helpful. Most hits suggest that the certificates are out of date. I tried various suggested ways to resolve it, but nothing works.
Furthermore, as I dig into this, it becomes apparent that this could be confused by the different python3 that are on the system. ‘which python3’ points to a python3 that is in the buildtools. So I have a python3 from my CentOS 7 distro, there appears to be one as part of the buildtools (needed when you use CentOS). Then there is python3-native and finally the python3 that is built for the target.
I suspect that this may be related to the python3 in the buildtools. Anyone using a newer distro not requiring buildtools may not be affected.
I am using CentOS7, Yocto ‘dunfell’ (including the buildtools) and building for an NXP Layerscape target. This particular build adds meta-security and the meta-security-isafw sub-layer (along with prerequisites).
Regards,
Darcy
Darcy Watkins :: Senior Staff Engineer, Firmware
SIERRA WIRELESS Direct +1 604 233 7989 :: Fax +1 604 231 1109 :: Main +1 604 231 1100 13811 Wireless Way :: Richmond, BC Canada V6V 3A4 [M4] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [meta-rockchip][PATCH] Add machine definitions for NanoPi-M4 boards
Joshua Watt
On 3/22/21 9:59 AM, Yann Dirson wrote:
Hi Trevor, Le lun. 22 mars 2021 à 15:47, Trevor Woerner <twoerner@...> a écrit :On Mon 2021-03-22 @ 02:42:12 PM, yann.dirson@... wrote:This supports both the 2GB and 4GB versions of the board. This is not done with 2 different machine definitions since only u-boot has to change between those two configurations, but with a NANOPIM4_HW variable to set in local.conf.Traditionally in meta-rockchip this is done using two separate machine files with all the common things factored into a common include file. See tinker-board and tinker-board-s as well as all the rock-pi-4* definitions for examples. I would prefer if the same thing was done here.Damned that was how I did my first patch, I just felt it was much better this way :( Digging up that original commit re rerolling. Wouldn't it be useful to have a standard way to specify such hardware variants, that would be recognized as such by the layer index ? FWIW, I'd rather u-boot could automatcially detect what variant
of the board it's running on and do the right thing (usually, just
selecting the proper DTB from the FIT image). The only reason I
did not do this on the rock-pi-4 is because there doesn't appear
to be a way for u-boot to detect which variant it's on :/ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [error-report-web][PATCH V2] Add local.conf and auto.conf into error details
Richard Purdie
On Mon, 2021-03-22 at 15:32 +0000, Richard Purdie via lists.yoctoproject.org wrote:
Sorry about the delay on this, we do really need to get this resolved.I just sent out an as yet untested patch which may fix some of the quoting issues by using bleach. I'd still need to add it to the requirements file... Cheers, Richard |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[error-report-web] [PATCH] Post/parser: Use bleach to sanitse XSS input
Richard Purdie
Instead of searching for "<", use bleach to sanity input to avoid
any XSS issues. Signed-off-by: Richard Purdie <richard.purdie@...> --- Post/parser.py | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/Post/parser.py b/Post/parser.py index f411e02..536e872 100644 --- a/Post/parser.py +++ b/Post/parser.py @@ -9,6 +9,7 @@ # Licensed under the MIT license, see COPYING.MIT for details import json, re +import bleach from Post.models import Build, BuildFailure, ErrorType from django.conf import settings from django.utils import timezone @@ -19,21 +20,6 @@ class Parser: def __init__(self, data): self.data = data.decode('utf-8') - # returns true if the values contain '<' char - # Ignore the failures field (which is an array anyway) - # Ignore any non-str fields too [YOCTO #14208] - def contains_tags (self, data): - for key,val in data.items(): - if key == 'failures': - continue - - if not isinstance(val, str): - continue - - if '<' in val: - return True - return False - def parse(self, request): build_fails_logged = [] @@ -42,8 +28,14 @@ class Parser: except: return { 'error' : 'Invalid json' } - if self.contains_tags(jsondata) == True: - return { 'error' : 'Invalid characters in json' } + # Bleach data going directly into the database so that + # displaying in any of the graphing doesn't introduce XSS + for key,val in jsondata.items(): + if key == 'failures': + continue + if not isinstance(val, str): + continue + jsondata[key] = bleach.clean(val) b = Build.objects.create() try: -- 2.30.2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zoran
Why am I (only, seems) always answering NON YOCTO issues in the YOCTO
thread??? ;-) _______ OK. The good sign about what U R talking is shown here: [ 0.000885] printk: console [tty1] enabled But now another issue I'm facing when I'm enabling consoleIt is on the several places: [ 6.480654] ttyS ttyS0: 2 input overrun(s) [ 7.962826] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1 [ 7.973416] ttyS ttyS0: 2 input overrun(s) [ 11.883822] Installing knfsd (copyright (C) 1996 okir@...). [ 11.893705] ttyS ttyS0: 2 input overrun(s) [ 13.268076] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory [ 13.280639] ttyS ttyS0: 2 input overrun(s) It seems that the solution for this problem is: https://www.linuxquestions.org/questions/linux-kernel-70/tty-usb-input-overruns-4175512707/ Namely: https://www.linuxquestions.org/questions/linux-kernel-70/tty-usb-input-overruns-4175512707/#post5215591 I fixed the problem with increasing the N_TTY_BUF_SIZE from 4096 to 131072Please, let us know. Zee _______ On Mon, Mar 22, 2021 at 10:19 AM <prashantsingh@...> wrote:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|