diff options
-rw-r--r-- | buildstream/plugins/sources/patch.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/buildstream/plugins/sources/patch.py b/buildstream/plugins/sources/patch.py index 40fd106ec..a8a2da26c 100644 --- a/buildstream/plugins/sources/patch.py +++ b/buildstream/plugins/sources/patch.py @@ -80,14 +80,12 @@ class PatchSource(Source): def stage(self, directory): with self.timed_activity("Applying local patch: {}".format(self.path)): - if not os.path.isdir(directory): - raise SourceError( - "Patch directory '{}' does not exist".format(directory), - reason="patch-no-directory" - ) - elif not os.listdir(directory): - raise SourceError("Empty patch directory '{}'".format(directory), + + # Bail out with a comprehensive message if the target directory is empty + if not os.listdir(directory): + raise SourceError("Nothing to patch in directory '{}'".format(directory), reason="patch-no-files") + strip_level_option = "-p{}".format(self.strip_level) self.call([self.host_patch, strip_level_option, "-i", self.fullpath, "-d", directory], fail="Failed to apply patch {}".format(self.path)) |