Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions bits_helpers/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -757,13 +757,13 @@ def performPreferCheckWithTempDir(pkg, cmd):
taps = taps,
log = debug)

dieOnError(validDefaults and args.defaults not in validDefaults,
dieOnError(validDefaults and any(d not in validDefaults for d in args.defaults),
"Specified default `%s' is not compatible with the packages you want to build.\n"
"Valid defaults:\n\n- %s" % (args.defaults, "\n- ".join(sorted(validDefaults or []))))
"Valid defaults:\n\n- %s" % ("::".join(args.defaults), "\n- ".join(sorted(validDefaults or []))))
dieOnError(failed,
"The following packages are system requirements and could not be found:\n\n- %s\n\n"
"Please run:\n\n\tbitsDoctor --defaults %s %s\n\nto get a full diagnosis." %
("\n- ".join(sorted(failed)), args.defaults, " ".join(args.pkgname)))
("\n- ".join(sorted(failed)), "::".join(args.defaults), " ".join(args.pkgname)))

banner("Configured directory:\n%s", os.path.abspath(args.configDir))
banner("Package Recipe will be searched in the following order \n%s", os.environ.get("BITS_PATH"))
Expand Down
4 changes: 2 additions & 2 deletions bits_helpers/deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ def performCheck(pkg, cmd):
taps = taps,
log = debug)

dieOnError(validDefaults and args.defaults not in validDefaults,
"Specified default `%s' is not compatible with the packages you want to build.\n" % args.defaults +
dieOnError(validDefaults and any(d not in validDefaults for d in args.defaults),
"Specified default `%s' is not compatible with the packages you want to build.\n" % "::".join(args.defaults) +
"Valid defaults:\n\n- " +
"\n- ".join(sorted(validDefaults)))

Expand Down
2 changes: 1 addition & 1 deletion bits_helpers/doctor.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ def performValidateDefaults(spec):
"Look at the error messages above to get hints on what packages you need to install separately.",
"\n- ".join(failed))
exitcode = 1
if validDefaults and args.defaults not in validDefaults:
if validDefaults and any(d not in validDefaults for d in args.defaults):
banner("The list of packages cannot be built with the defaults you have specified.\n"
"List of valid defaults:\n\n- %s\n\n"
"Use the `--defaults' switch to specify one of them.",
Expand Down
4 changes: 2 additions & 2 deletions bits_helpers/init.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ def doInit(args):
overrides=overrides,
taps=taps,
log=debug)
dieOnError(validDefaults and args.defaults not in validDefaults,
"Specified default `%s' is not compatible with the packages you want to build.\n" % args.defaults +
dieOnError(validDefaults and any(d not in validDefaults for d in args.defaults),
"Specified default `%s' is not compatible with the packages you want to build.\n" % "::".join(args.defaults) +
"Valid defaults:\n\n- " +
"\n- ".join(sorted(validDefaults)))

Expand Down
8 changes: 5 additions & 3 deletions bits_helpers/utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,13 @@ def validateDefaults(finalPkgSpec, defaults):
nonStringDefaults = [x for x in validDefaults if not type(x) == str]
if nonStringDefaults:
return (False, "valid_defaults needs to be a string or a list of strings. Found %s." % nonStringDefaults, [])
if defaults in validDefaults:
defaultsList = asList(defaults)
invalidDefaults = [d for d in defaultsList if d not in validDefaults]
if not invalidDefaults:
return (True, "", validDefaults)
return (False, "Cannot compile %s with `%s' default. Valid defaults are\n%s" %
return (False, "Cannot compile %s with `%s' default. Valid defaults are\n%s" %
(finalPkgSpec["package"],
defaults,
", ".join(invalidDefaults),
"\n".join([" - " + x for x in validDefaults])), validDefaults)


Expand Down
2 changes: 1 addition & 1 deletion tests/test_parseRecipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def test_validateDefault(self) -> None:
self.assertEqual(ok, True)
ok, out, validDefaults = validateDefaults({"package": "foo","valid_defaults": ["o2", "o2-dataflow"]}, "release")
self.assertEqual(ok, False)
self.assertEqual(out, 'Cannot compile foo with `release\' default. Valid defaults are\n - o2\n - o2-dataflow')
self.assertEqual(out, "Cannot compile foo with `release' default. Valid defaults are\n - o2\n - o2-dataflow")
ok, out, validDefaults = validateDefaults({"package": "foo","valid_defaults": ["o2", "o2-dataflow"]}, "o2")
self.assertEqual(ok, True)
ok, out, validDefaults = validateDefaults({"package": "foo","valid_defaults": "o2-dataflow"}, "o2")
Expand Down