-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recovery/cos-img results to inconsistent builds #297
Comments
Up to here all sounds fine - even if you are targeting two separate images, if they share part of the dep tree then they are going to reuse it as much as possible - that's the benefit of having a sat solver doing this matching. |
🤔 logs aren't showing much because it seems it reused most of all the images locally available. It needs a deeper 👀 with a run with the |
I think this is related to mudler/luet#234 |
I think we should check out if this is still the case with luet |
I can confirm the issue I reported is already gone with current Luet 👍 Thanks for the fix! |
cos-toolkit version:
CPU architecture, OS, and Version:
Leap 15.3 x86_64
Describe the bug
After changing some package and bumping its version the command
PACKAGES="system/cos recovery/cos recovery/cos-img" make build
does not result in an updatedrecovery/cos-img
package. It does forsystem/cos
andrecovery/cos
but it doesn't for therecovery/cos-img
.To Reproduce
recovery/cos-img results to inconsistent builds
Since few days that I am really struggling to figure what is actually included in
recovery/cos
image build.My process froma clean cache state is the following:
sudo PACKAGES="system/cos recovery/cos recovery/cos-img" time -p make build create-repo
I do some changes (e.g I change
packages/installer/build.yaml
to include a new file and I add a+1
in version frompackages/installer/definition.yaml
)Rebuild with the same command as I previously did:
sudo PACKAGES="system/cos recovery/cos recovery/cos-img" time -p make build create-repo
Here I can see how
utils/installer
is being rebuild first forsystem/cos
and the new version appears logsThen I can see how in the context of
recovery/cos
the package is not rebuild.Here my first round of doubts start, I would have expected it to be rebuilt since the previous build is part of system/cos tree not recovery/cos. Even if both recipes are exactly the same up to utils/installer layer I would have expected that different packages always differ in build cache regardless they share the same exact build.yaml or not. Anyway this was just my expectation, this is not yet broken, just unexpected behavior from my POV which might not be wrong.
On logs the same applies for
recovery/cos-img
I see equivalent logs including the bumped version of the installer without the need to actually recompile it.So far it still looks consistent, however the problem starts when start using
recovery/cos-img
, infact the build image does not include the new file included within the installersystem/cos
does, howeverrecovery/cos-img
doesn't. This is specially confusing when booting the image as there you don't have traces of which version of theutils/installer
is actually included within the system. By unpackingrecovery/cos
I managed to see it actually includes the expected changes and also by directly unpacking and mounting the recovery/cos-img I managed to see how it does not include the latest changes.Expected behavior
recovery/cos-img
gets updated if I run a local build that includes changes in the formerrecovery/cos
tree.Logs
build.log
See also: #391
The text was updated successfully, but these errors were encountered: