Skip to content
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

build: update base image to Fedora 41 #244

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

bcressey
Copy link
Contributor

Issue number:
Fixes: #238

Description of changes:
The largest breaking change from the Fedora 41 update is covered by #241, which is safe to merge independently from this, and therefore doesn't need to be reverted if this is reverted.

That leaves a bunch of minor changes:

  • Deal with the behavior change in rpm2cpio from RPM 4.20: files are now prefixed with "./", and when extracting a subset of files, this prefix must be provided or no match will be found.
  • Undefine %_auto_set_build_flags in the default macros, since it's no longer trivial to do so downstream, and they clash with the required build flags for cross-compiling.
  • efitools is not used downstream and is no longer available in Fedora, so drop it.
  • The OpenSSL ENGINE API headers are no longer installed by default, so add them back. They can be dropped again when we update the AWS SDK for C++ with a new-enough version of s2n, which is not yet available.
  • The gold linker is no longer installed by default, so add a Go patch so that it's not preferred on aarch64.

Testing done:
Built kits and variants, albeit with some minor changes required downstream.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

Deal with the behavior change in `rpm2cpio` from RPM 4.20: files are
now prefixed with "./", and when extracting a subset of files, this
prefix must be provided or no match will be found.

Undefine %_auto_set_build_flags in the default macros, since it's no
longer trivial to do so downstream, and they clash with the required
build flags for cross-compiling.

efitools is not used downstream and is no longer available in Fedora,
so drop it.

The OpenSSL ENGINE API headers are no longer installed by default, so
add them back. They can be dropped again when we update the AWS SDK
for C++ with a new-enough version of s2n, which is not yet available.

The gold linker is no longer installed by default, so add a Go patch
so that it's not preferred on aarch64.

Signed-off-by: Ben Cressey <[email protected]>
Copy link
Contributor

@cbgbt cbgbt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Built kits and variants, albeit with some minor changes required downstream.

Is this referring to bottlerocket-os/twoliter#457? Or are there other potential backwards incompatibilities here?

Comment on lines +21 to +29
- // https://sourceware.org/bugzilla/show_bug.cgi?id=19962
- // https://go.dev/issue/22040
- altLinker = "gold"
-
- // If gold is not installed, gcc will silently switch
- // back to ld.bfd. So we parse the version information
- // and provide a useful error if gold is missing.
+ // Use ld.bfd as the default linker
+ altLinker = "bfd"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the context in the linked issues, I assume upstream will probably also converge back to bfd. Seems like the reason for the switch to gold in the first place is resolved upstream, and gold is on a deprecation path.

@bcressey
Copy link
Contributor Author

Is this referring to bottlerocket-os/twoliter#457? Or are there other potential backwards incompatibilities here?

I've related all the downstream pull requests to this one. Besides Twoliter, the kernel kit took the brunt of it - lots of rpm2cpio usage plus one of the kernel configs was using SHA-1 which is now blocked by the default security policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

update base image to Fedora 41
3 participants