pkgname=kernel-scripts pkgver=4.15.0 pkgrel=2 pkgdesc="Binary scripts needed to build kernel packages" url="http://kernel.org" depends="" makedepends="perl gmp-dev elfutils-dev bash sed bc linux-headers file openssl-dev" options="!check" arch="x86_64 armhf aarch64" license="GPL-2.0" # Sources case $pkgver in *.*.*) _kernver=${pkgver%.*};; *.*) _kernver=$pkgver;; esac source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz" if [ "${pkgver%.0}" = "$pkgver" ]; then source="$source https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz" fi # Arch _carch=${CARCH} case "$_carch" in aarch64*) _carch="arm64" ;; arm*) _carch="arm" ;; mips*) _carch="mips" ;; ppc*) _carch="powerpc" ;; s390*) _carch="s390" ;; esac builddir="$srcdir/linux-$_kernver" prepare() { cd "$builddir" # Apply patch local patch="$srcdir/patch-$pkgver.xz" if [ -e "$patch" ]; then msg "Applying patch-$pkgver.xz" unxz -c < "$srcdir"/patch-$pkgver.xz | patch -p1 -N fi } build() { unset LDFLAGS mkdir -p "$srcdir/build" make -j1 -C "$builddir" O="$srcdir/build" ARCH="$_carch" \ HOSTCC="${CC:-gcc}" defconfig scripts } package() { local type_bin="application/x-pie-executable" msg "Finding and installing $type_bin files..." local i local found=false cd "$srcdir/build/scripts" for i in $(find . -type f); do local type="$(file -b --mime-type "$i")" if [ "$type" != "$type_bin" ]; then echo "$i: different mime-type ($type)" continue fi echo "$i: matched!" install -Dm755 "$i" "$pkgdir/usr/bin/kernel-scripts/$i" found=true done if [ "$found" = "false" ]; then error "Could not find any binaries! 'file' probably prints out a" error "different mime-type now. This is easy to fix, just figure out" error "the correct one from the output above (look at the" error "./basic/fixdep line for example) then adjust type_bin= in" error "package()." return 1 fi } sha512sums="c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea linux-4.15.tar.xz"