blob: 580e59ff92e71762e0240ab076c93c88985551c3 (
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# 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=""
_patchver=1
_pkgname=easy-kernel$_kflavour
pkgver=5.4.66
pkgrel=0
pkgname=$_pkgname-$pkgver-mc$_patchver
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="kernel-boot"
makedepends="bc bison flex gzip kmod lzop openssl-dev rsync xz"
provides="easy-kernel$_kflavour=$pkgver-r$pkgrel"
replaces="easy-kernel-power8 easy-kernel-power8-64k"
subpackages="$_pkgname-modules-$pkgver-mc$_patchver:modules
$_pkgname-src-$pkgver-mc$_patchver: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$_patchver-patches.tar.xz
config-aarch64
config-armv7
config-m68k
config-pmmx
config-ppc
config-ppc64
config-sparc64
config-x86_64
kernel.h
uapi-iphdr.patch
no-autoload-fb.conf
"
builddir="$srcdir/linux-${_pkgminver}"
prepare() {
for patch in "$srcdir/linux-${_pkgminver}-mc$_patchver-patches"/*; do
patch -p1 -i "$patch"
done
default_prepare
cd "$srcdir"
cp config-$CARCH linux-${_pkgminver}/.config
cp -pr linux-${_pkgminver} linux-src
if [ -f $HOME/kernel_key.pem ]; then
cp $HOME/kernel_key.pem "$builddir"/certs/signing_key.pem
fi
}
build() {
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() {
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$_patchver-easy$_kflavour
fi
if [ -f "$pkgdir"/boot/vmlinux ]; then
mv "$pkgdir"/boot/vmlinux \
"$pkgdir"/boot/vmlinux-$pkgver-mc$_patchver-easy$_kflavour
fi
if [ -f "$pkgdir"/boot/System.map ]; then
mv "$pkgdir"/boot/System.map \
"$pkgdir"/boot/System.map-$pkgver-mc$_patchver-easy$_kflavour
fi
case $CARCH in
aarch64|arm*) make INSTALL_PATH="$pkgdir"/boot dtbs_install ;;
esac
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/easy-$pkgver-mc$_patchver$_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$_patchver-easy$_kflavour/build
rm "$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/source
ln -s "../../../usr/src/linux-$pkgver-mc$_patchver$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/build
ln -s "../../../usr/src/linux-$pkgver-mc$_patchver$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$_patchver-easy$_kflavour/source
mkdir -p "$subpkgdir"/etc/modprobe.d
install -m644 "$srcdir"/no-autoload-fb.conf \
"$subpkgdir"/etc/modprobe.d/no-autoload-fb.conf
}
headers() {
pkgdesc="System headers provided by the Linux kernel"
cd "$builddir"
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
install -m644 "$srcdir"/kernel.h "$subpkgdir"/usr/include/linux/kernel.h
}
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$_patchver$_kflavour
}
sha512sums="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f linux-5.4.tar.xz
e6a7a5933dbe638be42a1308fd64895e53fe38be1238016a560985127106356570e6ea6ba94e6fbfb5924e24728232487c91ff1affcc79af1d724b8c813f5036 linux-5.4-mc1-patches.tar.xz
1559875f5abc07d478d7deb9a2b1eccbb2e1a37b300ed6e41b28787f3653a18d92fbff4fad74df300cf7d6c027ba4c98a65050e60ce6da8f2a48e01bbf56dee8 config-aarch64
9f5279d20fc6eaad78ab27b7fb86553e310369c8a68a2ff60c7cd9895febd3002cae748ad3a8b4fddbb62c6e829104138fc2bbca939e1c88c0bfcf7aa42809bf config-armv7
93ca6d54fc377db12dfa7cf230d362f82d635cd05166815389ef4fb2b065f8b2bba1a78d234bd6a7445dd9b475f2c0ca01e3d4528881cfd2c10040dab174cf6a config-m68k
5945f918daf441e1f92012b608d560b693f09d8fa36eb6c7ecb9935dec6163c5e64e04d7345b3b9c958a15d62878f33ac88a4e24d5fcc60381455842636bd1c7 config-pmmx
3f9ac256e11b9e469086cbc0d3ec84e7bed4ec79fe40111418eb70786c9d62e8ef8d208472fa65f91b883b959112e40ace18d98314dfa9eeaace6aa821834f8b config-ppc
c61fa4613d0d75a5387d12c2f72dc8ba1e6635cc47cc9fb46253095c6417241ef59639ddf9ad220947804ef0dca921de7df5057b1d02d156bf955b213851aaff config-ppc64
f43ae12574c81f6e0161c547eff93d70ff4686e6ec1654edbdea10447e424218a33b81c664828f82617e4ef522128f2e0460da0c9523538724048174b53a7313 config-sparc64
557db84d1f45c91ed3e3ab5d0e7100766060507ae98632b735580813974e136343500f9683bb51dc3994277716651821523b476bc5143e636ebde14aa5e67f48 config-x86_64
61dcd633d72876566b7738dd08856b26850c935b4a81ab2364711335fe01c397083160f530b3382bbc239c6a8135be6a032e93039083ec2cefdae2902429a2e0 kernel.h
6f309a18c65c991240265afd200cc79a706f5d9e5d072838a9a641ab3676a5e4c32033f9767fc723ff4c45ee462169a0f77bd7dfe63b547d521dadd073f827a7 uapi-iphdr.patch
7bb07eb22002cc48caf0cd55d17ce4097aa583e0ca4048c11c92e1519761b2ae982ffe98311543d4b0dfc991c8bc411b2e1c7be9488b6c6f19ffaa08e69e2f47 no-autoload-fb.conf"
|