lib/oe/patch: Use force option when creating symlinks to patches
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Dec 2012 17:21:05 +0000 (17:21 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 17 Dec 2012 17:24:57 +0000 (17:24 +0000)
Under the scenario where you have an existing source tree and you then
change one of the patches, maybe to be architecture or machine specific,
then rebuild, the build will fail since the symlink already exists
but should now point at a different file.

The easiest fix is to tell the system to remove and recreate the link
which is done with the force option.

(From OE-Core rev: 4741b90b170bc96e3a24f9c1dce871af060bc4d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/patch.py

index bc86bb5..7ab74fa 100644 (file)
@@ -278,7 +278,7 @@ class QuiltTree(PatchSet):
         if not self.initialized:
             self.InitFromDir()
         PatchSet.Import(self, patch, force)
-        oe.path.symlink(patch["file"], self._quiltpatchpath(patch["file"]))
+        oe.path.symlink(patch["file"], self._quiltpatchpath(patch["file"]), force=True)
         f = open(os.path.join(self.dir, "patches","series"), "a");
         f.write(os.path.basename(patch["file"]) + " -p" + patch["strippath"]+"\n")
         f.close()