diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 116 |
1 files changed, 85 insertions, 31 deletions
@@ -1,18 +1,36 @@ # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org> pkgbase=linux-kentdobias -_kver=6.2.kd1 -_zver=2.1.9 +_kver=6.5.11 +_zver=2.2.0 pkgver="${_kver}_${_zver}" pkgrel=1 pkgdesc='Linux' -_srctag=v${_kver%.*}-${_kver##*.} -url="https://github.com/archlinux/linux/commits/$_srctag" +_srctag=v${_kver} +url='https://github.com/archlinux/linux' arch=(x86_64) license=(GPL2) makedepends=( - bc libelf pahole cpio perl tar xz gettext + bc + cpio + gettext + libelf + pahole + perl + python + tar + xz + + # htmldocs + graphviz + imagemagick + python-sphinx + texlive-latexextra + git + clang + llvm + lld ) options=('!strip') _srcname=kentdobias-linux @@ -22,27 +40,24 @@ source=( config # the main kernel config file ) validpgpkeys=( - 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds - '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman - 'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig) - 'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org> - '0E3A444DD0760E65901BF59679E824090BD31086' # Jaron Kent-Dobias + ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds + 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman + A2FF3A36AAA56654109064AB19802F8B0D70FC30 # Jan Alexander Steffens (heftig) + 0E3A444DD0760E65901BF59679E824090BD31086 # Jaron Kent-Dobias ) sha256sums=('SKIP' - '6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6' - '76268f9dc9a8e2d23abdb7f9210a5cf5768f33fdae660b5f5c610f86373b4679') + '42035fd059faa25a09cd511b24a57b8ad1285cb69127f2a0043b98562c5ec690' + '0baa4321ff0d6b2cedb101b8b82d6f5ebea17af70441ddf2b790f7baa23541b3') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" - -_make='make LLVM=1' +export LLVM=1 prepare() { cd $_srcname echo "Setting version..." - scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname @@ -50,6 +65,7 @@ prepare() { for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" + src="${src%.zst}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" @@ -57,7 +73,8 @@ prepare() { echo "Setting config..." cp ../config .config - $_make prepare + make olddefconfig + make prepare cd ../zfs-${_zver} ./autogen.sh @@ -73,44 +90,58 @@ prepare() { echo "Setting config..." cp ../config .config - $_make olddefconfig + + make olddefconfig diff -u ../config .config || : - $_make -s kernelrelease > version + make -s kernelrelease > version echo "Prepared $pkgbase version $(<version)" } build() { cd $_srcname - $_make all + make all + make htmldocs } _package() { pkgdesc="The $pkgdesc kernel and modules" - depends=(coreutils kmod initramfs) - optdepends=('wireless-regdb: to set the correct wireless channels of your country' - 'linux-firmware: firmware images needed for some devices') - provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE) - replaces=(virtualbox-guest-modules-arch wireguard-arch) + depends=( + coreutils + initramfs + kmod + ) + optdepends=( + 'wireless-regdb: to set the correct wireless channels of your country' + 'linux-firmware: firmware images needed for some devices' + ) + provides=( + KSMBD-MODULE + VIRTUALBOX-GUEST-MODULES + WIREGUARD-MODULE + ) + replaces=( + virtualbox-guest-modules-arch + wireguard-arch + ) cd $_srcname - local kernver="$(<version)" - local modulesdir="$pkgdir/usr/lib/modules/$kernver" + local modulesdir="$pkgdir/usr/lib/modules/$(<version)" echo "Installing boot image..." # systemd expects to find the kernel here to allow hibernation # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 - install -Dm644 "$($_make -s image_name)" "$modulesdir/vmlinuz" + install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" # Used by mkinitcpio to name the kernel echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "Installing modules..." - $_make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \ + ZSTD_CLEVEL=19 make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \ DEPMOD=/doesnt/exist modules_install # Suppress depmod - # remove build and source links - rm "$modulesdir"/{source,build} + # remove build link + rm "$modulesdir"/build } _package-headers() { @@ -195,7 +226,30 @@ _package-headers() { ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } -pkgname=("$pkgbase") +_package-docs() { + pkgdesc="Documentation for the $pkgdesc kernel" + + cd $_srcname + local builddir="$pkgdir/usr/lib/modules/$(<version)/build" + + echo "Installing documentation..." + local src dst + while read -rd '' src; do + dst="${src#Documentation/}" + dst="$builddir/Documentation/${dst#output/}" + install -Dm644 "$src" "$dst" + done < <(find Documentation -name '.*' -prune -o ! -type d -print0) + + echo "Adding symlink..." + mkdir -p "$pkgdir/usr/share/doc" + ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase" +} + +pkgname=( + "$pkgbase" + "$pkgbase-headers" + "$pkgbase-docs" +) for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$pkgbase}") |