Files
pmaports-rtwo/device/main/linux-postmarketos-lts/APKBUILD
T

126 lines
3.7 KiB
Bash

# Co-Maintainer: Achill Gilgenast <achill@achill.org>
maintainer="Aelin <aelin@postmarketos.org>"
pkgname=linux-postmarketos-lts
pkgver=6.12.67
pkgrel=0
_kver=${pkgver%.*}
pkgdesc="LTS Kernel"
# armhf: pmbootstrap cannot dynamically choose a defconfig, so it ends up using multi_v7_defconfig which isn't correct
# s390x: kconfigcheck is not ready for it yet
arch="all !armhf !s390x"
_flavor="lts"
url="https://kernel.org"
license="GPL-2.0-only"
options="
!check
!strip
!tracedeps
pmb:cross-native
pmb:generic-kernel
pmb:kconfigcheck-community
pmb:kconfigcheck-immutable
pmb:kconfigcheck-rust
pmb:kconfigcheck-uefi
pmb:kconfigcheck-virt
"
# FIXME: remove bash dependency with upgrade to 6.18
makedepends="
bash
bison
clang
clang-libclang
diffutils
elfutils-dev
findutils
flex
linux-headers
lld
llvm
openssl-dev
pahole
perl
postmarketos-installkernel
python3
rust
rust-bindgen
rust-src
rustfmt
sed
zstd
"
# Source
source="
linux-$_kver.tar.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kver.tar.xz
config-lts.aarch64
config-lts.armv7
config-lts.loongarch64
config-lts.ppc64le
config-lts.riscv64
config-lts.x86
config-lts.x86_64
"
builddir="$srcdir/linux-$_kver"
_defconfig="defconfig"
if [ "${pkgver%.0}" = "$pkgver" ]; then
# Prepend to apply first
source="patch-$pkgver.patch.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz $source"
fi
case "$CARCH" in
aarch64*) _carch="arm64" ;;
arm*) _carch="arm" ;;
loongarch*) _carch="loongarch" ;;
ppc*) _carch="powerpc" ;;
riscv*) _carch="riscv" ;;
s390x) _carch="s390" ;;
x86) _carch="i386" ;;
x86_64) _carch="x86_64" ;;
esac
prepare() {
default_prepare
cp "$srcdir/config-$_flavor.$CARCH" .config
}
build() {
unset LDFLAGS
make ARCH="$_carch" LLVM=1 \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
}
package() {
local _install
case "$CARCH" in
arm*|aarch64|riscv*) _install="zinstall dtbs_install" ;;
*) _install="install" ;;
esac
make modules_install $_install \
ARCH="$_carch" \
LLVM=1 \
INSTALL_PATH="$pkgdir"/boot/ \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1 \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs-$_flavor
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
b3f7cd043f20708e7473baa3df8f4fbadbfef719625ef5d764340e0ddfcb6063e320f942cfff9e92a90d4a3565aafa7d122cf4a991317d1bfebbcd98c333edee patch-6.12.67.patch.xz
a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548 linux-6.12.tar.xz
f3a9d4515d5b17c906d510c396eeb7ea8825f0392243e1c02db3ffac4e59ec5fb312bfbc6be4f9307d74464a24f2e43c9cdfd494c631742ee68c4567d4f85578 config-lts.aarch64
5d514384695618911669971099ebbe495868214c2bd6195ef3478fd78b3cb3b5b2f59467d3cf4a6f8908f8d0ee246ecc8a25e757c4f59c8a1628005abf6db5bf config-lts.armv7
e36993ca7eb2b2da3fbb94de4c2b8e7c0c1d7292adf1bd46a1a635f6c37595fb87b6935a23212c733f49171fa5985abcf4c9bf1c9268305ca26c4dd9906d08a4 config-lts.loongarch64
1c21d557ff80a58b352b3858c4d0b355cecf07875286d3065c7d5e0ded5ed78449769543e2c347ef6ef36b68693349e30350520275baca1a05474accd92474fb config-lts.ppc64le
4d79a0c44a70e83a07474d9c0e77a63f6e4f5770031f295e7dc0dbe0d167f10f464edf54f8e7e0dfbcf6caafefc6e72a10bc174176403997226fab972fd3fa5b config-lts.riscv64
b1f5ff23e10a4477f2e274ae35699b02a09715cafb3f257454d1c8b915a497e70c2be278ba9b0814655bc8fdc7e4d2cd757b52bbd3f9e5bbb192f20174f0e877 config-lts.x86
2e38666b646dab3b1de1ac04dec40206e18d20f2d74ea56b9702b3f2ed8b53e0838eb0af947483a5cafa4b262f947446c24bc32ae7be0e41ce2f079389b6a6a2 config-lts.x86_64
"