pmaports/main/kernel-scripts/APKBUILD
Oliver Smith 9b4a1b0a53
main/kernel-scripts: fix build
Adjust the mime-type that gets used to find executables to
application/x-pie-executable and change the APKBUILD logic to print out
a meaningful error when the executables can not be found.

Also fix the broken patch logic (doesn't display an error anymore).
2018-11-27 07:47:11 +01:00

78 lines
2.1 KiB
Text

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"