<div dir="ltr">&gt; <span style="font-size:14px">Busybox can also provide sysctl so there&#39;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">&lt;<a href="mailto:openembedded-core-request@lists.openembedded.org" target="_blank">openembedded-core-request@lists.openembedded.org</a>&gt;</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 &#39;help&#39; 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 &quot;Re: Contents of Openembedded-core digest...&quot;<br>
<br>
<br>
Today&#39;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>
      &#39;command&#39; command exists (Mike Looijmans)<br>
   4. [PATCH] base-files: profile: Get rid of &quot;resize&quot; (Mike Looijmans)<br>
   5. ? patchtest: failure for &quot;base-files: profile: Do not as...&quot;<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 &lt;<a href="mailto:alexander.kanavin@linux.intel.com">alexander.kanavin@linux.<wbr>intel.com</a>&gt;<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: &lt;<a href="mailto:20170918133410.31388-1-alexander.kanavin@linux.intel.com">20170918133410.31388-1-<wbr>alexander.kanavin@linux.intel.<wbr>com</a>&gt;<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 &lt;<a href="mailto:alexander.kanavin@linux.intel.com">alexander.kanavin@linux.<wbr>intel.com</a>&gt;<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 &lt;<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>&gt;<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&#39;d by email]<br>
+Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>&gt;<br>
+<br>
+<br>
+Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>&gt;<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, &quot;server loop had no valid listen fd&quot;<br>
+ pseudo_loaded, &quot;server couldn&#39;t get out of pseudo environment&quot;<br>
+ pseudo_prefix, &quot;couldn&#39;t get valid pseudo prefix&quot;<br>
+ pseudo_invocation, &quot;invalid server command arguments&quot;<br>
++epoll_create, &quot;epoll_create() failed&quot;<br>
++epoll_ctl, &quot;epoll_ctl() failed&quot;<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 &quot;pseudo_client.h&quot;<br>
+ #include &quot;pseudo_db.h&quot;<br>
+<br>
++// This has to come after pseudo includes, as that&#39;s where PSEUDO_PORT defines are<br>
++#ifdef PSEUDO_PORT_LINUX<br>
++#include &lt;sys/epoll.h&gt;<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&#39;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 &gt; 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(&quot;error allocating new client, fd %d\n&quot;, 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 &lt; 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, &quot;server loop started.\n&quot;);<br>
++      if (listen_fd &lt; 0) {<br>
++              pseudo_diag(&quot;got into loop with no valid listen fd.\n&quot;);<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(&quot;epoll_create1() failed.\n&quot;);<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, &amp;ev) == -1) {<br>
++              pseudo_diag(&quot;epoll_ctl() failed with listening socket.\n&quot;);<br>
++              exit(PSEUDO_EXIT_EPOLL_CTL);<br>
++      }<br>
++<br>
++      pdb_log_msg(SEVERITY_INFO, NULL, NULL, NULL, &quot;server started (pid %d)&quot;, getpid());<br>
++<br>
++        for (;;) {<br>
++              rc = epoll_wait(epollfd, events, EPOLL_MAX_EVENTS, timeout);<br>
++              if (rc == 0 || (rc == -1 &amp;&amp; errno == EINTR)) {<br>
++                      /* If there&#39;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 &lt;= 0) {<br>
++                                      pseudo_debug(PDBGF_SERVER, &quot;no more clients, got bored.\n&quot;);<br>
++                                      die_peacefully = 1;<br>
++                              } else {<br>
++                                      /* display this if not exiting */<br>
++                                      pseudo_debug(PDBGF_SERVER | PDBGF_BENCHMARK, &quot;%d messages handled in %.4f seconds, %d responses\n&quot;,<br>
++                                              messages,<br>
++                                              (double) message_time.tv_sec +<br>
++                                              (double) message_time.tv_usec / 1000000.0,<br>
++                                                responses);<br>
++                              }<br>
++                      }<br>
++              } else if (rc &gt; 0) {<br>
++                      loop_timeout = pseudo_server_timeout;<br>
++                      for (i = 0; i &lt; 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 *) &amp;client, &amp;len)) != -1) {<br>
++                                              /* Don&#39;t allow clients to end up on fd 2, because glibc&#39;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, &quot;new client fd %d\n&quot;, 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 &amp;&amp; epoll_ctl(epollfd, EPOLL_CTL_ADD, clients[ev.data.u64].fd, &amp;ev) == -1) {<br>
++                                                              pseudo_diag(&quot;epoll_ctl() failed with accepted socket.\n&quot;);<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, &quot;Hit max open files.\n&quot;);<br>
++                                              }<br>
++                                      }<br>
++                              } else {<br>
++                                      struct timeval tv1, tv2;<br>
++                                        int rc;<br>
++                                      gettimeofday(&amp;tv1, NULL);<br>
++                                      rc = serve_client(events[i].data.<wbr>u64);<br>
++                                      gettimeofday(&amp;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 &lt; 0) {<br>
++                                              message_time.tv_usec += 1000000;<br>
++                                              --message_time.tv_sec;<br>
++                                      } else while (message_time.tv_usec &gt; 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, &quot;server loop complete [%d clients left]\n&quot;, active_clients);<br>
++              } else {<br>
++                      pseudo_diag(&quot;epoll_wait failed: %s\n&quot;, strerror(errno));<br>
++                      break;<br>
++              }<br>
++              if (die_peacefully || die_forcefully) {<br>
++                      pseudo_debug(PDBGF_SERVER, &quot;quitting.\n&quot;);<br>
++                      pseudo_debug(PDBGF_SERVER | PDBGF_BENCHMARK, &quot;server %d exiting: handled %d messages in %.4f seconds\n&quot;,<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, &quot;server %d exiting: handled %d messages in %.4f seconds&quot;,<br>
++                              getpid(), messages,<br>
++                              (double) message_time.tv_sec +<br>
++                              (double) message_time.tv_usec / 1000000.0);<br>
++                      /* and at this point, we&#39;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&#39;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(&quot;select failed: %s\n&quot;, 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 = &quot;<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>
            &quot;<br>
<br>
 SRC_URI[md5sum] = &quot;<wbr>7d41e72188fbea1f696c399c1a4356<wbr>75&quot;<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 &lt;<a href="mailto:will.newton@gmail.com">will.newton@gmail.com</a>&gt;<br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Cc: Will Newton &lt;<a href="mailto:willn@resin.io">willn@resin.io</a>&gt;, Otavio Salvador<br>
        &lt;<a href="mailto:otavio@ossystems.com.br">otavio@ossystems.com.br</a>&gt;<br>
Subject: [OE-core] [pyro][PATCH] goarch.bbclass: Replace logic for<br>
        setting GOARM<br>
Message-ID: &lt;<a href="mailto:20170918134356.16124-1-willn@resin.io">20170918134356.16124-1-willn@<wbr>resin.io</a>&gt;<br>
<br>
From: Will Newton &lt;<a href="mailto:will.newton@gmail.com">will.newton@gmail.com</a>&gt;<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>
&quot;armv7&quot; instead. At the same time add a check for &quot;armv6&quot; 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 &lt;<a href="mailto:willn@resin.io">willn@resin.io</a>&gt;<br>
Signed-off-by: Otavio Salvador &lt;<a href="mailto:otavio@ossystems.com.br">otavio@ossystems.com.br</a>&gt;<br>
Signed-off-by: Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@<wbr>linuxfoundation.org</a>&gt;<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(&#39;arm.*&#39;, a) and re.match(&#39;arm.*7.*&#39;, f):<br>
-        return &#39;7&#39;<br>
+    if re.match(&#39;arm.*&#39;, a):<br>
+        if &#39;armv7&#39; in f:<br>
+            return &#39;7&#39;<br>
+        elif &#39;armv6&#39; in f:<br>
+            return &#39;6&#39;<br>
     return &#39;&#39;<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 &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>&gt;<br>
To: &lt;<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>&gt;<br>
Subject: Re: [OE-core] [PATCH 1/2] base-files: profile: Do not assume<br>
        that the &#39;command&#39; command exists<br>
Message-ID: &lt;<a href="mailto:411d4d88-f166-1c4e-2dc4-3009d157b071@topic.nl">411d4d88-f166-1c4e-2dc4-<wbr>3009d157b071@topic.nl</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;; format=flowed<br>
<br>
?On 18-09-17 15:24, Mike Looijmans wrote:<br>
&gt; On 18-09-17 15:08, Burton, Ross wrote:<br>
&gt;&gt; On 18 September 2017 at 12:31, Mike Looijmans &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a><br>
&gt;&gt; &lt;mailto:<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.<wbr>nl</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;         This is basically the same change as I first sent a patch for in<br>
&gt;&gt;         April, and<br>
&gt;&gt;         last pinged this Friday... The only real difference is that this one<br>
&gt;&gt;         misses<br>
&gt;&gt;         passing error output from resize to /dev/null (which it should do to<br>
&gt;&gt;         handle<br>
&gt;&gt;         the case where tty exists, but resize does not).<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;     Yeah, indeed.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Apologies for missing that patch!<br>
&gt;&gt;<br>
&gt;&gt;     Other problem is that &quot;resize&quot; outputs shell script on stdout to be<br>
&gt;&gt;     executed, so the proper &quot;total&quot; invokation would be:<br>
&gt;&gt;<br>
&gt;&gt;        /dev/tty[A-z]*) eval `resize 2&gt;/dev/null` ;;<br>
&gt;&gt;<br>
&gt;&gt;     The &quot;eval&quot; part is missing in your version...<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Who is going to submit the One True patch with all the fixes in?  I promise<br>
&gt;&gt; to merge it.<br>
&gt;<br>
&gt; I&#39;ll send the one ring, eh, patch, in a few minutes. I&#39;ll merge the two into a<br>
&gt; single as well.<br>
<br>
On second thought, just use Peter&#39;s patch &quot;as is&quot;.<br>
<br>
I&#39;ve been experimenting with the &quot;eval&quot; part and it doesn&#39;t behave well. Tends<br>
to confuse minicom, create garbage, and in particular when run from &quot;profile&quot;,<br>
it seems to result in counterproductive COLUMNS=0 and LINES=0.<br>
<br>
I&#39;m actually wondering why the call to &quot;resize&quot; is being done at all. Just<br>
calling &quot;resize&quot; 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&#39;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 &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>&gt;<br>
To: <a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a><br>
Cc: Mike Looijmans &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>&gt;,<br>
        <a href="mailto:peter.kjellerstedt@axis.com">peter.kjellerstedt@axis.com</a><br>
Subject: [OE-core] [PATCH] base-files: profile: Get rid of &quot;resize&quot;<br>
Message-ID:<br>
        &lt;<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>&gt;<br>
<br>
The &quot;resize&quot; 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 &quot;resize&quot; 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 &quot;command&quot; or &quot;tty&quot; or &quot;resize&quot;.<br>
<br>
Signed-off-by: Mike Looijmans &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>&gt;<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 &gt;/dev/null &amp;&amp; command -v tty &gt;/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 &gt;/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 &lt;<a href="mailto:patchwork@patchwork.openembedded.org">patchwork@patchwork.<wbr>openembedded.org</a>&gt;<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 &quot;base-files: profile: Do<br>
        not as...&quot; and 1 more (rev2)<br>
Message-ID: &lt;<a href="mailto:20170918143026.2786.12950@do.openembedded.org">20170918143026.2786.12950@do.<wbr>openembedded.org</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
== Series Details ==<br>
<br>
Series: &quot;base-files: profile: Do not as...&quot; 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] -&gt; [PATCH v2] -&gt;<br>
[PATCH v3] -&gt; ...).<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 &lt;<a href="mailto:mike.looijmans@topic.nl">mike.looijmans@topic.nl</a>&gt;<br>
To: &lt;<a href="mailto:openembedded-core@lists.openembedded.org">openembedded-core@lists.<wbr>openembedded.org</a>&gt;<br>
Subject: Re: [OE-core] [PATCH] init-ifupdown: RDEPENDS on procps<br>
Message-ID: &lt;<a href="mailto:b29b9784-57af-089a-35b1-4b339ca84fd9@topic.nl">b29b9784-57af-089a-35b1-<wbr>4b339ca84fd9@topic.nl</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;; format=flowed<br>
<br>
?Busybox can also provide sysctl so there&#39;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>
&gt; From: Ming Liu &lt;<a href="mailto:liu.ming50@gmail.com">liu.ming50@gmail.com</a>&gt;<br>
&gt;<br>
&gt; sysctl is being called in /etc/init.d/networking, so it needs RDEPENDS<br>
&gt; on procps.<br>
&gt;<br>
&gt; Signed-off-by: Ming Liu &lt;<a href="mailto:liu.ming50@gmail.com">liu.ming50@gmail.com</a>&gt;<br>
&gt; ---<br>
&gt;   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>
&gt;   1 file changed, 1 insertion(+), 1 deletion(-)<br>
&gt;<br>
&gt; 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>
&gt; index 733ae41..8774386 100644<br>
&gt; --- 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>
&gt; +++ 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>
&gt; @@ -35,7 +35,7 @@ do_install_append_qemuall () {<br>
&gt;   }<br>
&gt;<br>
&gt;   PACKAGE_ARCH_qemuall = &quot;${MACHINE_ARCH}&quot;<br>
&gt; -RDEPENDS_${PN} = &quot;netbase&quot;<br>
&gt; +RDEPENDS_${PN} = &quot;netbase procps&quot;<br>
&gt;   RCONFLICTS_${PN} = &quot;netbase (&lt; 1:5.0)&quot;<br>
&gt;<br>
&gt;   CONFFILES_${PN} = &quot;${sysconfdir}/network/<wbr>interfaces&quot;<br>
&gt;<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>