blob: b41450148f752f20af2fb556e8e05c58e08964e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# Maintainer: Yardena Cohen <yardenack at gmail dot com>
# tracks: https://projects.archlinux.org/svntogit/packages.git/log/trunk?h=packages/linux
pkgname=linux-linode
_basekernel=4.8
_kernelname=${pkgname#linux}
_srcname=linux-${_basekernel}
pkgver=${_basekernel}.8
pkgrel=1
arch=('i686' 'x86_64')
url="https://github.com/yardenac/linux-linode"
license=(GPL2)
makedepends=(xmlto docbook-xsl kmod inetutils bc 'gcc>=4.9.0')
options=('!strip')
source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar."{xz,sign}
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}."{xz,sign}
'config'
'config.x86_64'
'menu.lst'
'hook'
'preset')
sha512sums=('a48a065f21e1c7c4de4cf8ca47b8b8d9a70f86b64e7cfa6e01be490f78895745b9c8790734b1d22182cf1f930fb87eaaa84e62ec8cc1f64ac4be9b949e7c0358' 'SKIP'
'4ad7b881c9fafaf446d00e53af22d1940ecf00291ed57d1706ad12725a7bf525abb1d17500d662409eccd77ed0e9c2a11580ce94d6b6344188f35bd9e49c2418' 'SKIP'
'b708c2f0329ba120b03ad8dcc7119056f102c9665983325b03fac3b7027565e09707ce2fa3036a8e4b4f4cdac4b19c2b49cbb5ac9c789d82133ee322f8d37b97'
'bc2121a90c5470f8d4ea27798907159df07e18274dfc8b20d8218775e92df9bf1f5f686a553179fae979ad23bfc60172dde6f8faa5d3ccf5605c0ba22def7e1e'
'2beaa01dc9679a66ccbbca0f4abeb0f77956651e3f83f114030b2ef344a16240124a549ccee2588b6a1179be6a66b4a8dc931e2c15c4d5282afeb85bb6ada210'
'b48e2ab68a211bc1d129fcef33875c35f9bf4afa8bfbb4455537983abeedae044475b636367042e39d5fcfdd59b37e1bbf6ac1ede71913aa61853ee66b3df89b'
'a0a78831075336edef0a8faa34fa550986c3c4d89a89f4f39d798da0211129dc90257d162bec2cdefabef2eb5886a710e70c72074b2f3016788861d05d1e2a1f')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
pkgdesc="Kernel for Linode servers"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
provides=(linux)
conflicts=(grub grub-legacy)
backup=(etc/mkinitcpio.d/${pkgname}.preset boot/grub/menu.lst)
install=install
prepare() {
cd "${srcdir}/${_srcname}"
patch -p1 -i "${srcdir}/patch-${pkgver}"
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else
cat "${srcdir}/config" > ./.config
fi
sed -i '2iexit 0' scripts/depmod.sh
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|g" ./.config
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
make prepare
}
build() {
cd "${srcdir}/${_srcname}"
CFLAGS=${CFLAGS}" -march=corei7 -mtune=corei7 -mcpu=corei7 "
CXXFLAGS=${CXXFLAGS}" -march=corei7 -mtune=corei7 -mcpu=corei7 "
[[ "$MAKEFLAGS" =~ -j[0-9]* ]] || MAKEFLAGS+=" -j$(nproc)"
ionice -c 3 nice -n 16 make ${MAKEFLAGS} LOCALVERSION= bzImage modules
}
package_linux-linode() {
KARCH=x86
cd "${srcdir}/${_srcname}"
_kernver="$(make LOCALVERSION= kernelrelease)"
mkdir -p "${pkgdir}"/{lib/{modules,firmware},boot}
make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
rm -rf "${pkgdir}"/lib/{firmware,modules/${_kernver}/{source,build}}
cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgname}"
install -D -m644 vmlinux "${pkgdir}/lib/modules/${_kernver}/build/vmlinux"
install -D -m644 "${srcdir}/preset" "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
install -D -m644 "${srcdir}/hook" "${pkgdir}/usr/share/libalpm/hooks/99-linux-linode.hook"
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
-i "${startdir}/install"
sed \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|" \
-i "${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset"
emdir="extramodules-${_basekernel}${_kernelname:--ARCH}"
mkdir -p "${pkgdir}/lib/modules/${emdir}"
ln -s "../${emdir}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
echo "${_kernver}" >| "${pkgdir}/lib/modules/${emdir}/version"
depmod -b "${pkgdir}" -F System.map "${_kernver}"
mkdir -p "${pkgdir}/usr"
mv "${pkgdir}/"{lib,usr/}
mkdir -p ${pkgdir}/boot/grub
sed "s/%VER%/${pkgver}-${pkgrel}/ig" ${srcdir}/menu.lst > ${pkgdir}/boot/grub/menu.lst
}
|