[OE-core] [PATCH] sysvinit-inittab: fix getty device removal

Cal Sullivan california.l.sullivan at intel.com
Tue Nov 29 21:05:56 UTC 2016



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 at linux.intel.com 
>> <mailto:leonardo.sandoval.gonzalez at linux.intel.com>> wrote:
>>
>>     From: Leonardo Sandoval
>>     <leonardo.sandoval.gonzalez at linux.intel.com
>>     <mailto:leonardo.sandoval.gonzalez at 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 at linux.intel.com
>>     <mailto:leonardo.sandoval.gonzalez at linux.intel.com>>
>>     ---
>>      meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
>>     <http://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
>>     <http://sysvinit-inittab_2.88dsf.bb>
>>     b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
>>     <http://sysvinit-inittab_2.88dsf.bb>
>>     index c219cbf..dd30f43 100644
>>     --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
>>     <http://sysvinit-inittab_2.88dsf.bb>
>>     +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
>>     <http://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
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161129/c0442dfb/attachment-0002.html>


More information about the Openembedded-core mailing list