blob: bcbb9cea14edd83eaebab98376f496bcf8fece36 (
plain) (
blame)
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adelie Platform Group <adelie-devel@lists.adelielinux.org>
# KEEP THIS IN SYNC with the other easy-kernel packages.
_kflavour=""
_pkgname=easy-kernel$_kflavour
pkgver=4.14.88
pkgrel=13
pkgname=$_pkgname-$pkgver-mc$pkgrel
pkgdesc="The Linux kernel, packaged for your convenience"
url="https://kernel.org/"
arch="all"
options="!check !dbg !strip !tracedeps"
license="GPL-2.0-only"
depends=""
makedepends="bc gzip kmod lzop openssl-dev xz"
install=""
provides="easy-kernel$_kflavour=$pkgver-r$pkgrel"
subpackages="$_pkgname-modules-$pkgver-mc$pkgrel:modules
$_pkgname-src-$pkgver-mc$pkgrel:src
linux-headers:headers"
_pkgmajver=${pkgver%%.*}
_pkgminver=${pkgver%.*}
source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgminver}.tar.xz
https://distfiles.adelielinux.org/source/linux-${_pkgminver}-mc$pkgrel.patch.xz
0502-muqss-smt-fix.patch
ast-endianness.patch
config-ppc64
config-ppc
config-x86_64
config-pmmx
config-aarch64
futex-cmpxchg.patch
kernel.h
uapi-ether.patch
"
builddir="$srcdir/linux-${_pkgminver}"
prepare() {
cd "$srcdir"
cat linux-${_pkgminver}-mc$pkgrel.patch.xz | unxz -> linux-${_pkgminver}-mc$pkgrel.patch
patch -Np1 -d "$builddir" <linux-${_pkgminver}-mc$pkgrel.patch
default_prepare
cd "$srcdir"
cp config-$CARCH linux-${_pkgminver}/.config
cp -pr linux-${_pkgminver} linux-src
}
build() {
cd "$builddir"
make LDFLAGS=""
cd "$srcdir/linux-src"
make LDFLAGS="" modules_prepare clean
cp "$builddir/Module.symvers" .
# Kernel bug: crtsavres.o is required to build modules, but modules_prepare doesn't create it.
if [ $CARCH = ppc ]; then
cp "$builddir/arch/powerpc/lib/crtsavres.o" arch/powerpc/lib/
fi
}
package() {
cd "$builddir"
mkdir -p "$pkgdir"/boot
make INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
install modules_install
if [ -f "$pkgdir"/boot/vmlinuz ]; then
mv "$pkgdir"/boot/vmlinuz \
"$pkgdir"/boot/vmlinuz-$pkgver-mc$pkgrel-easy$_kflavour
fi
if [ -f "$pkgdir"/boot/vmlinux ]; then
mv "$pkgdir"/boot/vmlinux \
"$pkgdir"/boot/vmlinux-$pkgver-mc$pkgrel-easy$_kflavour
fi
mv "$pkgdir"/boot/System.map "$pkgdir"/boot/System.map-$pkgver-mc$pkgrel-easy$_kflavour
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/easy-$pkgver-mc$pkgrel$_kflavour/kernel.release
}
modules() {
pkgdesc="Modules / device drivers for easy-kernel"
provides="easy-kernel$_kflavour-modules=$pkgver-r$pkgrel"
autodeps=0 # modules should not depend on src just for symlink
mkdir -p "$subpkgdir"/lib
mv "$pkgdir"/lib/modules "$subpkgdir"/lib/
rm "$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/build
rm "$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/source
ln -s "../../../usr/src/linux-$pkgver-mc$pkgrel$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/build
ln -s "../../../usr/src/linux-$pkgver-mc$pkgrel$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/source
}
headers() {
pkgdesc="System headers provided by the Linux kernel"
cd "$builddir"
patch -Np1 -i "$srcdir"/../revert-broken-uapi.patch
mkdir -p "$subpkgdir"/usr
make headers_install INSTALL_HDR_PATH="$subpkgdir/usr"
find "$subpkgdir/usr" \( -name .install -o -name ..install.cmd \) -exec \
rm -f {} \;
# provided by libdrm
rm -rf "$subpkgdir"/usr/include/drm
# needed for spl, VMware on x86, etc
install -D -m644 "$builddir"/include/generated/utsrelease.h \
"$subpkgdir"/usr/include/linux/utsrelease.h
cp "$srcdir"/kernel.h "$subpkgdir"/usr/include/linux/
}
src() {
pkgdesc="Kernel source code used to build the kernel"
provides="easy-kernel$_kflavour-src=$pkgver-r$pkgrel"
mkdir -p "$subpkgdir"/usr/src
mv "$srcdir"/linux-src "$subpkgdir"/usr/src/linux-$pkgver-mc$pkgrel$_kflavour
}
sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz
bfe606f208894cc572fb98f323e26956c69b4f75febd4a9b500514cbb2aa70bddb2aba05b3f16a5fe52535236b215335f73974324065f80643265f17f281faa6 linux-4.14-mc13.patch.xz
6ede43cf169e79d8a08f7a9d79bb4bdf15618ec450b42a67a53a75bc5f5cb4d5a8c82d2b95c27a80567999876d103091bc104104f0494ca34707b5ccae5da725 0502-muqss-smt-fix.patch
e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch
cfa1c2b523875967c42bfd8fcfeeb80b1c4c9887c4399b4767f0ac0525769a9e8c5cddaec831e1adfa546ac2d66f68ef23dc594a286532f4b9890401efd75c67 config-ppc64
1112f6c3fcfd7fdc0ef4d5e85df5d3adea430a9c7b4c2b34508a215f7ba14c863ccd7a5e17f13ed46c518bafec30cfb3ced70c465137c14ef5fc998b6cbcca1f config-ppc
1c5b4365da04a85ac994f123847cc69df0eda772e88b12914cd1e16ea9be62de2a46106f0f0b736f0e7bee746017d49f5671d1277793b5d383258f3d40b562f6 config-x86_64
69c737ecb6968ca567dfb52335a8a89e147c0b01f92b1e5239bd6d806c10cd7d4225f3cc8a703249020669d3e785df0c1350afda158b0e6c8e70b4805532f07e config-pmmx
231c346e601c1d032a03d6cb19ed3d6e0f538f84d6c9980e3f47236ba9dc3f076ea23f91d68813b7d5c9eea40200f69cef31697f89f514112c09c5762ab2c48a config-aarch64
64486a4f53046a69f727cecd8c39400b50c2d2b15e3b5ca8c18b8249d25990f3a872ec064800ba3d190f9d25b4518899b9ea3675920f487108102856d6beb51e futex-cmpxchg.patch
fdd94b9de7b374f1812dec0f9971c05f5e52177ca4a16c8071daa620c18265b38f656f528e7045a24f30af01f05e53e54546fb0a9e93773cf191866e87de505d kernel.h
af093e91e8c8371629948e2e574f8764078564bc027ba5b2f87886f8827d9a63ba7a43717552fe7e3cc9212b2fd55b8633b12900c3d8cdc6c035d52b389c39e5 uapi-ether.patch"
|