<div dir="ltr">> <span style="font-size:14px">Busybox can also provide sysctl so there's no hard dependency on procps.</span><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">Arha, that is correct, please ignore my patch then.</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">//Ming Liu</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-09-18 16:37 GMT+02:00 <span dir="ltr"><<a href="mailto:openembedded-core-request@lists.openembedded.org" target="_blank">openembedded-core-request@lists.openembedded.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Openembedded-core mailing list submissions to<br>
<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:openembedded-core-request@lists.openembedded.org">openembedded-core-request@<wbr>lists.openembedded.org</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:openembedded-core-owner@lists.openembedded.org">openembedded-core-owner@lists.<wbr>openembedded.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Openembedded-core digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. [PATCHv2] pseudo: use epoll API on Linux (Alexander Kanavin)<br>
2. [pyro][PATCH] goarch.bbclass: Replace logic for setting GOARM<br>
(Will Newton)<br>
3. Re: [PATCH 1/2] base-files: profile: Do not assume that the<br>
'command' command exists (Mike Looijmans)<br>
4. [PATCH] base-files: profile: Get rid of "resize" (Mike Looijmans)<br>
5. ? patchtest: failure for "base-files: profile: Do not as..."<br>
and 1 more (rev2) (Patchwork)<br>
6. Re: [PATCH] init-ifupdown: RDEPENDS on procps (Mike Looijmans)<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
<br>
Message: 1<br>
Date: Mon, 18 Sep 2017 16:34:10 +0300<br>
From: Alexander Kanavin <<a href="mailto:alexander.kanavin@linux.intel.com">alexander.kanavin@linux.<wbr>intel.com</a>><br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>, <a href="mailto:seebs@seebs.net">seebs@seebs.net</a><br>
Subject: [OE-core] [PATCHv2] pseudo: use epoll API on Linux<br>
Message-ID: <<a href="mailto:20170918133410.31388-1-alexander.kanavin@linux.intel.com">20170918133410.31388-1-<wbr>alexander.kanavin@linux.intel.<wbr>com</a>><br>
<br>
The idea came up here:<br>
<a href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=11309" rel="noreferrer" target="_blank">https://bugzilla.yoctoproject.<wbr>org/show_bug.cgi?id=11309</a><br>
and here:<br>
<a href="http://lists.openembedded.org/pipermail/openembedded-core/2017-August/141491.html" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>pipermail/openembedded-core/<wbr>2017-August/141491.html</a><br>
<br>
Signed-off-by: Alexander Kanavin <<a href="mailto:alexander.kanavin@linux.intel.com">alexander.kanavin@linux.<wbr>intel.com</a>><br>
---<br>
.../pseudo/files/0001-Use-<wbr>epoll-API-on-Linux.patch | 273 +++++++++++++++++++++<br>
meta/recipes-devtools/pseudo/<a href="http://pseudo_1.8.2.bb" rel="noreferrer" target="_blank">p<wbr>seudo_1.8.2.bb</a> | 1 +<br>
2 files changed, 274 insertions(+)<br>
create mode 100644 meta/recipes-devtools/pseudo/<wbr>files/0001-Use-epoll-API-on-<wbr>Linux.patch<br>
<br>
diff --git a/meta/recipes-devtools/<wbr>pseudo/files/0001-Use-epoll-<wbr>API-on-Linux.patch b/meta/recipes-devtools/<wbr>pseudo/files/0001-Use-epoll-<wbr>API-on-Linux.patch<br>
new file mode 100644<br>
index 00000000000..2e304f9811c<br>
--- /dev/null<br>
+++ b/meta/recipes-devtools/<wbr>pseudo/files/0001-Use-epoll-<wbr>API-on-Linux.patch<br>
@@ -0,0 +1,273 @@<br>
+From 55fe7dc646f560bdf79309bc867790<wbr>2e53686d65 Mon Sep 17 00:00:00 2001<br>
+From: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>><br>
+Date: Fri, 15 Sep 2017 17:00:14 +0300<br>
+Subject: [PATCH] Use epoll API on Linux<br>
+<br>
+Upstream-Status: Submitted [Seebs CC'd by email]<br>
+Signed-off-by: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>><br>
+<br>
+<br>
+Signed-off-by: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>><br>
+---<br>
+ enums/<a href="http://exit_status.in" rel="noreferrer" target="_blank">exit_status.in</a> | 3 +<br>
+ pseudo_server.c | 178 ++++++++++++++++++++++++++++++<wbr>++++++++++++++++++++-<br>
+ 2 files changed, 179 insertions(+), 2 deletions(-)<br>
+<br>
+diff --git a/enums/<a href="http://exit_status.in" rel="noreferrer" target="_blank">exit_status.in</a> b/enums/<a href="http://exit_status.in" rel="noreferrer" target="_blank">exit_status.in</a><br>
+index 6be44d3..88f94cd 100644<br>
+--- a/enums/<a href="http://exit_status.in" rel="noreferrer" target="_blank">exit_status.in</a><br>
++++ b/enums/<a href="http://exit_status.in" rel="noreferrer" target="_blank">exit_status.in</a><br>
+@@ -18,3 +18,6 @@ listen_fd, "server loop had no valid listen fd"<br>
+ pseudo_loaded, "server couldn't get out of pseudo environment"<br>
+ pseudo_prefix, "couldn't get valid pseudo prefix"<br>
+ pseudo_invocation, "invalid server command arguments"<br>
++epoll_create, "epoll_create() failed"<br>
++epoll_ctl, "epoll_ctl() failed"<br>
++<br>
+diff --git a/pseudo_server.c b/pseudo_server.c<br>
+index ff16efd..09c43e4 100644<br>
+--- a/pseudo_server.c<br>
++++ b/pseudo_server.c<br>
+@@ -40,6 +40,12 @@<br>
+ #include "pseudo_client.h"<br>
+ #include "pseudo_db.h"<br>
+<br>
++// This has to come after pseudo includes, as that's where PSEUDO_PORT defines are<br>
++#ifdef PSEUDO_PORT_LINUX<br>
++#include <sys/epoll.h><br>
++#endif<br>
++<br>
++<br>
+ static int listen_fd = -1;<br>
+<br>
+ typedef struct {<br>
+@@ -59,6 +65,7 @@ static int active_clients = 0, highest_client = 0, max_clients = 0;<br>
+<br>
+ #define LOOP_DELAY 2<br>
+ #define DEFAULT_PSEUDO_SERVER_TIMEOUT 30<br>
++#define EPOLL_MAX_EVENTS 10<br>
+ int pseudo_server_timeout = DEFAULT_PSEUDO_SERVER_TIMEOUT;<br>
+ static int die_peacefully = 0;<br>
+ static int die_forcefully = 0;<br>
+@@ -80,7 +87,11 @@ quit_now(int signal) {<br>
+ static int messages = 0, responses = 0;<br>
+ static struct timeval message_time = { .tv_sec = 0 };<br>
+<br>
++#ifdef PSEUDO_PORT_LINUX<br>
++static void pseudo_server_loop_epoll(void)<wbr>;<br>
++#else<br>
+ static void pseudo_server_loop(void);<br>
++#endif<br>
+<br>
+ /* helper function to make a directory, just like mkdir -p.<br>
+ * Can't use system() because the child shell would end up trying<br>
+@@ -369,12 +380,16 @@ pseudo_server_start(int daemonize) {<br>
+ kill(ppid, SIGUSR1);<br>
+ }<br>
+ }<br>
++#ifdef PSEUDO_PORT_LINUX<br>
++ pseudo_server_loop_epoll();<br>
++#else<br>
+ pseudo_server_loop();<br>
++#endif<br>
+ return 0;<br>
+ }<br>
+<br>
+ /* mess with internal tables as needed */<br>
+-static void<br>
++static unsigned int<br>
+ open_client(int fd) {<br>
+ pseudo_client_t *new_clients;<br>
+ int i;<br>
+@@ -390,7 +405,7 @@ open_client(int fd) {<br>
+ ++active_clients;<br>
+ if (i > highest_client)<br>
+ highest_client = i;<br>
+- return;<br>
++ return i;<br>
+ }<br>
+ }<br>
+<br>
+@@ -414,9 +429,11 @@ open_client(int fd) {<br>
+<br>
+ max_clients += 16;<br>
+ ++active_clients;<br>
++ return max_clients - 16;<br>
+ } else {<br>
+ pseudo_diag("error allocating new client, fd %d\n", fd);<br>
+ close(fd);<br>
++ return 0;<br>
+ }<br>
+ }<br>
+<br>
+@@ -566,6 +583,162 @@ serve_client(int i) {<br>
+ }<br>
+ }<br>
+<br>
++#ifdef PSEUDO_PORT_LINUX<br>
++static void pseudo_server_loop_epoll(void)<br>
++{<br>
++ struct sockaddr_un client;<br>
++ socklen_t len;<br>
++ int i;<br>
++ int rc;<br>
++ int fd;<br>
++ int timeout;<br>
++ struct epoll_event ev, events[EPOLL_MAX_EVENTS];<br>
++ int loop_timeout = pseudo_server_timeout;<br>
++<br>
++ clients = malloc(16 * sizeof(*clients));<br>
++<br>
++ clients[0].fd = listen_fd;<br>
++ clients[0].pid = getpid();<br>
++<br>
++ for (i = 1; i < 16; ++i) {<br>
++ clients[i].fd = -1;<br>
++ clients[i].pid = 0;<br>
++ clients[i].tag = NULL;<br>
++ clients[i].program = NULL;<br>
++ }<br>
++<br>
++ active_clients = 1;<br>
++ max_clients = 16;<br>
++ highest_client = 0;<br>
++<br>
++ pseudo_debug(PDBGF_SERVER, "server loop started.\n");<br>
++ if (listen_fd < 0) {<br>
++ pseudo_diag("got into loop with no valid listen fd.\n");<br>
++ exit(PSEUDO_EXIT_LISTEN_FD);<br>
++ }<br>
++<br>
++ timeout = LOOP_DELAY * 1000;<br>
++<br>
++ int epollfd = epoll_create1(0);<br>
++ if (epollfd == -1) {<br>
++ pseudo_diag("epoll_create1() failed.\n");<br>
++ exit(PSEUDO_EXIT_EPOLL_CREATE)<wbr>;<br>
++ }<br>
++ ev.events = EPOLLIN;<br>
++ ev.data.u64 = 0;<br>
++ if (epoll_ctl(epollfd, EPOLL_CTL_ADD, clients[0].fd, &ev) == -1) {<br>
++ pseudo_diag("epoll_ctl() failed with listening socket.\n");<br>
++ exit(PSEUDO_EXIT_EPOLL_CTL);<br>
++ }<br>
++<br>
++ pdb_log_msg(SEVERITY_INFO, NULL, NULL, NULL, "server started (pid %d)", getpid());<br>
++<br>
++ for (;;) {<br>
++ rc = epoll_wait(epollfd, events, EPOLL_MAX_EVENTS, timeout);<br>
++ if (rc == 0 || (rc == -1 && errno == EINTR)) {<br>
++ /* If there's no clients, start timing out. If there<br>
++ * are active clients, never time out.<br>
++ */<br>
++ if (active_clients == 1) {<br>
++ loop_timeout -= LOOP_DELAY;<br>
++ /* maybe flush database to disk */<br>
++ pdb_maybe_backup();<br>
++ if (loop_timeout <= 0) {<br>
++ pseudo_debug(PDBGF_SERVER, "no more clients, got bored.\n");<br>
++ die_peacefully = 1;<br>
++ } else {<br>
++ /* display this if not exiting */<br>
++ pseudo_debug(PDBGF_SERVER | PDBGF_BENCHMARK, "%d messages handled in %.4f seconds, %d responses\n",<br>
++ messages,<br>
++ (double) message_time.tv_sec +<br>
++ (double) message_time.tv_usec / 1000000.0,<br>
++ responses);<br>
++ }<br>
++ }<br>
++ } else if (rc > 0) {<br>
++ loop_timeout = pseudo_server_timeout;<br>
++ for (i = 0; i < rc; ++i) {<br>
++ if (clients[events[i].data.u64].<wbr>fd == listen_fd) {<br>
++ if (!die_forcefully) {<br>
++ len = sizeof(client);<br>
++ if ((fd = accept(listen_fd, (struct sockaddr *) &client, &len)) != -1) {<br>
++ /* Don't allow clients to end up on fd 2, because glibc's<br>
++ * malloc debug uses that fd unconditionally.<br>
++ */<br>
++ if (fd == 2) {<br>
++ int newfd = fcntl(fd, F_DUPFD, 3);<br>
++ close(fd);<br>
++ fd = newfd;<br>
++ }<br>
++ pseudo_debug(PDBGF_SERVER, "new client fd %d\n", fd);<br>
++ /* A new client implicitly cancels any<br>
++ * previous shutdown request, or a<br>
++ * shutdown for lack of clients.<br>
++ */<br>
++ pseudo_server_timeout = DEFAULT_PSEUDO_SERVER_TIMEOUT;<br>
++ die_peacefully = 0;<br>
++<br>
++ ev.events = EPOLLIN;<br>
++ ev.data.u64 = open_client(fd);<br>
++ if (ev.data.u64 != 0 && epoll_ctl(epollfd, EPOLL_CTL_ADD, clients[ev.data.u64].fd, &ev) == -1) {<br>
++ pseudo_diag("epoll_ctl() failed with accepted socket.\n");<br>
++ exit(PSEUDO_EXIT_EPOLL_CTL);<br>
++ }<br>
++ } else if (errno == EMFILE) {<br>
++ // select() loop would drop a client here, we do nothing (for now)<br>
++ pseudo_debug(PDBGF_SERVER, "Hit max open files.\n");<br>
++ }<br>
++ }<br>
++ } else {<br>
++ struct timeval tv1, tv2;<br>
++ int rc;<br>
++ gettimeofday(&tv1, NULL);<br>
++ rc = serve_client(events[i].data.<wbr>u64);<br>
++ gettimeofday(&tv2, NULL);<br>
++ ++messages;<br>
++ if (rc == 0)<br>
++ ++responses;<br>
++ message_time.tv_sec += (tv2.tv_sec - tv1.tv_sec);<br>
++ message_time.tv_usec += (tv2.tv_usec - tv1.tv_usec);<br>
++ if (message_time.tv_usec < 0) {<br>
++ message_time.tv_usec += 1000000;<br>
++ --message_time.tv_sec;<br>
++ } else while (message_time.tv_usec > 1000000) {<br>
++ message_time.tv_usec -= 1000000;<br>
++ ++message_time.tv_sec;<br>
++ }<br>
++ }<br>
++ if (die_forcefully)<br>
++ break;<br>
++ }<br>
++ pseudo_debug(PDBGF_SERVER, "server loop complete [%d clients left]\n", active_clients);<br>
++ } else {<br>
++ pseudo_diag("epoll_wait failed: %s\n", strerror(errno));<br>
++ break;<br>
++ }<br>
++ if (die_peacefully || die_forcefully) {<br>
++ pseudo_debug(PDBGF_SERVER, "quitting.\n");<br>
++ pseudo_debug(PDBGF_SERVER | PDBGF_BENCHMARK, "server %d exiting: handled %d messages in %.4f seconds\n",<br>
++ getpid(), messages,<br>
++ (double) message_time.tv_sec +<br>
++ (double) message_time.tv_usec / 1000000.0);<br>
++ pdb_log_msg(SEVERITY_INFO, NULL, NULL, NULL, "server %d exiting: handled %d messages in %.4f seconds",<br>
++ getpid(), messages,<br>
++ (double) message_time.tv_sec +<br>
++ (double) message_time.tv_usec / 1000000.0);<br>
++ /* and at this point, we'll start refusing connections */<br>
++ close(clients[0].fd);<br>
++ /* This is a good place to insert a delay for<br>
++ * debugging race conditions during startup. */<br>
++ /* usleep(300000); */<br>
++ exit(0);<br>
++ }<br>
++ }<br>
++<br>
++}<br>
++<br>
++#else<br>
++<br>
+ /* get clients, handle messages, shut down.<br>
+ * This doesn't actually do any work, it just calls a ton of things which<br>
+ * do work.<br>
+@@ -751,3 +924,4 @@ pseudo_server_loop(void) {<br>
+ }<br>
+ pseudo_diag("select failed: %s\n", strerror(errno));<br>
+ }<br>
++#endif<br>
+--<br>
+2.14.1<br>
+<br>
diff --git a/meta/recipes-devtools/<wbr>pseudo/<a href="http://pseudo_1.8.2.bb" rel="noreferrer" target="_blank">pseudo_1.8.2.bb</a> b/meta/recipes-devtools/<wbr>pseudo/<a href="http://pseudo_1.8.2.bb" rel="noreferrer" target="_blank">pseudo_1.8.2.bb</a><br>
index 9bcd0318926..81853e95c42 100644<br>
--- a/meta/recipes-devtools/<wbr>pseudo/<a href="http://pseudo_1.8.2.bb" rel="noreferrer" target="_blank">pseudo_1.8.2.bb</a><br>
+++ b/meta/recipes-devtools/<wbr>pseudo/<a href="http://pseudo_1.8.2.bb" rel="noreferrer" target="_blank">pseudo_1.8.2.bb</a><br>
@@ -8,6 +8,7 @@ SRC_URI = "<a href="http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz" rel="noreferrer" target="_blank">http://downloads.<wbr>yoctoproject.org/releases/<wbr>pseudo/${BPN}-${PV}.tar.bz</a><br>
file://<wbr>efe0be279901006f939cd357ccee47<wbr>b651c786da.patch \<br>
file://<wbr>b6b68db896f9963558334aff7fca61<wbr>adde4ec10f.patch \<br>
file://toomanyfiles.patch \<br>
+ file://0001-Use-epoll-API-on-<wbr>Linux.patch \<br>
"<br>
<br>
SRC_URI[md5sum] = "<wbr>7d41e72188fbea1f696c399c1a4356<wbr>75"<br>
--<br>
2.14.1<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Mon, 18 Sep 2017 16:43:56 +0300<br>
From: Will Newton <<a href="mailto:will.newton@gmail.com">will.newton@gmail.com</a>><br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Cc: Will Newton <<a href="mailto:willn@resin.io">willn@resin.io</a>>, Otavio Salvador<br>
<<a href="mailto:otavio@ossystems.com.br">otavio@ossystems.com.br</a>><br>
Subject: [OE-core] [pyro][PATCH] goarch.bbclass: Replace logic for<br>
setting GOARM<br>
Message-ID: <<a href="mailto:20170918134356.16124-1-willn@resin.io">20170918134356.16124-1-willn@<wbr>resin.io</a>><br>
<br>
From: Will Newton <<a href="mailto:will.newton@gmail.com">will.newton@gmail.com</a>><br>
<br>
The previous logic applied a regex to TUNE_FEATURES which could<br>
set the GOARM value to 7 incorrectly, for example when dealing<br>
with an arm1176 core. Simplify to check for the presence of<br>
"armv7" instead. At the same time add a check for "armv6" and<br>
set GOARM to 6 in that case.<br>
<br>
(From OE-Core rev: 07b60c15e9ef650940afdde37bf3f3<wbr>b9c50a336d)<br>
<br>
Signed-off-by: Will Newton <<a href="mailto:willn@resin.io">willn@resin.io</a>><br>
Signed-off-by: Otavio Salvador <<a href="mailto:otavio@ossystems.com.br">otavio@ossystems.com.br</a>><br>
Signed-off-by: Richard Purdie <<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@<wbr>linuxfoundation.org</a>><br>
---<br>
meta/classes/goarch.bbclass | 7 +++++--<br>
1 file changed, 5 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass<br>
index 4a5b2ec787..12df88f8c4 100644<br>
--- a/meta/classes/goarch.bbclass<br>
+++ b/meta/classes/goarch.bbclass<br>
@@ -38,8 +38,11 @@ def go_map_arch(a, d):<br>
<br>
def go_map_arm(a, f, d):<br>
import re<br>
- if re.match('arm.*', a) and re.match('arm.*7.*', f):<br>
- return '7'<br>
+ if re.match('arm.*', a):<br>
+ if 'armv7' in f:<br>
+ return '7'<br>
+ elif 'armv6' in f:<br>
+ return '6'<br>
return ''<br>
<br>
def go_map_os(o, d):<br>
--<br>
2.13.5<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Mon, 18 Sep 2017 15:56:25 +0200<br>
From: Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>><br>
To: <<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>><br>
Subject: Re: [OE-core] [PATCH 1/2] base-files: profile: Do not assume<br>
that the 'command' command exists<br>
Message-ID: <<a href="mailto:411d4d88-f166-1c4e-2dc4-3009d157b071@topic.nl">411d4d88-f166-1c4e-2dc4-<wbr>3009d157b071@topic.nl</a>><br>
Content-Type: text/plain; charset="utf-8"; format=flowed<br>
<br>
?On 18-09-17 15:24, Mike Looijmans wrote:<br>
> On 18-09-17 15:08, Burton, Ross wrote:<br>
>> On 18 September 2017 at 12:31, Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a><br>
>> <mailto:<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.<wbr>nl</a>>> wrote:<br>
>><br>
>> This is basically the same change as I first sent a patch for in<br>
>> April, and<br>
>> last pinged this Friday... The only real difference is that this one<br>
>> misses<br>
>> passing error output from resize to /dev/null (which it should do to<br>
>> handle<br>
>> the case where tty exists, but resize does not).<br>
>><br>
>><br>
>> Yeah, indeed.<br>
>><br>
>><br>
>> Apologies for missing that patch!<br>
>><br>
>> Other problem is that "resize" outputs shell script on stdout to be<br>
>> executed, so the proper "total" invokation would be:<br>
>><br>
>> /dev/tty[A-z]*) eval `resize 2>/dev/null` ;;<br>
>><br>
>> The "eval" part is missing in your version...<br>
>><br>
>><br>
>> Who is going to submit the One True patch with all the fixes in? I promise<br>
>> to merge it.<br>
><br>
> I'll send the one ring, eh, patch, in a few minutes. I'll merge the two into a<br>
> single as well.<br>
<br>
On second thought, just use Peter's patch "as is".<br>
<br>
I've been experimenting with the "eval" part and it doesn't behave well. Tends<br>
to confuse minicom, create garbage, and in particular when run from "profile",<br>
it seems to result in counterproductive COLUMNS=0 and LINES=0.<br>
<br>
I'm actually wondering why the call to "resize" is being done at all. Just<br>
calling "resize" has no effect, since it outputs the results on stdout as<br>
shell script, and that is being discarded. Looking at the commit that<br>
introduced it:<br>
<br>
cc6360f4c4d9 (base-files: set dynamic COLUMNS via resize command)<br>
<br>
that already has no effect whatsoever. See the man page for resize:<br>
<a href="https://linux.die.net/man/1/resize" rel="noreferrer" target="_blank">https://linux.die.net/man/1/<wbr>resize</a><br>
<br>
I also would consider running some program's output as shell script a bit<br>
spooky, it looks like a security hole waiting to be exploited.<br>
<br>
<br>
<br>
Kind regards,<br>
<br>
Mike Looijmans<br>
System Expert<br>
<br>
TOPIC Products<br>
Materiaalweg 4, NL-5681 RJ Best<br>
Postbus 440, NL-5680 AK Best<br>
Telefoon: <a href="tel:%2B31%20%280%29%20499%2033%2069%2079" value="+31499336979">+31 (0) 499 33 69 79</a><br>
E-mail: <a href="mailto:mike.looijmans@topicproducts.com">mike.looijmans@topicproducts.<wbr>com</a><br>
Website: <a href="http://www.topicproducts.com" rel="noreferrer" target="_blank">www.topicproducts.com</a><br>
<br>
Please consider the environment before printing this e-mail<br>
<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Mon, 18 Sep 2017 16:07:14 +0200<br>
From: Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>><br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Cc: Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>>,<br>
<a href="mailto:peter.kjellerstedt@axis.com">peter.kjellerstedt@axis.com</a><br>
Subject: [OE-core] [PATCH] base-files: profile: Get rid of "resize"<br>
Message-ID:<br>
<<a href="mailto:1505743634-13500-1-git-send-email-mike.looijmans@topic.nl">1505743634-13500-1-git-send-<wbr>email-mike.looijmans@topic.nl</a>><br>
<br>
The "resize" command actually outputs shell commands to be executed, for<br>
example:<br>
<br>
$ resize<br>
COLUMNS=102;<br>
LINES=27;<br>
export COLUMNS LINES;<br>
<br>
The output of "resize" is being discarded to /dev/null so the call has no<br>
effect whatsoever, and does not change the environment (it cannot change the<br>
environment of its parent). Remove the call and hence solve the messages<br>
about shells missing "command" or "tty" or "resize".<br>
<br>
Signed-off-by: Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>><br>
---<br>
meta/recipes-core/base-files/<wbr>base-files/profile | 9 ---------<br>
1 file changed, 9 deletions(-)<br>
<br>
diff --git a/meta/recipes-core/base-<wbr>files/base-files/profile b/meta/recipes-core/base-<wbr>files/base-files/profile<br>
index a062028..cfd0d69 100644<br>
--- a/meta/recipes-core/base-<wbr>files/base-files/profile<br>
+++ b/meta/recipes-core/base-<wbr>files/base-files/profile<br>
@@ -20,15 +20,6 @@ if [ -d /etc/profile.d ]; then<br>
unset i<br>
fi<br>
<br>
-if command -v resize >/dev/null && command -v tty >/dev/null; then<br>
- # Make sure we are on a serial console (i.e. the device used starts with<br>
- # /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which<br>
- # tries do use ssh<br>
- case $(tty) in<br>
- /dev/tty[A-z]*) resize >/dev/null;;<br>
- esac<br>
-fi<br>
-<br>
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM<br>
<br>
umask 022<br>
--<br>
1.9.1<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Mon, 18 Sep 2017 14:30:26 -0000<br>
From: Patchwork <<a href="mailto:patchwork@patchwork.openembedded.org">patchwork@patchwork.<wbr>openembedded.org</a>><br>
To: <a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a><br>
Cc: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Subject: [OE-core] ? patchtest: failure for "base-files: profile: Do<br>
not as..." and 1 more (rev2)<br>
Message-ID: <<a href="mailto:20170918143026.2786.12950@do.openembedded.org">20170918143026.2786.12950@do.<wbr>openembedded.org</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
== Series Details ==<br>
<br>
Series: "base-files: profile: Do not as..." and 1 more (rev2)<br>
Revision: 2<br>
URL : <a href="https://patchwork.openembedded.org/series/8967/" rel="noreferrer" target="_blank">https://patchwork.<wbr>openembedded.org/series/8967/</a><br>
State : failure<br>
<br>
== Summary ==<br>
<br>
<br>
Thank you for submitting this patch series to OpenEmbedded Core. This is<br>
an automated response. Several tests have been executed on the proposed<br>
series by patchtest resulting in the following failures:<br>
<br>
<br>
<br>
* Issue Series does not apply on top of target branch [test_series_merge_on_head]<br>
Suggested fix Rebase your series on top of targeted branch<br>
Targeted branch master (currently at cbc396dd10)<br>
<br>
<br>
<br>
If you believe any of these test results are incorrect, please reply to the<br>
mailing list (<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>) raising your concerns.<br>
Otherwise we would appreciate you correcting the issues and submitting a new<br>
version of the patchset if applicable. Please ensure you add/increment the<br>
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -><br>
[PATCH v3] -> ...).<br>
<br>
---<br>
Test framework: <a href="http://git.yoctoproject.org/cgit/cgit.cgi/patchtest" rel="noreferrer" target="_blank">http://git.yoctoproject.org/<wbr>cgit/cgit.cgi/patchtest</a><br>
Test suite: <a href="http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe" rel="noreferrer" target="_blank">http://git.yoctoproject.org/<wbr>cgit/cgit.cgi/patchtest-oe</a><br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 6<br>
Date: Mon, 18 Sep 2017 14:47:08 +0200<br>
From: Mike Looijmans <<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>><br>
To: <<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>><br>
Subject: Re: [OE-core] [PATCH] init-ifupdown: RDEPENDS on procps<br>
Message-ID: <<a href="mailto:b29b9784-57af-089a-35b1-4b339ca84fd9@topic.nl">b29b9784-57af-089a-35b1-<wbr>4b339ca84fd9@topic.nl</a>><br>
Content-Type: text/plain; charset="utf-8"; format=flowed<br>
<br>
?Busybox can also provide sysctl so there's no hard dependency on procps.<br>
<br>
<br>
On 18-09-17 14:43, <a href="mailto:liu.ming50@gmail.com">liu.ming50@gmail.com</a> wrote:<br>
> From: Ming Liu <<a href="mailto:liu.ming50@gmail.com">liu.ming50@gmail.com</a>><br>
><br>
> sysctl is being called in /etc/init.d/networking, so it needs RDEPENDS<br>
> on procps.<br>
><br>
> Signed-off-by: Ming Liu <<a href="mailto:liu.ming50@gmail.com">liu.ming50@gmail.com</a>><br>
> ---<br>
> meta/recipes-core/init-<wbr>ifupdown/<a href="http://init-ifupdown_1.0.bb" rel="noreferrer" target="_blank">init-ifupdown_1.0.bb</a> | 2 +-<br>
> 1 file changed, 1 insertion(+), 1 deletion(-)<br>
><br>
> diff --git a/meta/recipes-core/init-<wbr>ifupdown/<a href="http://init-ifupdown_1.0.bb" rel="noreferrer" target="_blank">init-ifupdown_1.0.bb</a> b/meta/recipes-core/init-<wbr>ifupdown/<a href="http://init-ifupdown_1.0.bb" rel="noreferrer" target="_blank">init-ifupdown_1.0.bb</a><br>
> index 733ae41..8774386 100644<br>
> --- a/meta/recipes-core/init-<wbr>ifupdown/<a href="http://init-ifupdown_1.0.bb" rel="noreferrer" target="_blank">init-ifupdown_1.0.bb</a><br>
> +++ b/meta/recipes-core/init-<wbr>ifupdown/<a href="http://init-ifupdown_1.0.bb" rel="noreferrer" target="_blank">init-ifupdown_1.0.bb</a><br>
> @@ -35,7 +35,7 @@ do_install_append_qemuall () {<br>
> }<br>
><br>
> PACKAGE_ARCH_qemuall = "${MACHINE_ARCH}"<br>
> -RDEPENDS_${PN} = "netbase"<br>
> +RDEPENDS_${PN} = "netbase procps"<br>
> RCONFLICTS_${PN} = "netbase (< 1:5.0)"<br>
><br>
> CONFFILES_${PN} = "${sysconfdir}/network/<wbr>interfaces"<br>
><br>
<br>
<br>
<br>
Kind regards,<br>
<br>
Mike Looijmans<br>
System Expert<br>
<br>
TOPIC Products<br>
Materiaalweg 4, NL-5681 RJ Best<br>
Postbus 440, NL-5680 AK Best<br>
Telefoon: +31 (0) 499 33 69 79<br>
E-mail: <a href="mailto:mike.looijmans@topicproducts.com">mike.looijmans@topicproducts.<wbr>com</a><br>
Website: <a href="http://www.topicproducts.com" rel="noreferrer" target="_blank">www.topicproducts.com</a><br>
<br>
Please consider the environment before printing this e-mail<br>
<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
<br>
<br>
End of Openembedded-core Digest, Vol 80, Issue 148<br>
******************************<wbr>********************<br>
</font></span></blockquote></div><br></div>