[OE-core] [PATCH] SDK: trap any IO errors in the relocate script
Saul Wold
sgw at linux.intel.com
Thu Sep 27 15:49:24 UTC 2012
On 09/25/2012 09:35 AM, Laurentiu Palcu wrote:
BTW: in the future it's good to say the "filename: <commit subject>"
So this would be "relocate_sdk.py: ...."
> If the files being relocated are already used by other processes the
> relocate script will fail with a traceback. This patch will trap any IO
> errors when opening such a file and gracefully report them to the user.
>
> Also change the exit code from 1 to -1 for a better adt-installer user
> experience (like pointing the user to the adt_installer.log).
>
> [YOCTO #3164]
>
> Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
> ---
> scripts/relocate_sdk.py | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py
> index b247e65..637ffe9 100755
> --- a/scripts/relocate_sdk.py
> +++ b/scripts/relocate_sdk.py
> @@ -29,6 +29,7 @@ import sys
> import stat
> import os
> import re
> +import errno
>
> old_prefix = re.compile("##DEFAULT_INSTALL_DIR##")
>
> @@ -171,7 +172,7 @@ def change_dl_sysdirs():
>
> # MAIN
> if len(sys.argv) < 4:
> - exit(1)
> + exit(-1)
>
> new_prefix = sys.argv[1]
> new_dl_path = sys.argv[2]
> @@ -184,7 +185,16 @@ for e in executables_list:
> else:
> os.chmod(e, perms|stat.S_IRWXU)
>
> - f = open(e, "r+b")
> + try:
> + f = open(e, "r+b")
> + except IOError as ioex:
> + if ioex.errno == errno.ETXTBSY:
> + print("Could not open %s. File used by another process.\nPlease "\
> + "make sure you exit all processes that might use any SDK "\
> + "binaries." % e)
> + else:
> + print("Could not open %s: %s(%d)" % (e, ioex.strerror, ioex.errno))
> + exit(-1)
>
> arch = get_arch()
> if arch:
>
Merged into OE-Core
Thanks
Sau!
More information about the Openembedded-core
mailing list