9b4a1b0a53
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).
78 lines
2.1 KiB
Text
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"
|