Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Laurentiu Palcu <laurentiu.palcu@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] SDK: trap any IO errors in the relocate script
Date: Thu, 27 Sep 2012 08:49:24 -0700	[thread overview]
Message-ID: <50647584.2010200@linux.intel.com> (raw)
In-Reply-To: <1348590946-13319-1-git-send-email-laurentiu.palcu@intel.com>

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@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!




  reply	other threads:[~2012-09-27 16:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-25 16:35 [PATCH] SDK: trap any IO errors in the relocate script Laurentiu Palcu
2012-09-27 15:49 ` Saul Wold [this message]
2012-09-28  6:50   ` Laurentiu Palcu
2012-09-28 15:46     ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50647584.2010200@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=laurentiu.palcu@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox