]> code.ossystems Code Review - openembedded-core.git/commitdiff
isoimage-isohybrid.py: fix cpio working directory
authorIoan-Adrian Ratiu <adrian.ratiu@ni.com>
Fri, 5 Feb 2016 13:36:57 +0000 (15:36 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 7 Feb 2016 17:29:44 +0000 (17:29 +0000)
Take `pwd` to be <initial-dir>. The %s path is relative to it. The value
of %s is "output_folder/build". The current code works as follows:

Changing directory to %s and finding the sources (after cd'ing) to cpio
with output redirection to %s/initrd.cpio triggers the following error

"Error: exec_cmd: cd output_folder/build/INITRD && find . | cpio -o -H
newc >output_folder/build/initrd.cpio  returned '1' instead of 0"

This happens because after the cd, `pwd` is <initial-dir>/%s and by the
redirect we write the result to to <initial-dir>/%s/%s/initrd.cpio which
obviously does not exist.

Fix this by getting the sources with "find %s" instead of "cd && find ."

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/lib/wic/plugins/source/isoimage-isohybrid.py

index 62385a223d1b2941c555755c413ecf5f1ae2578d..31dc9b6ce68267e06616825bed62d928cedbec59 100644 (file)
@@ -174,7 +174,7 @@ class IsoImagePlugin(SourcePlugin):
             else:
                 msger.error("Couldn't find or build initrd, exiting.\n")
 
-            exec_cmd("cd %s && find . | cpio -o -H newc >%s/initrd.cpio " \
+            exec_cmd("find %s | cpio -o -H newc >%s/initrd.cpio " \
                     % (initrd_dir, cr_workdir), as_shell=True)
             exec_cmd("gzip -f -9 -c %s/initrd.cpio > %s" \
                     % (cr_workdir, initrd), as_shell=True)