6 |
# The mkflavour() macroization done by Anssi Hannula <anssi@mandriva.org> |
# The mkflavour() macroization done by Anssi Hannula <anssi@mandriva.org> |
7 |
# |
# |
8 |
# Note! remember to push kernel-userspace-headers and |
# Note! remember to push kernel-userspace-headers and |
9 |
# the preouilt kernel drivers (kmod-<driver>) |
# the prebuilt kernel drivers (kmod-<driver>) |
10 |
# |
# |
11 |
# Mageia kernels use kernel.org versioning |
# Mageia kernels use kernel.org versioning |
12 |
# |
# |
13 |
%define kernelversion 4 |
%define kernelversion 4 |
14 |
%define patchlevel 1 |
%define patchlevel 4 |
15 |
# sublevel is now used for -stable patches |
# sublevel is now used for -stable patches |
16 |
%define sublevel 15 |
%define sublevel 4 |
17 |
# extstable is for extended stable patches |
# extstable is for extended stable patches |
18 |
%define extstable 0 |
%define extstable 0 |
19 |
|
|
20 |
# Package release |
# Package release |
21 |
%define mgarel 2 |
%define mgarel 1 |
22 |
|
|
23 |
# kernel Makefile extraversion is substituted by |
# kernel Makefile extraversion is substituted by |
24 |
# kpatch wich are either 0 (empty), rc (kpatch) |
# kpatch wich are either 0 (empty), rc (kpatch) |
112 |
%define build_server 1 |
%define build_server 1 |
113 |
|
|
114 |
# build perf and cpupower tools |
# build perf and cpupower tools |
115 |
%define build_perf 1 |
%define build_perf 0 |
116 |
%define build_cpupower 1 |
%define build_cpupower 1 |
117 |
|
|
118 |
# compress modules with xz |
# compress modules with xz |
120 |
|
|
121 |
# ARM builds |
# ARM builds |
122 |
%ifarch %{arm} |
%ifarch %{arm} |
123 |
%define build_desktop 0 |
%define build_desktop 1 |
124 |
|
%ifarch armv5tl |
125 |
|
%define build_desktop_armv6v7 1 |
126 |
|
%endif |
127 |
%define build_server 0 |
%define build_server 0 |
128 |
%define build_iop32x 0 |
%define build_iop32x 0 |
129 |
%define build_kirkwood 1 |
%define build_versatile 0 |
|
%define build_versatile 1 |
|
130 |
# no cpupower tools on arm yet |
# no cpupower tools on arm yet |
131 |
%define build_cpupower 0 |
%define build_cpupower 0 |
132 |
# arm is currently not using xz |
# arm is currently not using xz |
159 |
|
|
160 |
# ARM builds |
# ARM builds |
161 |
%{?_with_iop32x: %global build_iop32x 1} |
%{?_with_iop32x: %global build_iop32x 1} |
|
%{?_with_kirkwood: %global build_kirkwood 1} |
|
162 |
%{?_with_versatile: %global build_versatile 1} |
%{?_with_versatile: %global build_versatile 1} |
163 |
%{?_without_iop32x: %global build_iop32x 0} |
%{?_without_iop32x: %global build_iop32x 0} |
|
%{?_without_kirkwood: %global build_kirkwood 0} |
|
164 |
%{?_without_versatile: %global build_versatile 0} |
%{?_without_versatile: %global build_versatile 0} |
165 |
|
|
166 |
# For the .nosrc.rpm |
# For the .nosrc.rpm |
275 |
|
|
276 |
### Global Requires/Provides |
### Global Requires/Provides |
277 |
%define requires1 bootloader-utils >= 1.16-1 |
%define requires1 bootloader-utils >= 1.16-1 |
278 |
%define requires2 dracut >= 038-19 |
%define requires2 dracut >= 038-21 |
279 |
%define requires3 kmod >= 12-2 |
%define requires3 kmod >= 12-2 |
280 |
%define requires4 sysfsutils >= 2.1.0-16 |
%define requires4 sysfsutils >= 2.1.0-16 |
281 |
%define requires5 kernel-firmware >= 20150722-1 |
%define requires5 kernel-firmware >= 20160219-1 |
282 |
|
|
283 |
%define kprovides1 %{kname} = %{kverrel} |
%define kprovides1 %{kname} = %{kverrel} |
284 |
%define kprovides2 kernel = %{tar_ver} |
%define kprovides2 kernel = %{tar_ver} |
288 |
%define kobsoletes1 dkms-r8192se <= 0019.1207.2010-2 |
%define kobsoletes1 dkms-r8192se <= 0019.1207.2010-2 |
289 |
%define kobsoletes2 dkms-lzma <= 4.43-32 |
%define kobsoletes2 dkms-lzma <= 4.43-32 |
290 |
%define kobsoletes3 dkms-psb <= 4.41.1-7 |
%define kobsoletes3 dkms-psb <= 4.41.1-7 |
291 |
# conflict dkms packages that dont support kernel-4.1 |
# conflict dkms packages that dont support kernel-4.4 |
292 |
%define kconflicts1 dkms-broadcom-wl < 6.30.223.248-2.1 |
%define kconflicts1 dkms-broadcom-wl < 6.30.223.271-4 |
293 |
%define kconflicts2 dkms-fglrx < 15.200.1046-1.1 |
%define kconflicts2 dkms-fglrx < 15.302-1 |
294 |
%define kconflicts3 dkms-nvidia-current < 346.72-1 |
%define kconflicts3 dkms-nvidia-current < 352.79-1 |
295 |
%define kconflicts4 dkms-nvidia340 < 340.76-2 |
%define kconflicts4 dkms-nvidia340 < 340.96-1 |
296 |
%define kconflicts5 dkms-nvidia304 < 304.125-5 |
%define kconflicts5 dkms-nvidia304 < 304.131-1 |
297 |
%define kconflicts6 dkms-virtualbox < 4.3.28-1 |
%define kconflicts6 dkms-virtualbox < 5.0.6-1 |
298 |
%define kconflicts7 dkms-xtables-addons < 2.7-1 |
%define kconflicts7 dkms-xtables-addons < 2.10-1 |
299 |
# not supported by x11-server-1.16 |
# not supported by x11-server-1.16 |
300 |
%define kconflicts8 dkms-nvidia173 <= 173.14.39 |
%define kconflicts8 dkms-nvidia173 <= 173.14.39 |
301 |
# (tmb) nvidia96xx does not support this kernel or x11-server-1.13 |
# (tmb) nvidia96xx does not support this kernel or x11-server-1.13 |
305 |
# (tmb) conflict too old drakxtools-backend to avoid bogus root=/dev/ (#9536) |
# (tmb) conflict too old drakxtools-backend to avoid bogus root=/dev/ (#9536) |
306 |
%define kconflicts11 drakxtools-backend < 15.37-1 |
%define kconflicts11 drakxtools-backend < 15.37-1 |
307 |
# (tmb) conflict older btrfs-progs to get the new in same transaction and in initrd |
# (tmb) conflict older btrfs-progs to get the new in same transaction and in initrd |
308 |
%define kconflicts12 btrfs-progs < 4.1.2-1 |
%define kconflicts12 btrfs-progs < 4.4.1-1 |
309 |
# (tmb) conflict too old plymouth (mga#15486) |
# (tmb) conflict too old plymouth (mga#15486) |
310 |
%define kconflicts13 plymouth < 0.8.6.1-13 |
%define kconflicts13 plymouth < 0.8.6.1-13 |
311 |
# (tmb) conflict too old radeon-firmware to get the uvd firmwares in initrd |
# (tmb) conflict too old radeon-firmware to get the uvd firmwares in initrd |
312 |
%define kconflicts14 radeon-firmware < 20150722-1 |
%define kconflicts14 radeon-firmware < 20160219-1 |
313 |
# (tmb) conflict old irmware to get the firmwares in initrd |
# (tmb) conflict old firmware to get the firmwares in initrd |
314 |
%define kconflicts15 kernel-firmware-nonfree < 20150722-1 |
%define kconflicts15 kernel-firmware-nonfree < 20160219-1 |
315 |
|
# (tmb) conflict old microcode to get updated ones in initrd for early loading |
316 |
|
%define kconflicts16 microcode < 0.20160303-1 |
317 |
# (tmb) conflict old theme to get mga5 theme in initrd |
# (tmb) conflict old theme to get mga5 theme in initrd |
318 |
%define kconflicts16 mageia-gfxboot-theme < 4.5.6.6-1 |
%define kconflicts17 mageia-gfxboot-theme < 4.5.6.6-1 |
319 |
# (tmb) conflict too old grub2(-efi) |
# (tmb) conflict too old grub2(-efi) |
320 |
%define kconflicts17 grub2 < 2.02-0.git9752.18 |
%define kconflicts18 grub2 < 2.02-0.git9752.18 |
321 |
%define kconflicts18 grub2-efi < 2.02-0.git9752.18 |
%define kconflicts19 grub2-efi < 2.02-0.git9752.18 |
322 |
# (tmb) conflict too old efibootmgr |
# (tmb) conflict too old efibootmgr |
323 |
%define kconflicts19 efibootmgr < 0.11.0-7 |
%define kconflicts20 efibootmgr < 0.11.0-7 |
324 |
# (tmb) conflict for vmmouse breakage (mga#16954) |
# (tmb) conflict for vmmouse breakage (mga#16954) |
325 |
%define kconflicts20 x11-driver-input-vmmouse < 13.1.0-1 |
%define kconflicts21 x11-driver-input-vmmouse < 13.1.0-1 |
326 |
|
|
327 |
Autoreqprov: no |
Autoreqprov: no |
328 |
|
|
329 |
BuildRequires: gcc >= 4.8.2-1 |
BuildRequires: gcc |
330 |
BuildRequires: binutils >= 1:2.24-0.20131016.1 |
BuildRequires: binutils >= 1:2.24-0.20131016.1 |
331 |
BuildRequires: kmod >= 12-2 |
BuildRequires: kmod >= 12-2 |
332 |
BuildRequires: bc |
BuildRequires: bc |
349 |
BuildRequires: flex |
BuildRequires: flex |
350 |
BuildRequires: xmlto |
BuildRequires: xmlto |
351 |
BuildRequires: perl-devel |
BuildRequires: perl-devel |
352 |
|
%ifarch %{ix86} x86_64 |
353 |
BuildRequires: numa-devel |
BuildRequires: numa-devel |
354 |
%endif |
%endif |
355 |
|
%endif |
356 |
|
|
357 |
|
|
358 |
%description |
%description |
391 |
Conflicts: %kconflicts10 %kconflicts11 %kconflicts12 \ |
Conflicts: %kconflicts10 %kconflicts11 %kconflicts12 \ |
392 |
Conflicts: %kconflicts13 %kconflicts14 %kconflicts15 \ |
Conflicts: %kconflicts13 %kconflicts14 %kconflicts15 \ |
393 |
Conflicts: %kconflicts16 %kconflicts17 %kconflicts18 \ |
Conflicts: %kconflicts16 %kconflicts17 %kconflicts18 \ |
394 |
Conflicts: %kconflicts19 %kconflicts20 \ |
Conflicts: %kconflicts19 %kconflicts20 %kconflicts21 \ |
395 |
Provides: should-restart = system \ |
Provides: should-restart = system \ |
396 |
Recommends: crda iw cpupower \ |
Recommends: crda iw cpupower \ |
397 |
Recommends: %{kname}-%{1}-latest \ |
Recommends: %{kname}-%{1}-latest \ |
558 |
# |
# |
559 |
# ARM kernels |
# ARM kernels |
560 |
# |
# |
561 |
|
%ifarch armv5tl |
562 |
|
# |
563 |
|
# kernel-desktop-armv6v7 |
564 |
|
# |
565 |
|
%if %build_desktop_armv6v7 |
566 |
|
%define summary_desktop_armv6v7 Linux kernel for desktop use with ARMv6 or ARMv7 |
567 |
|
%define info_desktop_armv6v7 This kernel is compiled for desktop use, single or \ |
568 |
|
multiple ARMv6 or ARMv7 processor(s)/core(s), using HZ_1000, voluntary preempt, \ |
569 |
|
CFS cpu scheduler and cfq i/o scheduler. |
570 |
|
%mkflavour desktop-armv6v7 |
571 |
|
%endif |
572 |
|
%endif |
573 |
%ifarch %{arm} |
%ifarch %{arm} |
574 |
%if %build_iop32x |
%if %build_iop32x |
575 |
%define summary_iop32x Linux Kernel for Arm machines based on Xscale IOP32X |
%define summary_iop32x Linux Kernel for Arm machines based on Xscale IOP32X |
577 |
or ss4000e or sanmina boards. |
or ss4000e or sanmina boards. |
578 |
%mkflavour iop32x |
%mkflavour iop32x |
579 |
%endif |
%endif |
|
%if %build_kirkwood |
|
|
%define summary_kirkwood Linux Kernel for Arm machines based on Kirkwood |
|
|
%define info_kirkwood This kernel is compiled for kirkwood boxes. It will run on openrd boards. |
|
|
%mkflavour kirkwood |
|
|
%endif |
|
580 |
%if %build_versatile |
%if %build_versatile |
581 |
%define summary_versatile Linux Kernel for Versatile arm machines |
%define summary_versatile Linux Kernel for Versatile arm machines |
582 |
%define info_versatile This kernel is compiled for Versatile boxes. It will run on Qemu for instance. |
%define info_versatile This kernel is compiled for Versatile boxes. It will run on Qemu for instance. |
799 |
|
|
800 |
%kmake -s all |
%kmake -s all |
801 |
|
|
|
%ifarch %{arm} |
|
|
make dtbs |
|
|
%endif |
|
|
|
|
802 |
# Start installing stuff |
# Start installing stuff |
803 |
install -d %{temp_boot} |
install -d %{temp_boot} |
804 |
install -m 644 System.map %{temp_boot}/System.map-$KernelVer |
install -m 644 System.map %{temp_boot}/System.map-$KernelVer |
844 |
cp -fR arch/x86/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/x86/kernel/ |
cp -fR arch/x86/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/x86/kernel/ |
845 |
cp -fR arch/x86/kernel/asm-offsets_{32,64}.c $TempDevelRoot/arch/x86/kernel/ |
cp -fR arch/x86/kernel/asm-offsets_{32,64}.c $TempDevelRoot/arch/x86/kernel/ |
846 |
cp -fR arch/x86/purgatory/* $TempDevelRoot/arch/x86/purgatory/ |
cp -fR arch/x86/purgatory/* $TempDevelRoot/arch/x86/purgatory/ |
847 |
cp -fR arch/x86/syscalls/syscall* $TempDevelRoot/arch/x86/syscalls/ |
cp -fR arch/x86/entry/syscalls/syscall* $TempDevelRoot/arch/x86/entry/syscalls/ |
848 |
cp -fR arch/x86/include $TempDevelRoot/arch/x86/ |
cp -fR arch/x86/include $TempDevelRoot/arch/x86/ |
849 |
cp -fR arch/x86/tools $TempDevelRoot/arch/x86/ |
cp -fR arch/x86/tools $TempDevelRoot/arch/x86/ |
850 |
%else |
%else |
857 |
# Needed for truecrypt build (Danny) |
# Needed for truecrypt build (Danny) |
858 |
cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/ |
cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/ |
859 |
|
|
860 |
|
# needed by include/generated/timeconst.h |
861 |
|
cp -fR kernel/time/timeconst.bc $TempDevelRoot/kernel/time/ |
862 |
|
|
863 |
# Needed for lguest |
# Needed for lguest |
864 |
cp -fR drivers/lguest/lg.h $TempDevelRoot/drivers/lguest/ |
cp -fR drivers/lguest/lg.h $TempDevelRoot/drivers/lguest/ |
865 |
|
|
890 |
%endif |
%endif |
891 |
%ifnarch %{ix86} x86_64 |
%ifnarch %{ix86} x86_64 |
892 |
rm -rf $TempDevelRoot/arch/x86 |
rm -rf $TempDevelRoot/arch/x86 |
893 |
|
# arch/x86/ras/Kconfig is included by drivers/ras/Kconfig |
894 |
|
# and kconfig's source command seems to be evaluated even under a false conditional |
895 |
|
mkdir -p $TempDevelRoot/arch/x86/ras |
896 |
|
cp -fR arch/x86/ras/{Kconfig,Makefile} $TempDevelRoot/arch/x86/ras |
897 |
%endif |
%endif |
898 |
|
|
899 |
# Clean the scripts tree, and make sure everything is ok (sanity check) |
# Clean the scripts tree, and make sure everything is ok (sanity check) |
927 |
$DevelRoot/arch/um |
$DevelRoot/arch/um |
928 |
%ifarch %{ix86} x86_64 |
%ifarch %{ix86} x86_64 |
929 |
$DevelRoot/arch/x86 |
$DevelRoot/arch/x86 |
930 |
|
%else |
931 |
|
$DevelRoot/arch/x86/ras |
932 |
%endif |
%endif |
933 |
$DevelRoot/block |
$DevelRoot/block |
934 |
|
$DevelRoot/certs |
935 |
$DevelRoot/crypto |
$DevelRoot/crypto |
936 |
$DevelRoot/drivers |
$DevelRoot/drivers |
937 |
$DevelRoot/firmware |
$DevelRoot/firmware |
1191 |
CreateKernel server |
CreateKernel server |
1192 |
%endif |
%endif |
1193 |
|
|
1194 |
|
%ifarch armv5tl |
1195 |
|
%if %build_desktop_armv6v7 |
1196 |
|
CreateKernel desktop-armv6v7 |
1197 |
|
%endif |
1198 |
|
%endif |
1199 |
|
|
1200 |
%ifarch %{arm} |
%ifarch %{arm} |
1201 |
%if %build_iop32x |
%if %build_iop32x |
1202 |
CreateKernel iop32x |
CreateKernel iop32x |
1203 |
%endif |
%endif |
|
%if %build_kirkwood |
|
|
CreateKernel kirkwood |
|
|
%endif |
|
1204 |
%if %build_versatile |
%if %build_versatile |
1205 |
CreateKernel versatile |
CreateKernel versatile |
1206 |
%endif |
%endif |
1228 |
|
|
1229 |
# We don't make to repeat the depend code at the install phase |
# We don't make to repeat the depend code at the install phase |
1230 |
%if %build_source |
%if %build_source |
1231 |
%ifarch %{arm} |
PrepareKernel "" %{buildrpmrel}custom |
|
PrepareKernel "kirkwood" %{buildrpmrel}custom |
|
|
%else |
|
|
PrepareKernel "" %{buildrpmrel}custom |
|
|
%endif |
|
1232 |
%smake -s mrproper |
%smake -s mrproper |
1233 |
%endif |
%endif |
1234 |
|
|
1268 |
%endif |
%endif |
1269 |
|
|
1270 |
# other misc files |
# other misc files |
1271 |
rm -f %{target_source}/{.config.old,.config.cmd,.gitignore,.lst,.mailmap} |
rm -f %{target_source}/{.config.old,.config.cmd,.gitignore,.lst,.mailmap,.get_maintainer.ignore} |
1272 |
rm -f %{target_source}/{.missing-syscalls.d,arch/.gitignore,firmware/.gitignore} |
rm -f %{target_source}/{.missing-syscalls.d,arch/.gitignore,firmware/.gitignore} |
1273 |
rm -rf %{target_source}/.tmp_depmod/ |
rm -rf %{target_source}/.tmp_depmod/ |
1274 |
|
|
1275 |
# clean tools tree |
# clean tools tree |
1276 |
pushd %{target_source} |
pushd %{target_source} |
1277 |
%smake -C tools clean |
%smake -C tools clean |
1278 |
|
%smake -C tools/build clean |
1279 |
|
%smake -C tools/build/feature clean |
1280 |
popd |
popd |
1281 |
|
|
1282 |
#endif %build_source |
#endif %build_source |
1367 |
%{_kerneldir}/arch/um |
%{_kerneldir}/arch/um |
1368 |
%{_kerneldir}/arch/x86 |
%{_kerneldir}/arch/x86 |
1369 |
%{_kerneldir}/block |
%{_kerneldir}/block |
1370 |
|
%{_kerneldir}/certs |
1371 |
%{_kerneldir}/crypto |
%{_kerneldir}/crypto |
1372 |
%{_kerneldir}/drivers |
%{_kerneldir}/drivers |
1373 |
%{_kerneldir}/firmware |
%{_kerneldir}/firmware |
1438 |
%endif |
%endif |
1439 |
%{_bindir}/trace |
%{_bindir}/trace |
1440 |
%{_libdir}/libperf-gtk.so |
%{_libdir}/libperf-gtk.so |
1441 |
|
%{_datadir}/perf-core/strace/groups/file |
1442 |
%dir %{_libdir}/traceevent |
%dir %{_libdir}/traceevent |
1443 |
%dir %{_libdir}/traceevent/plugins |
%dir %{_libdir}/traceevent/plugins |
1444 |
%{_libdir}/traceevent/plugins/plugin_* |
%{_libdir}/traceevent/plugins/plugin_* |