1 %define config_name tizen_odroid_defconfig
3 %define target_board odroidxu3
4 %define variant %{buildarch}-%{target_board}
6 Name: odroid-linux-kernel
7 Summary: The Linux Kernel for ODROID XU3
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
18 %define fullVersion %{version}-%{variant}
20 BuildRequires: module-init-tools
21 BuildRequires: u-boot-tools
25 The Linux Kernel, the operating system core itself
27 %package -n %{variant}-linux-kernel
28 Summary: Tizen kernel for %{target_board}
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}
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})
40 %package -n %{variant}-linux-kernel-modules
41 Summary: Kernel modules for %{target_board}
43 Provides: %{variant}-kernel-modules = %{fullVersion}
44 Provides: %{variant}-kernel-modules-uname-r = %{fullVersion}
46 %description -n %{variant}-linux-kernel-modules
47 Kernel-modules includes the loadable kernel modules(.ko files) for %{target_board}
49 %package -n %{variant}-linux-kernel-devel
51 Summary: Linux support kernel map and etc for other packages
53 Provides: %{variant}-kernel-devel = %{fullVersion}
54 Provides: %{variant}-kernel-devel-uname-r = %{fullVersion}
56 %description -n %{variant}-linux-kernel-devel
57 This package provides kernel map and etc information for odroid kernel.
59 %package -n kdbus-tests
63 BuildRequires: libcap-devel rsync
65 %description -n kdbus-tests
66 A single binary that tests kdbus operation.
69 %setup -q -n linux-kernel-%{version}
72 %{?asan:/usr/bin/gcc-unforce-options}
73 %{?ubsan:/usr/bin/gcc-unforce-options}
75 # Make sure EXTRAVERSION says what we want it to say
76 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}-%{variant}/" Makefile
83 make zImage %{?_smp_mflags}
84 make dtbs %{?_smp_mflags}
87 make modules %{?_smp_mflags}
89 # Additionally, build kdbus tests
90 make -C tools/testing/selftests/kdbus
93 QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
95 # 1. Destynation directories
96 mkdir -p %{buildroot}/boot/
97 mkdir -p %{buildroot}/lib/modules/%{fullVersion}
99 # 2. Install zImage, System.map, ...
100 install -m 755 arch/arm/boot/zImage %{buildroot}/boot/
101 install -m 644 arch/arm/boot/dts/*odroid*.dtb %{buildroot}/boot/
103 install -m 644 System.map %{buildroot}/boot/System.map-%{fullVersion}
104 install -m 644 .config %{buildroot}/boot/config-%{fullVersion}
107 make INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot} modules_install KERNELRELEASE=%{fullVersion}
109 rm -rf %{buildroot}/boot/vmlinux*
110 rm -rf %{buildroot}/System.map*
111 rm -rf %{buildroot}/vmlinux*
113 # 7. Update file permisions
114 find %{buildroot}/lib/modules/ -name "*.ko" -type f -print0 | xargs -0 chmod 755
116 # 8. Create symbolic links
117 rm -f %{buildroot}/lib/modules/%{fullVersion}/build
118 rm -f %{buildroot}/lib/modules/%{fullVersion}/source
120 # install kdbus tests
121 %define _test_runner_dir /usr/lib/dbus-tests/runner
122 mkdir -p %{buildroot}%{_test_runner_dir}
123 make -C tools/testing/selftests/kdbus INSTALL_PATH=%{buildroot}%{_test_runner_dir} TEST_PROGS=kdbus-test install
124 make -C tools/testing/selftests/kdbus clean
126 # 9-1. remove unnecessary files to prepare for devel package
128 find %{_builddir}/linux-kernel-%{version} -name "*\.HEX" -type f -delete
129 find %{_builddir}/linux-kernel-%{version} -name "vdso.so.raw" -type f -delete
130 find %{_builddir}/linux-kernel-%{version} -name ".tmp_vmlinux*" -delete
131 find %{_builddir}/linux-kernel-%{version} -name ".gitignore" -delete
132 find %{_builddir}/linux-kernel-%{version} -name "\.*dtb*tmp" -delete
133 find %{_builddir}/linux-kernel-%{version} -name "\.*dtb" -delete
134 find %{_builddir}/linux-kernel-%{version} -name "*\.*tmp" -delete
135 find %{_builddir}/linux-kernel-%{version} -name "vmlinux" -delete
136 find %{_builddir}/linux-kernel-%{version} -name "zImage" -delete
137 find %{_builddir}/linux-kernel-%{version} -name "*.cmd" -delete
138 find %{_builddir}/linux-kernel-%{version} -name "*\.ko" -delete
139 find %{_builddir}/linux-kernel-%{version} -name "*\.o" -delete
140 find %{_builddir}/linux-kernel-%{version} -name "*\.S" -delete
141 find %{_builddir}/linux-kernel-%{version} -name "*\.c" -not -path "%{_builddir}/linux-kernel-%{version}/scripts/*" -delete
143 # 9-2. copy devel package
144 mkdir -p %{buildroot}/boot/kernel/devel
145 cp -r %{_builddir}/linux-kernel-%{version} %{buildroot}/boot/kernel/devel/kernel-devel-%{variant}
150 %files -n %{variant}-linux-kernel-modules
153 %files -n %{variant}-linux-kernel-devel
156 %files -n %{variant}-linux-kernel
163 %files -n kdbus-tests
164 %defattr(-,root,root)
165 %{_test_runner_dir}/kdbus-test