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

guix: switch to 6.1 kernel headers over 5.15 #28786

Merged
merged 1 commit into from
Nov 13, 2023

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Nov 3, 2023

6.1 is the current longterm release: https://kernel.org/.

Note that using an older version of the kernel headers inside Guix, is not a "hack" for compatibility, and is explicitly recommended against by glibc:

https://sourceware.org/glibc/wiki/FAQ#What_version_of_the_Linux_kernel_headers_should_be_used.3F.

so using the latest version of the longterm headers seems appropriate.

The last time we changed this was when we consolidated all builds to 5.15, in #25006.

6.1 is the current longterm release: https://kernel.org/.

Note that using an older version of the kernel headers inside Guix, is
not a "hack" for compatibility, and is explicitly recommended against by glibc:

https://sourceware.org/glibc/wiki/FAQ#What_version_of_the_Linux_kernel_headers_should_be_used.3F.

so using the latest version of the longterm headers seems appropriate.

The last time we changed this was when we consolidated all builds to
5.15, in bitcoin#25006.
@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 3, 2023

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK TheCharlatan

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #27897 (guix: use GCC 12.3.0 to build releases by fanquake)
  • #25972 (build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set by fanquake)
  • #25573 ([POC] guix: produce a fully -static-pie bitcoind by fanquake)
  • #25391 (guix: Use LTO to build releases by fanquake)
  • #24123 (build: Pointer Authentication and Branch Target Identification for aarch64 Linux (Guix) by fanquake)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@maflcko
Copy link
Member

maflcko commented Nov 3, 2023

Is there a way to just use the latest headers or the latest LTS header, so that this is automatically and implicitly done in a time-machine bump?

@fanquake
Copy link
Member Author

fanquake commented Nov 3, 2023

I can't see anything obvious that would do that. Currently the only non-versioned package in Guix (linux-kernel-headers), is a pinned, older version of the 5.15.x branch.

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 4, 2023

Guix builds (on x86_64)

File commit d9007f5
(master)
commit 0f65c82
(master and this pull)
SHA256SUMS.part e05119246607932d... 3e12be3ee9ee124b...
*-aarch64-linux-gnu-debug.tar.gz 035c85057e4fdf2a... 603cc2b4317f8f3e...
*-aarch64-linux-gnu.tar.gz 51ca4d401c5fa669... 21cb7b588a0b2cec...
*-arm-linux-gnueabihf-debug.tar.gz 2ff1ef4e4c5487b4... 7a1295049c8aa020...
*-arm-linux-gnueabihf.tar.gz 48ea629fdd0a095e... 46249267ef4dd6a2...
*-arm64-apple-darwin-unsigned.tar.gz b422a94abf634cd1... 7c4489edca35b9e4...
*-arm64-apple-darwin-unsigned.zip ced1f08c48d4573a... 8dcd2c494a19e438...
*-arm64-apple-darwin.tar.gz f75cfd21d2d024c2... d25dda2a612b9739...
*-powerpc64-linux-gnu-debug.tar.gz 726bc541c2e4768a... 6b019e816355d7b0...
*-powerpc64-linux-gnu.tar.gz 16c3de2526ebf3a9... ed865656bb37ce42...
*-powerpc64le-linux-gnu-debug.tar.gz e5aab3135247752b... ff476ea957700365...
*-powerpc64le-linux-gnu.tar.gz b9ddfa676832c14b... affd56cbe9de57a7...
*-riscv64-linux-gnu-debug.tar.gz 9c78f753dcd03402... 6ede1271afa37907...
*-riscv64-linux-gnu.tar.gz 802b0fa55ab58c47... 7ab9782de6c78d28...
*-x86_64-apple-darwin-unsigned.tar.gz 973f8a6262e168b5... eecf492fb67cfb18...
*-x86_64-apple-darwin-unsigned.zip 7511dd822d6af35e... a0760973b13f8299...
*-x86_64-apple-darwin.tar.gz fdabb5c5a71ab25d... e6b30380b5929aba...
*-x86_64-linux-gnu-debug.tar.gz 0cf1833c2c953e58... fbc4dc7f70d1167e...
*-x86_64-linux-gnu.tar.gz d09b069fa75c008a... 1bc773237f5eebe8...
*.tar.gz 7505bb94fbf8cce2... 15427964453adbdb...
guix_build.log 7fca90853bc98b92... eb23440ef69a9a31...
guix_build.log.diff b1193308af926cce...

@fanquake
Copy link
Member Author

fanquake commented Nov 6, 2023

I can't see anything obvious that would do that.

Sent a patch upstream, https://lists.gnu.org/archive/html/guix-patches/2023-11/msg00362.html, to see if we can get some unversioned pointers to stable/longterm added.

@Sjors
Copy link
Member

Sjors commented Nov 7, 2023

