From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mail.openembedded.org (Postfix) with ESMTP id A696571A54 for ; Tue, 29 Nov 2016 21:08:09 +0000 (UTC) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP; 29 Nov 2016 13:08:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,570,1473145200"; d="scan'208,217";a="36942747" Received: from clsulliv.jf.intel.com ([10.7.201.36]) by orsmga005.jf.intel.com with ESMTP; 29 Nov 2016 13:08:10 -0800 To: openembedded-core@lists.openembedded.org References: <1480444188-27310-1-git-send-email-leonardo.sandoval.gonzalez@linux.intel.com> <2a1fd093-8b07-1e04-4167-f52c0698446e@linux.intel.com> From: Cal Sullivan Message-ID: Date: Tue, 29 Nov 2016 13:08:10 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Cc: clarson@kergoth.com Subject: Re: [PATCH] sysvinit-inittab: fix getty device removal X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Nov 2016 21:08:11 -0000 Content-Type: multipart/alternative; boundary="------------5A1BF6445D313D0E6DF3B5EA" --------------5A1BF6445D313D0E6DF3B5EA Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Oops, accidentally dropped CCs. See my reply below. On 11/29/2016 01:05 PM, Cal Sullivan wrote: > > > On 11/29/2016 12:52 PM, Leonardo Sandoval wrote: >> >> >> >> On 11/29/2016 02:15 PM, Christopher Larson wrote: >>> >>> On Tue, Nov 29, 2016 at 11:29 AM, >>> >> > wrote: >>> >>> From: Leonardo Sandoval >>> >> > >>> >>> getty devices were not being removed in some cases because >>> device name >>> was not at the end of the line, for example a ttyS1 device: >>> >>> S1:12345:respawn:/bin/start_getty 115200 ttyS1 vt102 >>> >>> Removing this limitation allows sed to remove any line containing >>> the device. >>> >>> Signed-off-by: Leonardo Sandoval >>> >> > >>> --- >>> meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb >>> | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git >>> a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb >>> >>> b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb >>> >>> index c219cbf..dd30f43 100644 >>> --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb >>> >>> +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb >>> >>> @@ -62,7 +62,7 @@ if [ "x$D" = "x" ] && [ -e /proc/consoles ]; then >>> k=`echo ${i} | sed s/^.*\://g` >>> if [ -z "`grep ${j} /proc/consoles`" ]; then >>> if [ -z "${k}" ] || [ -z "`grep ${k} >>> /proc/consoles`" ] || [ ! -e /dev/${j} ]; then >>> - sed -i /^.*${j}$/d /etc/inittab >>> + sed -i /^.*${j}/d /etc/inittab >>> >>> >>> This doesn’t check for the end of a word, so it’d match a partial as >>> well. Would that be a problem? i.e. ttyS1 vs ttyS10. >> >> That is the intention, that line removal is not tied to finding the >> device at the end of the line. With proposed patch, it removes the >> device, no matter where is located. >> > Right, but look at this hypothetical example: > > S1:12345:respawn:/bin/start_getty 115200 ttyS1 vt102 > S10:12345:respawn:/bin/start_getty 115200 ttyS10 > > Both would match, when you only want the top to match. This is > untested but likely more what we want: > > sed -i /^.*${j}[\ $]/d /etc/inittab > > That way we either match up to a space (end of word) or end of line. > > --- > Cal > >> >>> -- >>> Christopher Larson >>> clarson at kergoth dot com >>> Founder - BitBake, OpenEmbedded, OpenZaurus >>> Maintainer - Tslib >>> Senior Software Engineer, Mentor Graphics >> >> >> > --------------5A1BF6445D313D0E6DF3B5EA Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 8bit Oops, accidentally dropped CCs. See my reply below.

On 11/29/2016 01:05 PM, Cal Sullivan wrote:


On 11/29/2016 12:52 PM, Leonardo Sandoval wrote:



On 11/29/2016 02:15 PM, Christopher Larson wrote:

On Tue, Nov 29, 2016 at 11:29 AM, <leonardo.sandoval.gonzalez@linux.intel.com> wrote:
From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

getty devices were not being removed in some cases because device name
was not at the end of the line, for example a ttyS1 device:

S1:12345:respawn:/bin/start_getty 115200 ttyS1 vt102

Removing this limitation allows sed to remove any line containing
the device.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
---
 meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index c219cbf..dd30f43 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -62,7 +62,7 @@ if [ "x$D" = "x" ] && [ -e /proc/consoles ]; then
                k=`echo ${i} | sed s/^.*\://g`
                if [ -z "`grep ${j} /proc/consoles`" ]; then
                        if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
-                               sed -i /^.*${j}$/d /etc/inittab
+                               sed -i /^.*${j}/d /etc/inittab

This doesn’t check for the end of a word, so it’d match a partial as well. Would that be a problem? i.e. ttyS1 vs ttyS10.

That is the intention, that line removal is not tied to finding the device at the end of the line. With proposed patch, it removes the device, no matter where is located.

Right, but look at this hypothetical example:

S1:12345:respawn:/bin/start_getty 115200 ttyS1 vt102
S10:12345:respawn:/bin/start_getty 115200 ttyS10

Both would match, when you only want the top to match. This is untested but likely more what we want:

sed -i /^.*${j}[\ $]/d /etc/inittab

That way we either match up to a space (end of word) or end of line.

---
Cal


--
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics





--------------5A1BF6445D313D0E6DF3B5EA--