packaging: Change the kernel version of the spec files
[platform/kernel/linux-exynos.git] / packaging / odroid-linux-kernel.spec
1 %define config_name tizen_odroid_defconfig
2 %define buildarch arm
3 %define target_board odroidxu3
4 %define variant %{buildarch}-%{target_board}
5
6 Name: odroid-linux-kernel
7 Summary: The Linux Kernel for ODROID XU3
8 Version: 4.14.99
9 Release: 0
10 License: GPL-2.0
11 ExclusiveArch: %{arm}
12 Group: System/Kernel
13 Vendor: The Linux Community
14 URL: http://www.kernel.org
15 Source0:   linux-kernel-%{version}.tar.xz
16 BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root
17
18 %define fullVersion %{version}-%{variant}
19
20 BuildRequires: module-init-tools
21 BuildRequires: u-boot-tools
22 BuildRequires: bc
23
24 %description
25 The Linux Kernel, the operating system core itself
26
27 %package -n %{variant}-linux-kernel
28 Summary: Tizen kernel for %{target_board}
29 Group: System/Kernel
30 Provides: %{variant}-odroid-kernel-profile_common = %{version}-%{release}
31 Provides: %{variant}-odroid-kernel-profile_mobile = %{version}-%{release}
32 Provides: %{variant}-odroid-kernel-profile_tv = %{version}-%{release}
33 Provides: %{variant}-odroid-kernel-profile_ivi = %{version}-%{release}
34 Provides: %{variant}-kernel-uname-r = %{fullVersion}
35 Provides: linux-kernel = %{version}-%{release}
36
37 %description -n %{variant}-linux-kernel
38 This package contains the Linux kernel for Tizen (common/mobile/tv/ivi profile, arch %{buildarch}, target board %{target_board})
39
40 %package -n %{variant}-linux-kernel-modules
41 Summary: Kernel modules for %{target_board}
42 Group: System/Kernel
43 Provides: %{variant}-kernel-modules = %{fullVersion}
44 Provides: %{variant}-kernel-modules-uname-r = %{fullVersion}
45
46 %description -n %{variant}-linux-kernel-modules
47 Kernel-modules includes the loadable kernel modules(.ko files) for %{target_board}
48
49 %package -n %{variant}-linux-kernel-devel
50 License: GPL-2.0
51 Summary: Linux support kernel map and etc for other packages
52 Group: System/Kernel
53 Provides: %{variant}-kernel-devel = %{fullVersion}
54 Provides: %{variant}-kernel-devel-uname-r = %{fullVersion}
55
56 %description -n %{variant}-linux-kernel-devel
57 This package provides kernel map and etc information for odroid kernel.
58
59 %prep
60 %setup -q -n linux-kernel-%{version}
61
62 %build
63 %{?asan:/usr/bin/gcc-unforce-options}
64 %{?ubsan:/usr/bin/gcc-unforce-options}
65
66 # Make sure EXTRAVERSION says what we want it to say
67 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}-%{variant}/" Makefile
68
69 # 1. Compile sources
70 make %{config_name}
71 make %{?_smp_mflags}
72
73 # 2. Build zImage
74 make zImage %{?_smp_mflags}
75 make dtbs %{?_smp_mflags}
76
77 # 3. Build modules
78 make modules %{?_smp_mflags}
79
80 %install
81 QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
82
83 # 1. Destynation directories
84 mkdir -p %{buildroot}/boot/
85 mkdir -p %{buildroot}/lib/modules/%{fullVersion}
86
87 # 2. Install zImage, System.map, ...
88 install -m 755 arch/arm/boot/zImage %{buildroot}/boot/
89 install -m 644 arch/arm/boot/dts/*odroid*.dtb %{buildroot}/boot/
90
91 install -m 644 System.map %{buildroot}/boot/System.map-%{fullVersion}
92 install -m 644 .config %{buildroot}/boot/config-%{fullVersion}
93
94 # 3. Install modules
95 make INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot} modules_install KERNELRELEASE=%{fullVersion}
96
97 rm -rf %{buildroot}/boot/vmlinux*
98 rm -rf %{buildroot}/System.map*
99 rm -rf %{buildroot}/vmlinux*
100
101 # 7. Update file permisions
102 find %{buildroot}/lib/modules/ -name "*.ko" -type f -print0 | xargs -0 chmod 755
103
104 # 8. Create symbolic links
105 rm -f %{buildroot}/lib/modules/%{fullVersion}/build
106 rm -f %{buildroot}/lib/modules/%{fullVersion}/source
107
108 # 9-1. remove unnecessary files to prepare for devel package
109 rm -f tools/mkimage*
110 find %{_builddir}/linux-kernel-%{version} -name "*\.HEX" -type f -delete
111 find %{_builddir}/linux-kernel-%{version} -name "vdso.so.raw" -type f -delete
112 find %{_builddir}/linux-kernel-%{version} -name ".tmp_vmlinux*" -delete
113 find %{_builddir}/linux-kernel-%{version} -name ".gitignore" -delete
114 find %{_builddir}/linux-kernel-%{version} -name "\.*dtb*tmp" -delete
115 find %{_builddir}/linux-kernel-%{version} -name "\.*dtb" -delete
116 find %{_builddir}/linux-kernel-%{version} -name "*\.*tmp" -delete
117 find %{_builddir}/linux-kernel-%{version} -name "vmlinux" -delete
118 find %{_builddir}/linux-kernel-%{version} -name "zImage" -delete
119 find %{_builddir}/linux-kernel-%{version} -name "*.cmd" -delete
120 find %{_builddir}/linux-kernel-%{version} -name "*\.ko" -delete
121 find %{_builddir}/linux-kernel-%{version} -name "*\.o" -delete
122 find %{_builddir}/linux-kernel-%{version} -name "*\.S" -delete
123 find %{_builddir}/linux-kernel-%{version} -name "*\.c" -not -path "%{_builddir}/linux-kernel-%{version}/scripts/*" -delete
124
125 # 9-2. copy devel package
126 mkdir -p %{buildroot}/boot/kernel/devel
127 cp -r %{_builddir}/linux-kernel-%{version} %{buildroot}/boot/kernel/devel/kernel-devel-%{variant}
128
129 %clean
130 rm -rf %{buildroot}
131
132 %files -n %{variant}-linux-kernel-modules
133 /lib/modules/*
134
135 %files -n %{variant}-linux-kernel-devel
136 /boot/kernel/devel/*
137
138 %files -n %{variant}-linux-kernel
139 %license COPYING
140 /boot/zImage
141 /boot/*.dtb
142 /boot/System.map*
143 /boot/config*