Some hashes
9aba5e0ea27cbf609baac52e65f0eb63bc42aa7e1865108422d30b0bad01a7da  guix-build-380e3655631b/output/aarch64-linux-gnu/SHA256SUMS.part
67644dd783c781ba6ae6bffa91204d3add423fe856b3aac09cb18c5f6db18599  guix-build-380e3655631b/output/aarch64-linux-gnu/bitcoin-380e3655631b-aarch64-linux-gnu-debug.tar.gz
0130236c032fbdcb5b791510d2ecf61239b434a1996b4b35ad7e7996680d339f  guix-build-380e3655631b/output/aarch64-linux-gnu/bitcoin-380e3655631b-aarch64-linux-gnu.tar.gz
fbeb174fde15b7cdea605592c300edcbb4beeaf02227417412ffd280baa40d8b  guix-build-380e3655631b/output/arm-linux-gnueabihf/SHA256SUMS.part
b5d10361ad2a3ccc61f3426734a0afabb8a46ab5e45af03dc265b0d1dab4b52b  guix-build-380e3655631b/output/arm-linux-gnueabihf/bitcoin-380e3655631b-arm-linux-gnueabihf-debug.tar.gz
e2af702a9573a4487829b45791d256df80ae20185bc9c4d0a6ae377be7b4f482  guix-build-380e3655631b/output/arm-linux-gnueabihf/bitcoin-380e3655631b-arm-linux-gnueabihf.tar.gz
36a231258aa347f48e4beca38792abc17438dfb3e5a96b67512406512e22f460  guix-build-380e3655631b/output/arm64-apple-darwin/SHA256SUMS.part
471f3ff866c29de8c52637b104515a371f7c50edbc8ced0e712f640917552487  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin-unsigned.tar.gz
b9e1bb9f0c4b2c60099ee0778c44650c61010a8ebe96b73a924a4a0d9adaae76  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin-unsigned.zip
50e30e85a7723e5c1fe1187a4134d677e8cf61c389453a2cf4071f06e6cd7da0  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin.tar.gz
4bb858ca43091bd6a92bda8810629bf55666b225b774f2823e94d852bd107e75  guix-build-380e3655631b/output/dist-archive/bitcoin-380e3655631b.tar.gz
28628e7619d0e647edd6d0880d5bd927c45cc6b5ba63be917a7ed15167be2d5b  guix-build-380e3655631b/output/powerpc64-linux-gnu/SHA256SUMS.part
efd85c781dd71ef7873ecc6cf35b889749ef1f1f2a426434c36fc74c43280258  guix-build-380e3655631b/output/powerpc64-linux-gnu/bitcoin-380e3655631b-powerpc64-linux-gnu-debug.tar.gz
c8c8bba318c422c0d63b1dac14a4867672a66686d767ce2be0861fd92884ee5a  guix-build-380e3655631b/output/powerpc64-linux-gnu/bitcoin-380e3655631b-powerpc64-linux-gnu.tar.gz
61e5880ffa56a75cfaa4f1e288f07715fe168f329f7f8849f1c27a90bd6a5519  guix-build-380e3655631b/output/powerpc64le-linux-gnu/SHA256SUMS.part
39cc792f03235f89c3916ff0684c1e9164be7c9e0cdbb79e731b0cf9cbd731c8  guix-build-380e3655631b/output/powerpc64le-linux-gnu/bitcoin-380e3655631b-powerpc64le-linux-gnu-debug.tar.gz
c9264d09dd799b6743de95cecec173a98c373b99cbd319bbeea23a8f887db33c  guix-build-380e3655631b/output/powerpc64le-linux-gnu/bitcoin-380e3655631b-powerpc64le-linux-gnu.tar.gz
725f86d115c4b8a99c937cbb00b1592deb293a3418665808ad29ab3e625d04e2  guix-build-380e3655631b/output/riscv64-linux-gnu/SHA256SUMS.part
320efc094895b0f570ea0661c498126fb67a9264836fb40b7706ba611599181b  guix-build-380e3655631b/output/riscv64-linux-gnu/bitcoin-380e3655631b-riscv64-linux-gnu-debug.tar.gz
64e6914feb9dc83bb7d7fdd2197e7070fcbf04d054bfadadad8d5712320f8c48  guix-build-380e3655631b/output/riscv64-linux-gnu/bitcoin-380e3655631b-riscv64-linux-gnu.tar.gz
7b0f5d42ce599229c53006ed2c4900193f6aa656502d437b2db613d1a3452764  guix-build-380e3655631b/output/x86_64-apple-darwin/SHA256SUMS.part
32f8ec66c0244926e27f14a6078c1eb62fedc753343e2f0db04e876c0e10279e  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin-unsigned.tar.gz
a09f4139b863dfa3cf5d70cbce66640d0aa21bb7e184466caf804a20afbb317e  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin-unsigned.zip
0f5f17cd52d1cbb159e3badbca7bf3d42b86ab133c0e2da5cb2cafc1d8420200  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin.tar.gz
1952bdb78bc0491afa9c8131e7407392ce1e7ffbd52957599f42e02d79544870  guix-build-380e3655631b/output/x86_64-linux-gnu/SHA256SUMS.part
7b07b25960b17243aa29ed66add2c6f30368efbd86d10cd7e0567786f72dcf57  guix-build-380e3655631b/output/x86_64-linux-gnu/bitcoin-380e3655631b-x86_64-linux-gnu-debug.tar.gz
d84b090743719fc9f2fde8f29e9e1a81c607169f81bb4c6d5e090666227772a8  guix-build-380e3655631b/output/x86_64-linux-gnu/bitcoin-380e3655631b-x86_64-linux-gnu.tar.gz
5f553e857bdb769f3c6db42c91e5d1a79f0d894e6ab7328c054966beeac277f0  guix-build-380e3655631b/output/x86_64-w64-mingw32/SHA256SUMS.part
71ef02b76aef304ab977adb7a5dbd64804ca74c5466cc70520cbb94e5f299a0b  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-debug.zip
0af0520623129214ee697afe9d6cb747b438cedd7fc76927003346f13ecb9f0d  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-setup-unsigned.exe
d371bbf24b2cdb70813b4acd9241dcad15a4826d743ffd5f182aeaad2a186670  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-unsigned.tar.gz
cea0acc4f14815e4161c86fa5c10b05f5e13895bc6c0888e1d198fcc8d6fa674  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64.zip

