Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7854>
126 lines
3.7 KiB
Bash
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
|
|
"
|