summaryrefslogtreecommitdiff
path: root/system/easy-kernel/APKBUILD
blob: 0811d21ed4ef2d31242b855f21b8576ffe5d416f (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# 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  # must match 1000-version.patch
_pkgname=easy-kernel$_kflavour
pkgver=6.6.6
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 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
	config-aarch64
	config-armv7
	config-m68k
	config-pmmx
	config-ppc
	config-ppc64
	config-sparc64
	config-x86_64
	kernel.h

	0100-linux-6.6.6.patch
	0120-XATTR_USER_PREFIX.patch
	0122-link-security-restrictions.patch
	0124-bluetooth-keysize-check.patch
	0126-sign-file-libressl.patch
	0200-x86-compile.patch
	0202-parisc-disable-prctl.patch
	0204-amd-deserialised-MSR-access.patch
	0210-fix-powerbook6-5-audio.patch
	0250-expose-per-process-ksm.patch
	0260-reduce-swappiness.patch
	0262-boot-order.patch
	0300-tmp513-regression-fix.patch
	0302-iwlwifi-rfkill-fix.patch
	0400-reduce-pageblock-size-nonhugetlb.patch
	0402-mm-optimise-slub.patch
	0404-page-cache-not-found.patch
	0500-print-fw-info.patch
	0502-gcc9-kcflags.patch
	0504-update-zstd-to-v1_5_5.patch
	1000-version.patch

	no-require-gnu-tar.patch
	no-require-lilo.patch

	no-autoload-fb.conf

	mkimage-missing-not-fatal.patch
	"
builddir="$srcdir/linux-${_pkgminver}"

prepare() {
	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
	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"

	mkdir -p "$subpkgdir"/usr
	make -C "$builddir" headers
	find "$builddir"/usr/include -name '.*' -delete
	rm "$builddir"/usr/include/Makefile
	cp -rv "$builddir"/usr/include "$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="458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35  linux-6.6.tar.xz
ee0aa6868315bb41fd16418c4a9d1786eb6b9f946e77ed392f81e4cbe6d4c25ee60cbc345b9ba552c19a66eecc3ca1517014d1301f94cbad863c7e4e24e50ee0  config-aarch64
84ade351c7fb6ff8772ee3f1179760cf79e2be450c5443cec30b86246f7c76bda59846484f29d0db0177a1db97ee8adda3e616708cbf949e04cd224ef358dadd  config-armv7
586357146131af4537141ae71cbb34d5511174dfd977fdfa31170b4ad19fe77dfc2e9da0301fc53871c84ab9766fc902cfdfd3cc5fc09a671cb70a41173b0fbf  config-m68k
9f65ddeea1bd843af4ec970e507c635d121be1d556d60963668aa61bb0bcc7041dccbff1304dcfc2d2b911dd6db4914770127a7358d15b01fa0c423a5fb964ea  config-pmmx
e196f2641984cc0305f80d9285a35dc47674983d756851b11af58e1a2bb488750016364766aedd46befc07697b3bb04a571ee960332864d54b39ca5cd0c2c568  config-ppc
01727a368518ee61502fba15a468e6c3985fdd09848c8117e55d9f86c1f4df28bc84191af11e72e023cddb73c4915f6ec7cabd3a9c8f313ae88da29052e6401e  config-ppc64
da70ba6236b233d5b917ccc1e4f428056c45c3e0c7ce6953742b3b2886a0209c4a3b76699f15b1629a5d11a7c1c320bc9aef08ee7bfc5a5d3445c56078a38379  config-sparc64
fafe1704c04db8ee85c2641e8aa1f32596d02e061fa9c57035957deaa95c409fd820f0edc840f7818ee2752503fd049d8115b202b068544324ac70c09764c779  config-x86_64
1ca1bc094a8106b33176ab6cfb55c9514e7d69f1ed30c580eee419a3c422a2e6625d71c4581702e911f36c4bbac175010f46b7123bb81fda3303d4decdc57287  kernel.h
12236457a3b9d938fdf150b6d62ad4a4655e48e30493ea7c4d8c89b0aabb3a7045d25bd4f0fcf7c19f8ed13f6ad357e0a958a6fb6a7a4a0ff39c7cc61e34f048  0100-linux-6.6.6.patch
1777c174839d9191ec8530c95ff990505473374723cabd00652c9be478a08c430ecaadab52c4cd0588c42e6991dcb26c5de246b3a0df3253935077476ffbdae6  0120-XATTR_USER_PREFIX.patch
d333494e1a261175ab11d84ace49ad3dcb010614e61d0bfe1d39d7c330d1c0e0311699423fbec5841c9c6ff514f4f5b1e63072f0289450ac2883f1d3a80c2961  0122-link-security-restrictions.patch
dc47b18749d95a456f8bc47fd6a0618c286b646b38466c3d950dfbeb25adf3fc1a794e95552e4da1abb58e49f0bd841f7222e71c4d04cb0264ca23476ca9caef  0124-bluetooth-keysize-check.patch
79eaf814d76402a445efc961666a7c7c74207e552b0cb32d93d5cb828da580f7dbe93509dc9f53321c7844663205a8dce4e518ba047e4c57fc55f5c3498088ec  0126-sign-file-libressl.patch
8ee913a4187740457a2de64708edf757666c6a8a7f8ef30aaa8eee22290a30fa5d636d10de1fad334a30b4acdb733ffe556fb046d5d1769bde3b4e85906189d5  0200-x86-compile.patch
aa5636e778b053a65b739056f300bbc2056dabc215dc110ac35bf3ce0f1cd35d9eafb4db87e804993200fa2de4e84e6410d7d77794abbb446ef7fc83c22d3296  0202-parisc-disable-prctl.patch
403d9145d858483fb55d2d6a7276170e808fb6936f0db46e63ae01a3ef2e4e6425b2db6d459415c15e15de495f37cec1be73ee98b070a49d9543bb864062e006  0204-amd-deserialised-MSR-access.patch
05376bf6307dc26d64f6cf7ee809deb81caf8b3040cb80170844505e3d5b10220d51879f047304bea4bde7c001c1924ae52dfc01f292890dab7f06dfb10264d9  0210-fix-powerbook6-5-audio.patch
dd8dcd068000c6946d4d077a3ca3fc7a18c9b2e579f36b4b7c3e54ad8cb37fa19dfff6d950379c93a70c6e19411882e5d2b496f560f331e0ba5f1f63c880ae37  0250-expose-per-process-ksm.patch
9450d34f0a0efa6b11c5c84b4f8aed6a9095e8737673cdc731fd4c6ff9afa0b3e75e3d38a2542f72279a8be16aba8e8d4fd47535ca947302ed68a98e724c71b6  0260-reduce-swappiness.patch
7796055bbbaf5eb421991cd2b9e7ea030e1da0484855a2405c0c71070246a83d04165f9b61e1a9cc45aea84bfe150da3441d7cd241a5dd3a06ea03dada1cfc37  0262-boot-order.patch
4e637935c2f37cc18f347293e3c94b18f90e2caccca726304a95c4891257a5b2bb3093aee7a97571038b29c0c987cc60a9a80aefd0d4c9a063b33d102f03579e  0300-tmp513-regression-fix.patch
bb70170e6c23cfee7e3abeecf3a238f9f6237b07ed3a1c44d83cdf812046c1ab56d15b79fd793a0c08eb93ffff9578f0bf33d482d98cd3b605eb6e3b33b81b94  0302-iwlwifi-rfkill-fix.patch
34f7fc726caedabdf0cee350c8eb9fb84041388d537bb3cfcd143dcf89dca8b8a75dd2611896987d4ce31aa2935598b860ea93fc8bbd65ce47385f3468f7f650  0400-reduce-pageblock-size-nonhugetlb.patch
1d4391cf8f34e6898da303803961364474aa175b0a95dd13b284e88a9590c657083db78efb65d9fa9d40c22e0948da0bdc1063ee84ae0a699292a4d953d6bf65  0402-mm-optimise-slub.patch
882cc2a0692a3b4841a5814a1b552db6dab10e49528050f265d04b6d34fe517e2f3f6436de82f889b5471192f87ecfdff9ea142c651154622821579429519b4c  0404-page-cache-not-found.patch
dfd940af1d14e8a2cc1fcffbfa0fa8db52accf67cad3a7f435fc84047c945ba64dc3c45eb8dbbcc82715d8b8f2fbafa1e22b123158029016c5506cc134a7842c  0500-print-fw-info.patch
fb5162bc01913278fe1eacb43bfbea7b6f1dbc186d40a9630d26666fb16720a411142edabefb8dd0918fdeb1a47486870b890c7347252773d6ec1109e0b01cb6  0502-gcc9-kcflags.patch
a232b89428dbc367c6f8df90b294da4c9b040843947d4914f617c90d323dcceaa86522c148634de6795a7539f20bb5c310e52488e4ec0b9b40c46630a714ce0b  0504-update-zstd-to-v1_5_5.patch
ed613bfbd99d74614882741db6b5d97db7032d67e53449f7132903240e4ae4a18876060a2cddd7406b5fe2cabfcfcbd26a95636a1aa941ed63c9fe2dc6fe0f78  1000-version.patch
47540083d16e58bbceaf5a01349c0db982ca9f752980b40261eba4ec9ee3e33a3e73777d9a9a3e4c11cd614e54be6c66956e625e209f796d316d84d6afc03326  no-require-gnu-tar.patch
d3b9e580db6006d25297b2dc17c4dc97be35992f9a02dd3bc37afa7d8054f8828a5c2060a5ffbd8e540e9d8babdca369b2af4106961e74652687e53d5bc7887b  no-require-lilo.patch
7bb07eb22002cc48caf0cd55d17ce4097aa583e0ca4048c11c92e1519761b2ae982ffe98311543d4b0dfc991c8bc411b2e1c7be9488b6c6f19ffaa08e69e2f47  no-autoload-fb.conf
b0e0634c84440a480be208da5157b03cb914790faab08fd3fdc2faeceed2c0a03d52c0e029084190708190f80028648923c4fd6feb11ec68ab4f740488161b0a  mkimage-missing-not-fatal.patch"