From: Oleksandr Popovych Date: Fri, 20 Aug 2021 12:41:43 +0000 (-0700) Subject: utils: Reduce the number of calls to the "dirname" command X-Git-Tag: yocto-3.1.11~29 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=912c9eda653c45fee2f55092fbe281efba897bc0;p=openembedded-core.git utils: Reduce the number of calls to the "dirname" command 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 Signed-off-by: Richard Purdie (cherry picked from commit 4b9cf2c80fd14386e0b88a2e6c40a9fa3f1ae0f7) Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index cd3d05709e..99f68f7505 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -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 }