@TheCharlatan
Copy link
Contributor

Guix builds (aarch64)

find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
9aba5e0ea27cbf609baac52e65f0eb63bc42aa7e1865108422d30b0bad01a7da  guix-build-380e3655631b/output/aarch64-linux-gnu/SHA256SUMS.part
67644dd783c781ba6ae6bffa91204d3add423fe856b3aac09cb18c5f6db18599  guix-build-380e3655631b/output/aarch64-linux-gnu/bitcoin-380e3655631b-aarch64-linux-gnu-debug.tar.gz
0130236c032fbdcb5b791510d2ecf61239b434a1996b4b35ad7e7996680d339f  guix-build-380e3655631b/output/aarch64-linux-gnu/bitcoin-380e3655631b-aarch64-linux-gnu.tar.gz
fbeb174fde15b7cdea605592c300edcbb4beeaf02227417412ffd280baa40d8b  guix-build-380e3655631b/output/arm-linux-gnueabihf/SHA256SUMS.part
b5d10361ad2a3ccc61f3426734a0afabb8a46ab5e45af03dc265b0d1dab4b52b  guix-build-380e3655631b/output/arm-linux-gnueabihf/bitcoin-380e3655631b-arm-linux-gnueabihf-debug.tar.gz
e2af702a9573a4487829b45791d256df80ae20185bc9c4d0a6ae377be7b4f482  guix-build-380e3655631b/output/arm-linux-gnueabihf/bitcoin-380e3655631b-arm-linux-gnueabihf.tar.gz
36a231258aa347f48e4beca38792abc17438dfb3e5a96b67512406512e22f460  guix-build-380e3655631b/output/arm64-apple-darwin/SHA256SUMS.part
471f3ff866c29de8c52637b104515a371f7c50edbc8ced0e712f640917552487  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin-unsigned.tar.gz
b9e1bb9f0c4b2c60099ee0778c44650c61010a8ebe96b73a924a4a0d9adaae76  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin-unsigned.zip
50e30e85a7723e5c1fe1187a4134d677e8cf61c389453a2cf4071f06e6cd7da0  guix-build-380e3655631b/output/arm64-apple-darwin/bitcoin-380e3655631b-arm64-apple-darwin.tar.gz
4bb858ca43091bd6a92bda8810629bf55666b225b774f2823e94d852bd107e75  guix-build-380e3655631b/output/dist-archive/bitcoin-380e3655631b.tar.gz
28628e7619d0e647edd6d0880d5bd927c45cc6b5ba63be917a7ed15167be2d5b  guix-build-380e3655631b/output/powerpc64-linux-gnu/SHA256SUMS.part
efd85c781dd71ef7873ecc6cf35b889749ef1f1f2a426434c36fc74c43280258  guix-build-380e3655631b/output/powerpc64-linux-gnu/bitcoin-380e3655631b-powerpc64-linux-gnu-debug.tar.gz
c8c8bba318c422c0d63b1dac14a4867672a66686d767ce2be0861fd92884ee5a  guix-build-380e3655631b/output/powerpc64-linux-gnu/bitcoin-380e3655631b-powerpc64-linux-gnu.tar.gz
61e5880ffa56a75cfaa4f1e288f07715fe168f329f7f8849f1c27a90bd6a5519  guix-build-380e3655631b/output/powerpc64le-linux-gnu/SHA256SUMS.part
39cc792f03235f89c3916ff0684c1e9164be7c9e0cdbb79e731b0cf9cbd731c8  guix-build-380e3655631b/output/powerpc64le-linux-gnu/bitcoin-380e3655631b-powerpc64le-linux-gnu-debug.tar.gz
c9264d09dd799b6743de95cecec173a98c373b99cbd319bbeea23a8f887db33c  guix-build-380e3655631b/output/powerpc64le-linux-gnu/bitcoin-380e3655631b-powerpc64le-linux-gnu.tar.gz
725f86d115c4b8a99c937cbb00b1592deb293a3418665808ad29ab3e625d04e2  guix-build-380e3655631b/output/riscv64-linux-gnu/SHA256SUMS.part
320efc094895b0f570ea0661c498126fb67a9264836fb40b7706ba611599181b  guix-build-380e3655631b/output/riscv64-linux-gnu/bitcoin-380e3655631b-riscv64-linux-gnu-debug.tar.gz
64e6914feb9dc83bb7d7fdd2197e7070fcbf04d054bfadadad8d5712320f8c48  guix-build-380e3655631b/output/riscv64-linux-gnu/bitcoin-380e3655631b-riscv64-linux-gnu.tar.gz
7b0f5d42ce599229c53006ed2c4900193f6aa656502d437b2db613d1a3452764  guix-build-380e3655631b/output/x86_64-apple-darwin/SHA256SUMS.part
32f8ec66c0244926e27f14a6078c1eb62fedc753343e2f0db04e876c0e10279e  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin-unsigned.tar.gz
a09f4139b863dfa3cf5d70cbce66640d0aa21bb7e184466caf804a20afbb317e  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin-unsigned.zip
0f5f17cd52d1cbb159e3badbca7bf3d42b86ab133c0e2da5cb2cafc1d8420200  guix-build-380e3655631b/output/x86_64-apple-darwin/bitcoin-380e3655631b-x86_64-apple-darwin.tar.gz
1952bdb78bc0491afa9c8131e7407392ce1e7ffbd52957599f42e02d79544870  guix-build-380e3655631b/output/x86_64-linux-gnu/SHA256SUMS.part
7b07b25960b17243aa29ed66add2c6f30368efbd86d10cd7e0567786f72dcf57  guix-build-380e3655631b/output/x86_64-linux-gnu/bitcoin-380e3655631b-x86_64-linux-gnu-debug.tar.gz
d84b090743719fc9f2fde8f29e9e1a81c607169f81bb4c6d5e090666227772a8  guix-build-380e3655631b/output/x86_64-linux-gnu/bitcoin-380e3655631b-x86_64-linux-gnu.tar.gz
5f553e857bdb769f3c6db42c91e5d1a79f0d894e6ab7328c054966beeac277f0  guix-build-380e3655631b/output/x86_64-w64-mingw32/SHA256SUMS.part
71ef02b76aef304ab977adb7a5dbd64804ca74c5466cc70520cbb94e5f299a0b  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-debug.zip
0af0520623129214ee697afe9d6cb747b438cedd7fc76927003346f13ecb9f0d  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-setup-unsigned.exe
d371bbf24b2cdb70813b4acd9241dcad15a4826d743ffd5f182aeaad2a186670  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64-unsigned.tar.gz
cea0acc4f14815e4161c86fa5c10b05f5e13895bc6c0888e1d198fcc8d6fa674  guix-build-380e3655631b/output/x86_64-w64-mingw32/bitcoin-380e3655631b-win64.zip

Copy link
Contributor

@TheCharlatan TheCharlatan left a comment

Choose a reason for hiding this comment

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

ACK 380e365

Agree that this should just be done implicitly with a time machine bump.

@luke-jr
Copy link
Member

luke-jr commented Nov 8, 2023

Note that using an older version of the kernel headers inside Guix, is not a "hack" for compatibility, and is explicitly recommended against by glibc:

Yet boost doesn't make the same compatibility guarantees, and needs to be checked.

@fanquake
Copy link
Member Author

Sent a patch upstream, https://lists.gnu.org/archive/html/guix-patches/2023-11/msg00362.html, to see if we can get some unversioned pointers to stable/longterm added.

No traction on this yet, going to move forward here.

Yet boost doesn't make the same compatibility guarantees, and needs to be checked.

I haven't seen anything that would cause issues, let me know / open an issue if you see otherwise.

@fanquake fanquake merged commit 95a3934 into bitcoin:master Nov 13, 2023
16 checks passed
@fanquake fanquake deleted the linux_headers_6_1_longterm branch November 13, 2023 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants