[OE-core] [PATCH] wic/direct.py: Avoid exception if using multiple rawcopy/no-table entries.

Ed Bartosh ed.bartosh at linux.intel.com
Thu Mar 9 13:28:20 UTC 2017


On Thu, Mar 09, 2017 at 08:25:16AM +0100, Kristian Amlie wrote:
> If we are both having a bootloader and a U-Boot environment file, we
> can end up with two entries using "--source rawcopy" and "--no-table",
> and since they reuse the same file [1], their cleanup handlers will
> try to delete the same file twice. So just ignore the error if the
> file doesn't exist.
> 
> [1] Although they reuse the same file, the resulting output is
> correct, so it appears the file is accessed in properly sequential
> order.
> 
> Signed-off-by: Kristian Amlie <kristian.amlie at mender.io>
> ---
>  scripts/lib/wic/plugins/imager/direct.py | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py
> index b7e324a..0e8d436 100644
> --- a/scripts/lib/wic/plugins/imager/direct.py
> +++ b/scripts/lib/wic/plugins/imager/direct.py
> @@ -548,7 +548,10 @@ class PartitionedImage():
>      def cleanup(self):
>          # remove partition images
>          for image in self.partimages:
> -            os.remove(image)
> +            try:
> +                os.remove(image)
> +            except FileNotFoundError:
> +                pass
>  
>      def assemble(self):
>          logger.debug("Installing partitions")
Would it be better to just skip removing files that have already been
removed?

# remove partition images
for image in set(self.partimages):
    os.remove(image)

--
Regards,
Ed



More information about the Openembedded-core mailing list