blob: c33e80a25eb2221946557e3df4e57a7e5631c764 (
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
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# 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.13
_kernelname=${pkgname#linux}
_srcname=linux-${_basekernel}
pkgver=${_basekernel}.1
pkgrel=1
arch=('x86_64')
url="https://github.com/yardenac/linux-linode"
license=(GPL2)
makedepends=(xmlto docbook-xsl kmod inetutils bc libelf)
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'
'08_linux_linode'
'98-linux-linode.hook'
'99-grub-ll.hook'
'menu.lst'
'preset')
sha512sums=('a557c2f0303ae618910b7106ff63d9978afddf470f03cb72aa748213e099a0ecd5f3119aea6cbd7b61df30ca6ef3ec57044d524b7babbaabddf8b08b8bafa7d2' 'SKIP'
'392ba115d4728730d73e3c66e07f0230894f44ae71851c26ec9707d5f26bc093a6f7043592232deddf2619d2c7d305e62b168b52a142c59f10970f22bf3fbe7e' 'SKIP'
'5d86b27aff9bdd7c005fb7ae776e74e2cf95ae031921ff1df10cfa2b1996fd87f60ed81ef7655209225e24035f5f86ac6642523ec9b01e10efb798f139646aca'
'7a80f858c32a9dd62f43aba0b7119a1196869216117164bcde24ab46022e8a1bbe27821faa26ca690a1633a5a9fe324e98e5cdf14f37591d569cbc71f542482d'
'c57a6c8d9978cb6a1034bed33ba5e06bef9b134f22113761798d4fa46e8091e7b0bd26f3a14d79122ba780b2f7a93ca26850f4da6a654f81b34cc79c242f683f'
'db9080b2548e4dcd61eaaf20cd7d37cbbc8c204ce85a2e3408d0671f6b26010f77a61affd2c77e809768714eca29d3afb64765a3f2099317a2c928eff3feb4cf'
'73cb4c064d8942fddaac48158b7e77d19afc1cb61f83936f21832ba7d7266ccfd3021114252edd5cec5542096204f48cf30544fd6bffff79bc94d96fabe74f52'
'62870a08f000abfe8eb1f50271afdf04686af108554f7629dc5e1d7610ad14bdc9cd14d2609270b83f9edb745a520b81fa7bfb92ebcc28a146df040c895b549b')
sha256sums=('2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c' 'SKIP'
'6664b089bdb6513b006bfe65c6fee45d38ddfe17f6ccc87a720e831d4c215b4d' 'SKIP'
'e7a146facce7105b5d74bea7ffb26ad8f35621be1da14136670fe8ed105f7edc'
'7d56a81083d1468d90ebec97a44ec44f80f8cb87bd506ed1918d6664d6309ad5'
'3efa91fcb4698bde0598678bbf9a4a747c011823af82704eed2c146ed7cd9734'
'368fb58e7aa465f597e9a72da4b6eea4183c1a85242173412d54ad18d10d8fb3'
'a055b6005a324240b35c416d9d08fba21c5f614eefb46f244035d04bf085224f'
'29fa2c1ea75f55a61276496507b788b1a8bde1d7c16bee4f525651db34076e46')
md5sums=('ab1a2abc6f37b752dd2595338bec4e78' 'SKIP'
'e2824a53597a9af0bfb2c533386842f0' 'SKIP'
'e9ff420b2a89c96dd84a8576fae43d95'
'bc30565cf444b710c252675cf65fb46e'
'c52c29a8502f6c75e309208f0afab11f'
'625481f015365febcd65aa136ee555f9'
'15fae1e2da901b937d284890fd91cfab'
'e1b5255cfbf5f8ca79b4b4568feec801')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
pkgdesc="Kernel for Linode servers"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7' 'grub')
provides=(linux)
conflicts=(grub-legacy)
backup=(etc/mkinitcpio.d/${pkgname}.preset boot/grub/menu.lst)
install=install
prepare() {
cd "${srcdir}/${_srcname}"
patch -p1 -i "${srcdir}/patch-${pkgver}"
cat "${srcdir}/config" > ./.config
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}"
[[ "$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/vmlinuzll-${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}/98-linux-linode.hook" "${pkgdir}/usr/share/libalpm/hooks/98-linux-linode.hook"
install -D -m644 "${srcdir}/99-grub-ll.hook" "${pkgdir}/usr/share/libalpm/hooks/99-grub-ll.hook"
install -D -m755 "${srcdir}/08_linux_linode" "${pkgdir}/etc/grub.d/08_linux_linode"
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
-i "${startdir}/install"
sed \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuzll-${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
}
|