summarylogtreecommitdiffstats
path: root/PKGBUILD_change.patch
blob: 1b0e225477dd6ca658434b51466f9b18489136b2 (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
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
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,3 +1,9 @@
+# Contributor: Andrey Alekseev <andrey.android7890@gmail.com>
+# used original PKGBUILD from Manjaro linux: https://gitlab.manjaro.org/packages/core/linux58
+# https://aur.archlinux.org/packages/linux-xanmod/
+# see "PKGBUILD_change.patch" for details
+
+
 # Maintainer: Philip Müller <philm[at]manjaro[dot]org>
 # Maintainer: Bernhard Landauer <bernhard[at]manjaro[dot]org>
 # Maintainer: Helmut Stult <helmut[at]manjaro[dot]org>
@@ -9,17 +15,32 @@
 # Cloud Server
 _server=cpx51
 
-pkgbase=linux58
-pkgname=('linux58' 'linux58-headers')
-_kernelname=-MANJARO
+##
+## The following variables can be customized at build time. Use env or export to change at your wish
+##
+##   Example: env _microarchitecture=25 use_numa=n use_tracers=n use_pds=n makepkg -sc
+##
+## Look inside 'choose-gcc-optimization.sh' to choose your microarchitecture
+## Valid numbers between: 0 to 42
+## Default is: 0 => generic
+## Good option if your package is for one machine: 42 => native
+if [ -z ${_microarchitecture+x} ]; then
+  _microarchitecture=0
+fi
+
+
+pkgbase=linux-manjaro-xanmod
+pkgname=("${pkgbase}" "${pkgbase}-headers")
+_kernelname=-MANJARO-Xanmod
 _basekernel=5.8
 _basever=58
 _aufs=20200622
-pkgver=5.8.5
-pkgrel=2
+pkgver=5.8.6
+xanmod=1
+pkgrel=1
 arch=('x86_64')
 url="http://www.kernel.org/"
-license=('GPL2')
+license=('custom')
 makedepends=('bc'
     'docbook-xsl'
     'elfutils'
@@ -29,7 +50,11 @@
     'xmlto')
 options=('!strip')
 source=("https://www.kernel.org/pub/linux/kernel/v5.x/linux-${_basekernel}.tar.xz"
-        "https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
+        #"https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
+        # xanmod patch
+        "https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz"
+        # gcc optimizations
+        choose-gcc-optimization.sh
         # the main kernel config files
         'config' 'config.aufs' 'config.anbox'
         # ARCH Patches
@@ -37,7 +62,7 @@
         # MANJARO Patches
         '0001-i2c-nuvoton-nc677x-hwmon-driver.patch'
         '0001-iomap-iomap_bmap-should-accept-unwritten-maps.patch'
-        '0001-futex.patch'
+        #'0001-futex.patch'
         '0001-apparmor-patch-to-provide-compatibility-with-v2-net-rules.patch'
         '0002-apparmor-af_unix-mediation.patch'
         '0003-apparmor-fix-use-after-free-in-sk_peer_label.patch'
@@ -65,14 +90,16 @@
         '0012-bootsplash.patch'
         '0013-bootsplash.gitpatch')
 sha256sums=('e7f75186aa0642114af8f19d99559937300ca27acaf7451b36d4f9b0f85cf1f5'
-            '69855667f003f3f6f9899dba5f3f9e05ab967bd8a7384f18033bdbece443ebb0'
+            #'b4ab9987a715753e64f0aa264dac91c3d7ca0651bfdd8fa5d19c8990f3b08abc'
+            'SKIP'
+            'SKIP'
             '0ecba3688f213c56b443145c5ffcf3ddfbe9cb0ee4c1fc4bd1351266224ad997'
             'b44d81446d8b53d5637287c30ae3eb64cae0078c3fbc45fcf1081dd6699818b5'
             'c079a87a7de0001f5f2b7a42a822c262e31f19f2c547613885f273822c9d4dcc'
             '986f8d802f37b72a54256f0ab84da83cb229388d58c0b6750f7c770818a18421'
             '7823d7488f42bc4ed7dfae6d1014dbde679d8b862c9a3697a39ba0dae5918978'
             '95745075edd597caa92b369cfbcd11a04c9e3c88c0c987c70114924e1e01df5c'
-            '78dde51123a21ec5efe9c420b309d03263001dafd8684f71c167f02e3f504f9e'
+            #'78dde51123a21ec5efe9c420b309d03263001dafd8684f71c167f02e3f504f9e'
             '98202b8ad70d02d86603294bae967874fa7b18704b5c7b867568b0fd33a08921'
             '5cbbf3db9ea3205e9b89fe3049bea6dd626181db0cb0dc461e4cf5a400c68dd6'
             'c7dbec875d0c1d6782c037a1dcefff2e5bdb5fc9dffac1beea07dd8c1bdef1d7'
@@ -95,11 +122,17 @@
             '035ea4b2a7621054f4560471f45336b981538a40172d8f17285910d4e0e0b3ef')
 prepare() {
   cd "${srcdir}/linux-${_basekernel}"
-
+  
+  # Let's user choose microarchitecture optimization in GCC
+  sh ${srcdir}/choose-gcc-optimization.sh $_microarchitecture
+  
   # add upstream patch
-  msg "add upstream patch"
-  patch -p1 -i "${srcdir}/patch-${pkgver}"
-
+  #msg "add upstream patch"
+  #patch -p1 -i "${srcdir}/patch-${pkgver}"
+  
+  # Apply Xanmod patch
+  patch -Np1 -i ../patch-${pkgver}-xanmod${xanmod}
+  
   local src
   for src in "${source[@]}"; do
       src="${src%%::*}"
@@ -127,7 +160,7 @@
   sed -i '2iexit 0' scripts/depmod.sh
 
   msg "get kernel version"
-  make prepare
+  make olddefconfig
 
   # load configuration
   # Configure the kernel. Replace the line below with one of your choice.
@@ -148,8 +181,8 @@
   make ${MAKEFLAGS} LOCALVERSION= bzImage modules
 }
 
-package_linux58() {
-  pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
+package_linux-manjaro-xanmod() {
+  pkgdesc="The Linux kernel and modules with Xanmod and Manjaro patches"
   depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=27')
   optdepends=('crda: to set the correct wireless channels of your country')
   provides=("linux=${pkgver}" VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
@@ -193,8 +226,8 @@
   install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
 }
 
-package_linux58-headers() {
-  pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
+package_linux-manjaro-xanmod-headers() {
+  pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel"
   provides=("linux-headers=$pkgver")
 
   cd "${srcdir}/linux-${_basekernel}"