prepare for more architectures

This commit is contained in:
Jan Alexander Steffens (heftig)
2026-02-12 04:20:15 +01:00
parent 406e8b61fc
commit 13522f0b40
4 changed files with 38 additions and 25 deletions

View File

@@ -28,7 +28,6 @@ pkgbase = linux
source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.9.tar.sign source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.9.tar.sign
source = https://github.com/archlinux/linux/releases/download/v6.18.9-arch1/linux-v6.18.9-arch1.patch.zst source = https://github.com/archlinux/linux/releases/download/v6.18.9-arch1/linux-v6.18.9-arch1.patch.zst
source = https://github.com/archlinux/linux/releases/download/v6.18.9-arch1/linux-v6.18.9-arch1.patch.zst.sig source = https://github.com/archlinux/linux/releases/download/v6.18.9-arch1/linux-v6.18.9-arch1.patch.zst.sig
source = config
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
validpgpkeys = 83BC8889351B5DEBBB68416EB8AC08600F108CDF validpgpkeys = 83BC8889351B5DEBBB68416EB8AC08600F108CDF
@@ -36,18 +35,19 @@ pkgbase = linux
sha256sums = SKIP sha256sums = SKIP
sha256sums = 4815407239a6df15f8e0362ff652f9faf2e558fd774b08645e80ca664128e390 sha256sums = 4815407239a6df15f8e0362ff652f9faf2e558fd774b08645e80ca664128e390
sha256sums = SKIP sha256sums = SKIP
sha256sums = 9fed188f89847418aaf6416b64457a30bee34dcd0fa42a84dbd0f4dfca063402
b2sums = 9aed902e41583597cb7595efe77504630a621993d20f89365a93cf2ea4d9790a6361d93cbb7fd7603881a4f82b76394b7e12fb4e4a88c9fedb2d63d64a9d49d3 b2sums = 9aed902e41583597cb7595efe77504630a621993d20f89365a93cf2ea4d9790a6361d93cbb7fd7603881a4f82b76394b7e12fb4e4a88c9fedb2d63d64a9d49d3
b2sums = SKIP b2sums = SKIP
b2sums = 0e9a6bbc9baf4e6706699257e811dcdb7d7e6c946a45f660ee56c564d907efaaac53387b29668ca3fc3082c5badc30ee082dac9d8de2bde72c79365af4050b47 b2sums = 0e9a6bbc9baf4e6706699257e811dcdb7d7e6c946a45f660ee56c564d907efaaac53387b29668ca3fc3082c5badc30ee082dac9d8de2bde72c79365af4050b47
b2sums = SKIP b2sums = SKIP
b2sums = bef3377ad86440af76e9dde4c29c9f4aaad42f5fe343f7d31f5eb537d6d358602f996f5d63986af275f2e92f94e71dc28c320edc8c03d05bd64dbd8ed23d75dc source_x86_64 = config.x86_64
b2sums_x86_64 = bef3377ad86440af76e9dde4c29c9f4aaad42f5fe343f7d31f5eb537d6d358602f996f5d63986af275f2e92f94e71dc28c320edc8c03d05bd64dbd8ed23d75dc
pkgname = linux pkgname = linux
pkgdesc = The Linux kernel and modules pkgdesc = The Linux kernel and modules
depends = coreutils depends = coreutils
depends = initramfs depends = initramfs
depends = kmod depends = kmod
optdepends = linux-headers: headers and scripts for building modules
optdepends = linux-firmware: firmware images needed for some devices optdepends = linux-firmware: firmware images needed for some devices
optdepends = scx-scheds: to use sched-ext schedulers optdepends = scx-scheds: to use sched-ext schedulers
optdepends = wireless-regdb: to set the correct wireless channels of your country optdepends = wireless-regdb: to set the correct wireless channels of your country

View File

