From 39d9d4a84fb8780da4228289daf423aaf28d739f Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Sat, 4 Nov 2023 14:08:39 +0000 Subject: user/spack: fix broken 'linux-headers' package. See: https://github.com/spack/spack/issues/40334 Also: * Upstream Spack assumes that 'linux-headers' is always installed on the system, since it is a dependency of glibc. As 'openssl' requires it, make the dependency explicit. There are likely many more occurrences of this that should be reported and fixed upstream. --- user/spack/40877.patch | 26 +++++++++++++++++++++++++ user/spack/APKBUILD | 7 +++++-- user/spack/openssl-explicit-linux-headers.patch | 12 ++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 user/spack/40877.patch create mode 100644 user/spack/openssl-explicit-linux-headers.patch (limited to 'user') diff --git a/user/spack/40877.patch b/user/spack/40877.patch new file mode 100644 index 000000000..4aa4368ff --- /dev/null +++ b/user/spack/40877.patch @@ -0,0 +1,26 @@ +From 1af592210d9190147e097fe26ddaa583a962557e Mon Sep 17 00:00:00 2001 +From: Zach van Rijn +Date: Fri, 3 Nov 2023 19:06:46 -0500 +Subject: [PATCH] linux-headers: support multiple versions (#40334) + +The download URL for linux-headers was hardcoded to 4.x; +we need to derive the correct URL from the version number. +--- + var/spack/repos/builtin/packages/linux-headers/package.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py +index 1236a25ce691e..8e1d995695b06 100644 +--- a/var/spack/repos/builtin/packages/linux-headers/package.py ++++ b/var/spack/repos/builtin/packages/linux-headers/package.py +@@ -20,6 +20,10 @@ class LinuxHeaders(Package): + version("6.2.8", sha256="fed0ad87d42f83a70ce019ff2800bc30a855e672e72bf6d54a014d98d344f665") + version("4.9.10", sha256="bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525") + ++ def url_for_version(self, version): ++ url = "https://www.kernel.org/pub/linux/kernel/v{0}.x/linux-{1}.tar.xz" ++ return url.format(version.up_to(1), version) ++ + def setup_build_environment(self, env): + # This variable is used in the Makefile. If it is defined on the + # system, it can break the build if there is no build recipe for diff --git a/user/spack/APKBUILD b/user/spack/APKBUILD index 265d5fb17..c7be74b7a 100644 --- a/user/spack/APKBUILD +++ b/user/spack/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Zach van Rijn pkgname=spack pkgver=0.20.3_p1 -pkgrel=4 +pkgrel=5 pkgdesc="A flexible package manager for supercomputers." url="https://spack.io/" arch="all" @@ -12,14 +12,15 @@ makedepends="python3-dev" depends="$makedepends gcc g++ gfortran bzip2 file git gnupg gzip libarchive-tools make patch unzip xz - linux-headers " subpackages="" # https://git.adelielinux.org/adelie/docs/-/wikis/Developer-Resources/Maintaining-Spack source="https://git.adelielinux.org/adelie/$pkgname/-/archive/adelie-v$pkgver/$pkgname-adelie-v$pkgver.tar.bz2 40841.patch + 40877.patch clingo-explicit-libatomic.patch archspec-fix-cpu-family-detection.patch + openssl-explicit-linux-headers.patch default-no-buildcache.patch default-adelie-upstream-git.patch @@ -70,8 +71,10 @@ package() { sha512sums="9629ee48d4f93158c4c2d3f14bc8755e33df1a82428337fc27495b7bbfba3f056c193b95bcb9f90025d89c7759fcf2ef09a1f1639880a8db87a786ee1bd138e2 spack-adelie-v0.20.3_p1.tar.bz2 195d9dd1da12be338169a4a2a0b12fece1fefd4ac6570111913ce0d50a8e007fc3320340573cee760d1eab55dddfcf7eed04221bd686a59d18d0ab2ef46f65a0 40841.patch +9381c627598e593f78daf03d1bb8dfa386006b4412a1bca70ae69d97b40e0ad827daf176c8c0e066b15917e2b5abbbae9006624a2d98afcabb3eb44618d6c179 40877.patch 30f6d193971bc6f2941141d0da50d339c459f2b9c6157cc2659a589bd2b546fba35d580cad79dd1bc74bcd9de7db31bc937418598d73b68c69876fee6a1c5c73 clingo-explicit-libatomic.patch a6503238d116b74ff9c4ecd08a984df90ce02f95c3e10e907481d99917c73339db1cc49f2b473a37875b92a9a6607cac72057c0a7b3d9a57d44c89ebe0ad3915 archspec-fix-cpu-family-detection.patch +8ded405082eec192187fb72896c68200985ee1226b2ef7da19ab43f31138972d5b4000cf997cb6e22664a7c100b52b842df07c44e188f87d4250f698d1885ea6 openssl-explicit-linux-headers.patch eec3e7dd818c39daea7b8d63b04a6c71d9eb3af32dd899cddc3642152252f4e2eebfd53c3c95365117f9a4826f6f29553f44373948e5c474388021302c8a5ce9 default-no-buildcache.patch eb09ce82d2c5c63c2cc63b2f82db2888f15ce82100311614f5a73773be2f605337811c4580e0d4eb2f87b730e7ce4afa6dcdc3f3f52321f63a29a2ad533ea5d4 default-adelie-upstream-git.patch 864ae8e73cd80560ed9c4ce03bc6ae8f58b928da348a261617e42b6a680f8cf18f48b120401fe7b4a3f3af260675922044dbd9abbc79b1d2e90f821c00569d5e config.yaml" diff --git a/user/spack/openssl-explicit-linux-headers.patch b/user/spack/openssl-explicit-linux-headers.patch new file mode 100644 index 000000000..763be9df3 --- /dev/null +++ b/user/spack/openssl-explicit-linux-headers.patch @@ -0,0 +1,12 @@ +diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py +index 21b076856a..e73c60a7c1 100644 +--- a/var/spack/repos/builtin/packages/openssl/package.py ++++ b/var/spack/repos/builtin/packages/openssl/package.py +@@ -380,6 +380,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package + depends_on("perl@5.14.0:", type=("build", "test")) + depends_on("ca-certificates-mozilla", type="build", when="certs=mozilla") + depends_on("nasm", when="platform=windows") ++ depends_on("linux-headers", when="platform=linux") + + patch( + "https://github.com/openssl/openssl/commit/f9e578e720bb35228948564192adbe3bc503d5fb.patch?full_index=1", -- cgit v1.2.3-70-g09d2