Patchwork populate_sdk: verify executable or dynamically linked library

login
register
mail settings
Submitter yanjun.zhu
Date Nov. 26, 2013, 8:24 a.m.
Message ID <1385454283-25126-1-git-send-email-yanjun.zhu@windriver.com>
Download mbox | patch
Permalink /patch/62361/
State New
Headers show

Comments

yanjun.zhu - Nov. 26, 2013, 8:24 a.m.
When toolchain directory is changed to execute mode, some non-executable
files or empty files are sorted. This will result in some errors. Thus when
sorting executable files or dynamically linked library, additional conditions
are to exclude non-executable files or empty files.
---
 meta/classes/populate_sdk_base.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
yanjun.zhu - Nov. 26, 2013, 8:39 a.m.
Please ignore this mail since there is something wrong in the patch.

On 11/26/2013 04:24 PM, yzhu1 wrote:
> When toolchain directory is changed to execute mode, some non-executable
> files or empty files are sorted. This will result in some errors. Thus when
> sorting executable files or dynamically linked library, additional conditions
> are to exclude non-executable files or empty files.
> ---
>   meta/classes/populate_sdk_base.bbclass |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index b7ea851..6b3535d 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -253,7 +253,7 @@ if [ "$dl_path" = "" ] ; then
>   	echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"
>   	exit 1
>   fi
> -executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111)
> +executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm +111 -exec file '{}' \;| grep "\(executable\|dynamically linked\)" | cut -f 1 -d ':')
>   
>   tdir=`mktemp -d`
>   if [ x$tdir = x ] ; then
jackie huang - Nov. 26, 2013, 8:39 a.m.
On 11/26/2013 4:24 PM, yzhu1 wrote:
> When toolchain directory is changed to execute mode, some non-executable
> files or empty files are sorted. This will result in some errors. Thus when
> sorting executable files or dynamically linked library, additional conditions
> are to exclude non-executable files or empty files.
> ---
>   meta/classes/populate_sdk_base.bbclass |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index b7ea851..6b3535d 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -253,7 +253,7 @@ if [ "$dl_path" = "" ] ; then
>   	echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"
>   	exit 1
>   fi
> -executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111)
> +executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm +111 -exec file '{}' \;| grep "\(executable\|dynamically linked\)" | cut -f 1 -d ':')

You should not change the -perm option back to use +mode, please refer to:

commit 21b079e01873e2fb4d8674541e8c5818ba73554e
Author: Stefan Stanacar <stefanx.stanacar@intel.com>
Date:   Tue Jul 16 14:42:35 2013 +0300

     populate_sdk_base.bbclass: use new perm option for find

     Old way find -perm +mode is no longer supported in newer
     versions of find (Fedora 19). Man page says:
     -perm +mode
            This  is  no  longer  supported  (and  has been deprecated since
            2005).  Use -perm /mode instead.

     [YOCTO #4853]

     Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
     Signed-off-by: Saul Wold <sgw@linux.intel.com>

Thanks,
Jackie

>
>   tdir=`mktemp -d`
>   if [ x$tdir = x ] ; then
>

Patch

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index b7ea851..6b3535d 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -253,7 +253,7 @@  if [ "$dl_path" = "" ] ; then
 	echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"
 	exit 1
 fi
-executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm /111)
+executable_files=$($SUDO_EXEC find $native_sysroot -type f -perm +111 -exec file '{}' \;| grep "\(executable\|dynamically linked\)" | cut -f 1 -d ':') 
 
 tdir=`mktemp -d`
 if [ x$tdir = x ] ; then