@@ -5,7 +5,9 @@ pkgver=6.18.9.arch1
pkgrel=2 pkgrel=2
pkgdesc='Linux' pkgdesc='Linux'
url='https://github.com/archlinux/linux' url='https://github.com/archlinux/linux'
arch=(x86_64) arch=(
x86_64
)
license=(GPL-2.0-only) license=(GPL-2.0-only)
makedepends=( makedepends=(
bc bc
@@ -37,24 +39,24 @@ _srctag=v${pkgver%.*}-${pkgver##*.}
source=( source=(
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
$url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig} $url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig}
config # the main kernel config file
) )
source_x86_64=(config.x86_64)
validpgpkeys=( validpgpkeys=(
ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds
647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman
83BC8889351B5DEBBB68416EB8AC08600F108CDF # Jan Alexander Steffens (heftig) 83BC8889351B5DEBBB68416EB8AC08600F108CDF # Jan Alexander Steffens (heftig)
) )
b2sums=('9aed902e41583597cb7595efe77504630a621993d20f89365a93cf2ea4d9790a6361d93cbb7fd7603881a4f82b76394b7e12fb4e4a88c9fedb2d63d64a9d49d3'
'SKIP'
'0e9a6bbc9baf4e6706699257e811dcdb7d7e6c946a45f660ee56c564d907efaaac53387b29668ca3fc3082c5badc30ee082dac9d8de2bde72c79365af4050b47'
'SKIP')
b2sums_x86_64=('bef3377ad86440af76e9dde4c29c9f4aaad42f5fe343f7d31f5eb537d6d358602f996f5d63986af275f2e92f94e71dc28c320edc8c03d05bd64dbd8ed23d75dc')
# https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc # https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256sums=('030115ff8fb4cb536d8449dc40ebc3e314e86ba1b316a6ae21091a11cc930578' sha256sums=('030115ff8fb4cb536d8449dc40ebc3e314e86ba1b316a6ae21091a11cc930578'
'SKIP' 'SKIP'
'4815407239a6df15f8e0362ff652f9faf2e558fd774b08645e80ca664128e390' '4815407239a6df15f8e0362ff652f9faf2e558fd774b08645e80ca664128e390'
'SKIP' 'SKIP')
'9fed188f89847418aaf6416b64457a30bee34dcd0fa42a84dbd0f4dfca063402')
b2sums=('9aed902e41583597cb7595efe77504630a621993d20f89365a93cf2ea4d9790a6361d93cbb7fd7603881a4f82b76394b7e12fb4e4a88c9fedb2d63d64a9d49d3'
'SKIP'
'0e9a6bbc9baf4e6706699257e811dcdb7d7e6c946a45f660ee56c564d907efaaac53387b29668ca3fc3082c5badc30ee082dac9d8de2bde72c79365af4050b47'
'SKIP'
'bef3377ad86440af76e9dde4c29c9f4aaad42f5fe343f7d31f5eb537d6d358602f996f5d63986af275f2e92f94e71dc28c320edc8c03d05bd64dbd8ed23d75dc')
export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_USER=$pkgbase
@@ -78,9 +80,9 @@ prepare() {
done done
echo "Setting config..." echo "Setting config..."
cp ../config .config cp ../config.$CARCH .config
make olddefconfig make olddefconfig
diff -u ../config .config || : diff -u ../config.$CARCH .config || :
make -s kernelrelease > version make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)" echo "Prepared $pkgbase version $(<version)"
@@ -101,6 +103,7 @@ _package() {
kmod kmod
) )
optdepends=( optdepends=(
"$pkgbase-headers: headers and scripts for building modules"
'linux-firmware: firmware images needed for some devices' 'linux-firmware: firmware images needed for some devices'
'scx-scheds: to use sched-ext schedulers' 'scx-scheds: to use sched-ext schedulers'
'wireless-regdb: to set the correct wireless channels of your country' 'wireless-regdb: to set the correct wireless channels of your country'
@@ -143,24 +146,32 @@ _package-headers() {
cd $_srcname cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build" local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
local karch
case $CARCH in
x86_64) karch=x86 ;;
*) echo "Unknown CARCH $CARCH"; exit 1 ;;
esac
echo "Installing build files..." echo "Installing build files..."
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux tools/bpf/bpftool/vmlinux.h localversion.* version vmlinux tools/bpf/bpftool/vmlinux.h
install -Dt "$builddir/kernel" -m644 kernel/Makefile install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile install -Dt "$builddir/arch/$karch" -m644 arch/$karch/Makefile
cp -t "$builddir" -a scripts cp -t "$builddir" -a scripts
ln -srt "$builddir" "$builddir/scripts/gdb/vmlinux-gdb.py" ln -srt "$builddir" "$builddir/scripts/gdb/vmlinux-gdb.py"
# required when STACK_VALIDATION is enabled if [[ $(scripts/config -s CONFIG_HAVE_STACK_VALIDATION) = y ]]; then
install -Dt "$builddir/tools/objtool" tools/objtool/objtool install -Dt "$builddir/tools/objtool" tools/objtool/objtool
fi
# required when DEBUG_INFO_BTF_MODULES is enabled if [[ $(scripts/config -s CONFIG_DEBUG_INFO_BTF_MODULES) = y ]]; then
install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
fi
echo "Installing headers..." echo "Installing headers..."
cp -t "$builddir" -a include cp -t "$builddir" -a include
cp -t "$builddir/arch/x86" -a arch/x86/include cp -t "$builddir/arch/$karch" -a arch/$karch/include
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s install -Dt "$builddir/arch/$karch/kernel" -m644 arch/$karch/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
@@ -180,8 +191,10 @@ _package-headers() {
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
echo "Installing Rust files..." echo "Installing Rust files..."
if [[ $(scripts/config -s CONFIG_RUST) = y ]]; then
install -Dt "$builddir/rust" -m644 rust/*.rmeta install -Dt "$builddir/rust" -m644 rust/*.rmeta
install -Dt "$builddir/rust" rust/*.so install -Dt "$builddir/rust" rust/*.so
fi
echo "Installing unstripped VDSO..." echo "Installing unstripped VDSO..."
make INSTALL_MOD_PATH="$pkgdir/usr" vdso_install \ make INSTALL_MOD_PATH="$pkgdir/usr" vdso_install \
@@ -190,7 +203,7 @@ _package-headers() {
echo "Removing unneeded architectures..." echo "Removing unneeded architectures..."
local arch local arch
for arch in "$builddir"/arch/*/; do for arch in "$builddir"/arch/*/; do
[[ $arch = */x86/ ]] && continue [[ $arch = */$karch/ ]] && continue
echo "Removing $(basename "$arch")" echo "Removing $(basename "$arch")"
rm -r "$arch" rm -r "$arch"
done done

View File

@@ -17,8 +17,8 @@ path = [
"*.timer", "*.timer",
"*.desktop", "*.desktop",
"*.hook", "*.hook",
"config",
".gitignore", ".gitignore",
"config.*",
] ]
SPDX-FileCopyrightText = "Arch Linux contributors" SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD" SPDX-License-Identifier = "0BSD"