A new keyword `join` is introduced to generate the parent image. It
takes precedence over a `requires` or a `image` already defined in a
spec.
It will generate all the artifacts from the packages listed and join
them in a single image which will be used as parent for the package
build process.
This is a change which invalidates priorly generated hashes.
Fixes#173
Implement multi-stage copy from images part of the build cache of a
package.
Note, this is not the final images where are we copying files from, but
the underlying build container.
Skipping the test on img backend because it fails when pulling external
images during multi-stage build...
Fixes#190
before, without --only-target-package, we were forcing to build the
images locally. Now we extend it also to that use-case.
Also revisit how we pass by the builder image hash, so it's easier to
read.
This change also re-enables tagging and bulding builder images all the
times.
Previously, we regressed into not tagging build images coming out-of-the
tree, with the unpleasant side-effect of not be able to re-build the
same artifacts for those leaf packages.
- Fixup search path on metadata spec load. Previously we were reading
the package being passed, and not the one resolved (it failed against
selectors)
- Do inherit first pushrepositories, so they take precedence over pull
- Add test cases to cover build values interpolation by remote
repositories
- Enhance test cases to check image cache repository inheritance when
--from-repositories is passed
- Fix race condition when inheriting buildspec options: Instead of consuming the compiler one, annotate the updates in the
package BuildOption spec which is passed by
- Update vendor
The backend will figure out if we have the image or not, otherwise will
atempt to pull if not there.
Skip retrieve integration test with img as its not supported.
This is currently not a valid use case. Virtuals are empty packages and
if the `build.yaml` is completely empty, nothing could depend on them.
Let's try to not be too smart and build the package image if a source
image is supplied, and fail hardly when we depend on a virtual in build
time.
When we are swapping packages, we do not run the solver to gather things
to install, but we trust the given list when calling computeInstall. In this case, the assertion
returned by computeInstall is empty, as we force l.Options.NoDeps.
This change generates the assertion list while calling computeSwap so
it's available later when we call ExecuteFinalizer.
This is a breaking change as changes the way packages can be given as
arguments to luet.
From this change, the following applies:
- If a package string contains @, the right part is parsed as version
(e.g. foo/bar@1.1)
- If a package contains "/" and no "@", cat/name is applied (e.g.
foo/bar)
- If a package doesn't contain either, is implied its just a name
without category
- If a package contains "=" at the beginning, the gentoo parsing default
is being used ( e.g. =foo/bar-1.1 )
Fixes#154