Ignore non-required packages rather than erroring if their dependencies were missing

This commit is contained in:
rdb 2015-08-07 17:40:01 +02:00
parent f1df65034d
commit af8de103af
1 changed files with 12 additions and 1 deletions

View File

@ -372,6 +372,9 @@ class Packager:
self.requiredFilenames = []
self.requiredModules = []
# A list of required packages that were missing.
self.missingPackages = []
# This records the current list of modules we have added so
# far.
self.freezer = FreezeTool.Freezer(platform = self.packager.platform)
@ -495,6 +498,12 @@ class Packager:
as a true package. Either is implemented with a
Multifile. """
if self.missingPackages:
missing = ', '.join([name for name, version in self.missingPackages])
self.notify.warning("Cannot build package %s due to missing dependencies: %s" % (self.packageName, missing))
self.cleanup()
return False
self.multifile = Multifile()
# Write the multifile to a temporary filename until we
@ -3217,7 +3226,9 @@ class Packager:
requires = self.currentPackage.requires)
if not package:
message = 'Unknown package %s, version "%s"' % (packageName, version)
raise PackagerError, message
self.notify.warning(message)
self.currentPackage.missingPackages.append((packageName, pversion))
continue
self.requirePackage(package)