This does not work as a per distribution CacheKey= means that
we can switch between distributions without invalidating caches,
meaning the output files won't be removed yet will still be those
of the previous distribution rather than the new one.
Revert for now until I figure out a better approach.
This reverts commit
a97c50044ce19d72e5119cd11af6993c3944ab65.
remove_image_cache = args.force > 0
remove_package_cache = args.force > 1
else:
remove_image_cache = args.force > 0
remove_package_cache = args.force > 1
else:
- # Rely on the fact that True is 1 and False is 0 in numeric contexts.
- remove_outputs = args.force > (config.incremental == Incremental.relaxed) or (
- config.is_incremental() and not have_cache(config)
- )
+ remove_outputs = args.force > 0 or (config.is_incremental() and not have_cache(config))
remove_build_cache = args.force > 1 or args.wipe_build_dir
remove_image_cache = args.force > 1 or not have_cache(config) or repository_metadata_needs_sync
remove_package_cache = args.force > 2
remove_build_cache = args.force > 1 or args.wipe_build_dir
remove_image_cache = args.force > 1 or not have_cache(config) or repository_metadata_needs_sync
remove_package_cache = args.force > 2
ikd = imd = None
for config in images:
ikd = imd = None
for config in images:
- # If the output format is "none" and there are no build scripts, there's nothing to do so
- # exit early.
- if config.output_format == OutputFormat.none and not config.build_scripts:
- continue
-
- # If the image already exists and we're not rerunning build scripts, there's nothing to do so
- # exit early.
- if (config.output_dir_or_cwd() / config.output).exists() and (
- not args.rerun_build_scripts or not config.build_scripts
- ):
+ # If the output format is "none" or we're rebuilding and there are no build scripts, there's
+ # nothing to do so exit early.
+ if (
+ config.output_format == OutputFormat.none
+ or (args.rerun_build_scripts and (config.output_dir_or_cwd() / config.output).exists())
+ ) and not config.build_scripts:
continue
check_tools(config, Verb.build)
continue
check_tools(config, Verb.build)
yes = enum.auto()
no = enum.auto()
strict = enum.auto()
yes = enum.auto()
no = enum.auto()
strict = enum.auto()
def __bool__(self) -> bool:
return self != Incremental.no
def __bool__(self) -> bool:
return self != Incremental.no
parse=config_make_enum_parser_with_boolean(Incremental, yes=Incremental.yes, no=Incremental.no),
default=Incremental.no,
help="Make use of and generate intermediary cache images",
parse=config_make_enum_parser_with_boolean(Incremental, yes=Incremental.yes, no=Incremental.no),
default=Incremental.no,
help="Make use of and generate intermediary cache images",
- scope=SettingScope.inherit,
+ scope=SettingScope.universal,
choices=Incremental.values(),
),
ConfigSetting(
choices=Incremental.values(),
),
ConfigSetting(
If set to `strict`, the build fails if previously built cached image does
not exist.
If set to `strict`, the build fails if previously built cached image does
not exist.
- If set to `relaxed`, images are only rebuilt when `-ff` is specified or
- if the cached imaged is out of date.
-
`CacheOnly=`, `--cache-only=`
: Takes one of `auto`, `metadata`, `always` or `never`. Defaults to
`auto`. If `always`, the package manager is instructed not to contact
`CacheOnly=`, `--cache-only=`
: Takes one of `auto`, `metadata`, `always` or `never`. Defaults to
`auto`. If `always`, the package manager is instructed not to contact