]> code.ossystems Code Review - openembedded-core.git/commitdiff
utils: Reduce the number of calls to the "dirname" command
authorOleksandr Popovych <opopovyc@cisco.com>
Fri, 20 Aug 2021 12:41:43 +0000 (05:41 -0700)
committerSteve Sakoman <steve@sakoman.com>
Fri, 27 Aug 2021 14:58:08 +0000 (04:58 -1000)
utils.bbclass contains create_cmdline_wrapper() function that
creates wrapper script with additional arguments for any passed
"$cmd" command, and uses several calls to "dirname".

Because "dirname" is an external command, in cases of lots of
calls to wrapped "$cmd", each call of "dirname" will incur
significant overhead.

There are three same calls to "dirname": one for saving it`s
output to "realdir" variable, and other two in "exec" command.
So last two "dirname" calls can be replaced with cached value
from "realdir" variable.

Signed-off-by: Oleksandr Popovych <opopovyc@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4b9cf2c80fd14386e0b88a2e6c40a9fa3f1ae0f7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/classes/utils.bbclass

index cd3d05709ed2b9aa8c208801fcd9b0f3977a0fca..99f68f75052719a3cdab069b7293501aec97c2c0 100644 (file)
@@ -233,7 +233,7 @@ create_cmdline_wrapper () {
 #!/bin/bash
 realpath=\`readlink -fn \$0\`
 realdir=\`dirname \$realpath\`
-exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real $cmdoptions "\$@"
+exec -a \$realdir/$cmdname \$realdir/$cmdname.real $cmdoptions "\$@"
 END
        chmod +x $cmd
 }