-
Notifications
You must be signed in to change notification settings - Fork 141
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
Fix package name handling to retain version and strip ‘@’ suffix #1472
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This produces an invalid
world
when using tagged repositories like@local
or@edge
.The order needs to be
as per
apk-world(5)
:There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @emilylange
When I tested it with
@local
package, the format you shared didn't work. This is the reason I kept that like that. However, changing the order doesn't break the local package build since it is not the case for local built packages.With
@local
package repository below example config does not work.contents: repositories: - '@local ./packages' keyring: - melange.rsa.pub packages: - world@local=7.0.0-r0
This is the error message. This error happens before the changes.
However, this config works but it doesn't match with the format.
contents: repositories: - '@local ./packages' keyring: - melange.rsa.pub packages: - world=7.0.0-r0@local
Can you share the failing config?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was referring to the resulting
/etc/apk/world
.But you are right that this particular line I commented on isn't the culprit, as after looking a lot more into this, I can confidently say that this goes way deeper.
It is inherently confusing to have slight ordering differences across the codebase.
A minimal example and reproducer is:
Thanks to this PR here,
apko lock
andapko build
are no longer failing. That's lovely and all.But it doesn't fix the underlying cause, unfortunately.
The resulting
/etc/apk/world
look something like this (v0.23.0
, based on theAPKINDEX
at the time of writing):As pointed out in my previous comment,
alpine-base=3.22.0_alpha20250108-r0@testing
is an invalid entry as perapk-world(5)
.If you run
apk upgrade
,apk fix
orapk add <some other package>
in a given container with that/etc/apk/world
,apk
will remove that entry and dependencies.With
alpine-base
being the only package in the example provided,apk
will delete everything, resulting in an unusable environment.So far, I came up with the following diff to fix the underlying cause.
Though I would have to check
Though given the lack of code coverage, this could also cause regressions in some unexpected way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@emilylange Thanks for the detailed explanation! I think this needs its own ticket and maybe even a discussion in the #apko Slack channel. Since this is a merged ticket, there’s a good chance the right people might not see it. Would be great to get more visibility on this.