# Maintainer: Chris Billington _pkgname=linux-lts _pkgver=6.6.30 _pkgrel=1 pkgbase="${_pkgname}-versioned-bin" KERNNAME="${_pkgver}-${_pkgrel}-lts" _versioned_pkgname="linux${_pkgver}-${_pkgrel}-lts" pkgname=("${_pkgname}-versioned-bin" "${_pkgname}-versioned-headers-bin" "${_pkgname}-versioned-docs-bin" "${_versioned_pkgname}-bin" "${_versioned_pkgname}-headers-bin" "${_versioned_pkgname}-docs-bin") pkgver=${_pkgver} pkgrel=${_pkgrel} pkgdesc="The LTS Linux kernel and modules | repackaged with a unique package name for each version" url="https://www.kernel.org" arch=(x86_64) license=(GPL2) options=('!strip') _kernpkg=${_pkgname}-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst _headerspkg=${_pkgname}-headers-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst _docspkg=${_pkgname}-docs-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst # See if the sources are available from our own mirror: _kernsrc=$(pacman -Spdd "${_pkgname}" 2> /dev/null) _headerssrc=$(pacman -Spdd "${_pkgname}-headers" 2> /dev/null) _docssrc=$(pacman -Spdd "${_pkgname}-docs" 2> /dev/null) # If not, then use the Arch Linux archive: if [ "$(basename "${_kernsrc}" 2> /dev/null)" != "${_kernpkg}" ]; then _arch_archive=https://archive.archlinux.org/packages/.all _kernsrc=${_arch_archive}/${_kernpkg} _headerssrc=${_arch_archive}/${_headerspkg} _docssrc=${_arch_archive}/${_docspkg} fi source=("${_kernsrc}" "${_headerssrc}" "${_docssrc}") noextract=("${source[@]##*/}") sha256sums=('0b4166eb98e08094b715edb4e537ced9f284af97339a1fe2268e0e9facfcd1f8' 'c4bc54cb296585e9dbb38cf9f1f922f350984f0e320074d4c88bfb4c585ae5ae' '19666cbd8ea8f7f659adb0404e324cc461d05c758fe10c2dab7476320636df8a') package_linux-lts-versioned-bin() { pkgdesc="Metapackage depending on ${_versioned_pkgname}-bin" depends=("${_versioned_pkgname}-bin") optdepends=('grub-hook: to run grub-mkconfig when kernels are added/removed') } package_linux-lts-versioned-headers-bin() { pkgdesc="Metapackage depending on ${_versioned_pkgname}-headers-bin" depends=("${_versioned_pkgname}-headers-bin") } package_linux-lts-versioned-docs-bin() { pkgdesc="Metapackage depending on ${_versioned_pkgname}-docs-bin" depends=("${_versioned_pkgname}-docs-bin") } package_linux6.6.30-1-lts-bin() { pkgdesc="The LTS Linux kernel and modules, version ${KERNNAME}" depends=(coreutils initramfs kmod) conflicts=("${_pkgname}") optdepends=('linux-firmware: firmware images needed for some devices' 'wireless-regdb: to set the correct wireless channels of your country') provides=(KSMBD-MODULE VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) replaces=(wireguard-lts) tar -xf "${_kernpkg}" -C "${pkgdir}" rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} sed -ic "s/${_pkgname}/${KERNNAME}/" "${pkgdir}/usr/lib/modules/${KERNNAME}/pkgbase" mv "${pkgdir}/usr/share/licenses/"{"${_pkgname}","${_versioned_pkgname}-bin"} } package_linux6.6.30-1-lts-headers-bin() { pkgdesc="Headers and scripts for building modules for the LTS Linux kernel ${KERNNAME}" depends=(pahole) conflicts=("${_pkgname}-headers") tar -xf "${_headerspkg}" -C "${pkgdir}" rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} mv "${pkgdir}/usr/src/"{"${_pkgname}","${_versioned_pkgname}"} mv "${pkgdir}/usr/share/licenses/"{"${_pkgname}-headers","${_versioned_pkgname}-headers-bin"} } package_linux6.6.30-1-lts-docs-bin() { pkgdesc="Documentation for the LTS Linux kernel ${KERNNAME}" conflicts=("${_pkgname}-docs") tar -xf "${_docspkg}" -C "${pkgdir}" rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} mv "${pkgdir}/usr/share/doc/"{"${_pkgname}","${_versioned_pkgname}"} mv "${pkgdir}/usr/share/licenses/"{"${_pkgname}-docs","${_versioned_pkgname}-docs-bin"} }