mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-12 11:21:50 +01:00
184 lines
8.3 KiB
Plaintext
184 lines
8.3 KiB
Plaintext
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
|
|
_flavor=grsec
|
|
pkgname=linux-${_flavor}
|
|
pkgver=3.10.12
|
|
case $pkgver in
|
|
*.*.*) _kernver=${pkgver%.*};;
|
|
*.*) _kernver=${pkgver};;
|
|
esac
|
|
pkgrel=0
|
|
pkgdesc="Linux kernel with grsecurity"
|
|
url=http://grsecurity.net
|
|
depends="mkinitfs linux-firmware"
|
|
makedepends="perl installkernel bash gmp-dev bc"
|
|
options="!strip"
|
|
_config=${config:-kernelconfig.${CARCH}}
|
|
install=
|
|
source="http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
|
|
http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.xz
|
|
grsecurity-2.9.1-$pkgver-unofficial.patch
|
|
|
|
0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
|
|
0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
|
|
0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
|
|
0004-ipv4-rate-limit-updating-of-next-hop-exceptions-with.patch
|
|
0005-ipv4-use-separate-genid-for-next-hop-exceptions.patch
|
|
0006-ipv4-use-next-hop-exceptions-also-for-input-routes.patch
|
|
|
|
kernelconfig.x86
|
|
kernelconfig.x86_64
|
|
"
|
|
subpackages="$pkgname-dev"
|
|
arch="x86 x86_64 arm"
|
|
license="GPL-2"
|
|
|
|
_abi_release=${pkgver}-${pkgrel}-${_flavor}
|
|
|
|
prepare() {
|
|
local _patch_failed=
|
|
cd "$srcdir"/linux-$_kernver
|
|
if [ "${pkgver%.0}" = "$pkgver" ]; then
|
|
msg "Applying patch-$pkgver.xz"
|
|
unxz -c < "$srcdir"/patch-$pkgver.xz | patch -p1 -N || return 1
|
|
fi
|
|
|
|
# first apply patches in specified order
|
|
for i in $source; do
|
|
case $i in
|
|
*.patch)
|
|
msg "Applying $i..."
|
|
if ! patch -s -p1 -N -i "$srcdir"/$i; then
|
|
echo $i >>failed
|
|
_patch_failed=1
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ! [ -z "$_patch_failed" ]; then
|
|
error "The following patches failed:"
|
|
cat failed
|
|
return 1
|
|
fi
|
|
|
|
echo "-$pkgrel" > localversion-alpine
|
|
|
|
mkdir -p "$srcdir"/build
|
|
cp "$srcdir"/$_config "$srcdir"/build/.config || return 1
|
|
make -C "$srcdir"/linux-$_kernver O="$srcdir"/build HOSTCC="${CC:-gcc}" \
|
|
silentoldconfig
|
|
}
|
|
|
|
# this is so we can do: 'abuild menuconfig' to reconfigure kernel
|
|
menuconfig() {
|
|
cd "$srcdir"/build || return 1
|
|
make menuconfig
|
|
cp .config "$startdir"/$_config
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir"/build
|
|
export GCC_SPECS=hardenednopie.specs
|
|
make CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine" \
|
|
|| return 1
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir"/build
|
|
mkdir -p "$pkgdir"/boot "$pkgdir"/lib/modules
|
|
make -j1 modules_install firmware_install install \
|
|
INSTALL_MOD_PATH="$pkgdir" \
|
|
INSTALL_PATH="$pkgdir"/boot \
|
|
|| return 1
|
|
|
|
rm -f "$pkgdir"/lib/modules/${_abi_release}/build \
|
|
"$pkgdir"/lib/modules/${_abi_release}/source
|
|
rm -rf "$pkgdir"/lib/firmware
|
|
|
|
install -D include/config/kernel.release \
|
|
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
|
|
}
|
|
|
|
dev() {
|
|
# copy the only the parts that we really need for build 3rd party
|
|
# kernel modules and install those as /usr/src/linux-headers,
|
|
# simlar to what ubuntu does
|
|
#
|
|
# this way you dont need to install the 300-400 kernel sources to
|
|
# build a tiny kernel module
|
|
#
|
|
pkgdesc="Headers and script for third party modules for grsec kernel"
|
|
depends="gmp-dev bash"
|
|
local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release}
|
|
|
|
# first we import config, run prepare to set up for building
|
|
# external modules, and create the scripts
|
|
mkdir -p "$dir"
|
|
cp "$srcdir"/$_config "$dir"/.config
|
|
make -j1 -C "$srcdir"/linux-$_kernver O="$dir" HOSTCC="${CC:-gcc}" \
|
|
silentoldconfig prepare modules_prepare scripts
|
|
|
|
# remove the stuff that poits to real sources. we want 3rd party
|
|
# modules to believe this is the soruces
|
|
rm "$dir"/Makefile "$dir"/source
|
|
|
|
# copy the needed stuff from real sources
|
|
#
|
|
# this is taken from ubuntu kernel build script
|
|
# http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-jaunty.git;a=blob;f=debian/rules.d/3-binary-indep.mk;hb=HEAD
|
|
cd "$srcdir"/linux-$_kernver
|
|
find . -path './include/*' -prune -o -path './scripts/*' -prune \
|
|
-o -type f \( -name 'Makefile*' -o -name 'Kconfig*' \
|
|
-o -name 'Kbuild*' -o -name '*.sh' -o -name '*.pl' \
|
|
-o -name '*.lds' \) | cpio -pdm "$dir"
|
|
cp -a drivers/media/dvb/dvb-core/*.h "$dir"/drivers/media/dvb/dvb-core
|
|
cp -a drivers/media/video/*.h "$dir"/drivers/media/video
|
|
cp -a drivers/media/dvb/frontends/*.h "$dir"/drivers/media/dvb/frontends
|
|
cp -a scripts include "$dir"
|
|
find $(find arch -name include -type d -print) -type f \
|
|
| cpio -pdm "$dir"
|
|
|
|
install -Dm644 "$srcdir"/build/Module.symvers \
|
|
"$dir"/Module.symvers
|
|
|
|
mkdir -p "$subpkgdir"/lib/modules/${_abi_release}
|
|
ln -sf /usr/src/linux-headers-${_abi_release} \
|
|
"$subpkgdir"/lib/modules/${_abi_release}/build
|
|
}
|
|
|
|
md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz
|
|
9bfba28fef36c6a7fc16fd896eab131b patch-3.10.12.xz
|
|
6a71d0e6dfe33a14dd639b94263fb741 grsecurity-2.9.1-3.10.12-unofficial.patch
|
|
a16f11b12381efb3bec79b9bfb329836 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
|
|
656ae7b10dd2f18dbfa1011041d08d60 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
|
|
aa454ffb96428586447775c21449e284 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
|
|
2a12a3717052e878c0cd42aa935bfcf4 0004-ipv4-rate-limit-updating-of-next-hop-exceptions-with.patch
|
|
6ce5fed63aad3f1a1ff1b9ba7b741822 0005-ipv4-use-separate-genid-for-next-hop-exceptions.patch
|
|
1a5800a2122ba0cc0d06733cb3bb8b8f 0006-ipv4-use-next-hop-exceptions-also-for-input-routes.patch
|
|
866e6c4daed45d563829804f8ad50ed9 kernelconfig.x86
|
|
272aaddd0a19a5052208bc25551995a3 kernelconfig.x86_64"
|
|
sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz
|
|
296010993b6a9dd7b8e48fe73c6e478bf94a7e882619d7ff3ea8fb9fd9a03aac patch-3.10.12.xz
|
|
7f0d73fb3eca5db77a90d3dc667d147fe9a84a8ee78879d557e3e7ad0fe6e8e0 grsecurity-2.9.1-3.10.12-unofficial.patch
|
|
6af3757ac36a6cd3cda7b0a71b08143726383b19261294a569ad7f4042c72df3 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
|
|
dc8e82108615657f1fb9d641efd42255a5761c06edde1b00a41ae0d314d548f0 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
|
|
0985caa0f3ee8ed0959aeaa4214f5f8057ae8e61d50dcae39194912d31e14892 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
|
|
260fd1807838b68305a96992bf7d3302a2a8ef3a3b08fe079ba9a07e6422f736 0004-ipv4-rate-limit-updating-of-next-hop-exceptions-with.patch
|
|
ae32bb72afa170e6c3788c564b342763aba5945afacc1e2ebfc096adf50d77a3 0005-ipv4-use-separate-genid-for-next-hop-exceptions.patch
|
|
fc613ac466610b866b721c41836fd5bfb2d4b75bceb67972dc6369d7f62ff47e 0006-ipv4-use-next-hop-exceptions-also-for-input-routes.patch
|
|
7fd28634998ef1fddafed5f2516e902924245d2464b9e86476bfaa55ccfc3bc3 kernelconfig.x86
|
|
f2843ae4f9b3e3c27f3138ce4b740c2803bdab0c7a910c662d951843803b9554 kernelconfig.x86_64"
|
|
sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz
|
|
1424eb071b42ed39607a920b36584c8376bb3b9118a190c83328837c937addd5dee698ab5ef4aacff6ad98baf3993ecc7d9af05458209a10393ba5f67a3318c5 patch-3.10.12.xz
|
|
202815e1d4762b5ae16763a6958f03b9059e2c9a4bd5550c05331ebd315243f14f23625c6b488fcc2d145e44fdd6fc66b791c9599bc288d945edb0e11dd07a56 grsecurity-2.9.1-3.10.12-unofficial.patch
|
|
81e78593288e8b0fd2c03ea9fc1450323887707f087e911f172450a122bc9b591ee83394836789730d951aeec13d0b75a64e1c05f04364abf8f80d883ddc4a02 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
|
|
51ecb15b669f6a82940a13a38939116e003bf5dfd24496771c8279e907b72adcc63d607f0340a2940d757e12ddadb7d45c7af78ae311d284935a6296dbcac00c 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
|
|
57d0a8bd35d19cf657ded58efe24517d2252aec6984040713ba173a34edb5887ececaa2985076bc6a149eaa57639fd98a042c1c2d226ed4ad8dd5ed0e230717e 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
|
|
d2f578ad1d6e1fe52b55863e5bf338ae8201b828a498ec3e42e549c55295d3d1c6c3adfa9e226d711e3486628ed56ab996484e219d79ac4b0c0ec684ebd380aa 0004-ipv4-rate-limit-updating-of-next-hop-exceptions-with.patch
|
|
28a33e644bf2faf99c8dd6dbccfe14e140dfdd8824a8fb2d58aa7deb9e572f130d92b6b35ee181084050d82166bdf2e498a451a2a538a67b7ab84204405d2d87 0005-ipv4-use-separate-genid-for-next-hop-exceptions.patch
|
|
249140374c19a5599876268ff5b3cda2e136681aee103b4a9fff5d7d346f8e3295a907fb43db0701b8a9fece64c299ad2abac0434259cce6631307ce84090205 0006-ipv4-use-next-hop-exceptions-also-for-input-routes.patch
|
|
1721542ff111c8ec550323dae6f6174131db180668cbf14f01dc4c76ffbbb479715919a80c35d8c8ac22a6479dd3b42700be6ddc5ef2a8b6a62de811c7ae86df kernelconfig.x86
|
|
d49bf57bd0aae17d762d87d5bf983e48219d71ca44bc0c3120db94d357192c07146a8938cef9d435218e4bb748691ec426387545837be637d47e45cdc4482d71 kernelconfig.x86_64"
|