1 %define config_name trats2_defconfig
3 %define target_board trats2
4 %define variant %{buildarch}-%{target_board}
7 Summary: The Linux Kernel
11 Group: System Environment/Kernel
12 Vendor: The Linux Community
13 URL: http://www.kernel.org
14 Source0: linux-3.0.101.tar.gz
15 BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root
16 Provides: linux-3.0.101
17 %define __spec_install_post /usr/lib/rpm/brp-compress || :
18 %define debug_package %{nil}
20 %define fullVersion %{version}-%{config_name}
25 BuildRequires: binutils-devel
27 BuildRequires: module-init-tools
29 BuildRequires: u-boot-tools
33 %if "%{?tizen_profile_name}" != "mobile"
37 %package -n %{variant}-linux-kernel
40 Provides: kernel-uname-r = %{fullVersion}
43 The Linux Kernel, the operating system core itself
45 %description -n %{variant}-linux-kernel
46 This package contains the Linux kernel for Tizen (%{profile} profile, arch %{buildarch}, target board %{target_board})
48 %package -n %{variant}-linux-kernel-headers
49 Summary: Linux support headers for userspace development
50 Group: Development/System
52 %description -n %{variant}-linux-kernel-headers
53 This package provides userspaces headers from the Linux kernel. These
54 headers are used by the installed headers for GNU glibc and other system
57 %package -n %{variant}-linux-kernel-modules
58 Summary: Linux kernel modules
59 Group: Development/System
60 Provides: kernel-modules = %{fullVersion}
61 Provides: kernel-modules-uname-r = %{fullVersion}
63 %description -n %{variant}-linux-kernel-modules
64 This package provides kernel modules.
66 %package -n %{variant}-linux-kernel-devel
67 Summary: Prebuild Linux kernel
68 Group: Development/System
69 Provides: kernel-devel = %{fullVersion}
70 Provides: kernel-devel-uname-r = %{fullVersion}
72 %description -n %{variant}-linux-kernel-devel
75 %package -n %{variant}-linux-kernel-debug
76 Summary: Debug package for %{variant} kernel
77 Group: Development/System
79 %description -n %{variant}-linux-kernel-debug
80 Debug package for %{variant} kernel
87 # Make sure EXTRAVERSION says what we want it to say
88 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{config_name}/" Makefile
91 make %{?_smp_mflags} uImage
94 make modules %{?_smp_mflags}
96 # 4. Create tar repo for build directory
97 tar cpf linux-kernel-build-%{fullVersion}.tar .
101 QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
103 # 1. Destination directories
104 mkdir -p %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
106 mkdir -p %{buildroot}/boot/
107 mkdir -p %{buildroot}/lib/modules/%{fullVersion}
108 mkdir -p %{buildroot}/var/tmp/kernel/
110 # 2. Install zImage, System.map
111 install -m 755 arch/arm/boot/uImage %{buildroot}/boot/
112 install -m 644 System.map %{buildroot}/boot/System.map-%{fullVersion}
113 install -m 644 .config %{buildroot}/boot/config-%{fullVersion}
114 install -m 755 arch/arm/boot/uImage %{buildroot}/var/tmp/kernel/
115 install -m 644 vmlinux %{buildroot}/var/tmp/kernel/
116 install -m 644 .config %{buildroot}/var/tmp/kernel/config
117 install -m 644 System.map %{buildroot}/var/tmp/kernel/System.map
120 make -j8 INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot}/ modules_install KERNELRELEASE=%{fullVersion}
122 # 4. Install kernel headers
123 make -j8 INSTALL_PATH=%{buildroot} INSTALL_MOD_PATH=%{buildroot} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
125 # 5. Restore source and build irectory
126 tar -xf linux-kernel-build-%{fullVersion}.tar -C %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
127 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
128 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch
129 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/%{buildarch}
130 #mv %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/%{buildarch} .
131 #mv %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/Kconfig .
132 #rm -rf %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/*
133 #mv %{buildarch} %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/
134 #mv Kconfig %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/
137 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".tmp_vmlinux*" -exec rm -f {} \;
138 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".gitignore" -exec rm -f {} \;
139 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".*dtb*tmp" -exec rm -f {} \;
140 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.*tmp" -exec rm -f {} \;
141 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "vmlinux" -exec rm -f {} \;
142 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "uImage" -exec rm -f {} \;
143 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "zImage" -exec rm -f {} \;
144 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "test-*" -exec rm -f {} \;
145 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.cmd" -exec rm -f {} \;
146 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.ko" -exec rm -f {} \;
147 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.o" -exec rm -f {} \;
148 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.S" -exec rm -f {} \;
149 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.s" -exec rm -f {} \;
150 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.c" -not -path "%{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/scripts/*" -exec rm -f {} \;
151 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -size 0c -exec rm -f {} \;
153 find %{buildroot}/usr/include -name "\.install" -exec rm -f {} \;
154 find %{buildroot}/usr -name "..install.cmd" -exec rm -f {} \;
156 # 6.1 Clean Documentation directory
157 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/Documentation -type f ! -name "Makefile" ! -name "*.sh" ! -name "*.pl" -exec rm -f {} \;
159 rm -rf %{buildroot}/boot/vmlinux*
160 rm -rf %{buildroot}/System.map*
161 rm -rf %{buildroot}/vmlinux*
163 # 7. Update file permisions
164 %define excluded_files ! -name "*.h" ! -name "*.cocci" ! -name "*.tst" ! -name "*.y" ! -name "*.in" ! -name "*.gperf" ! -name "*.PL" ! -name "lex*" ! -name "check-perf-tracei.pl" ! -name "*.*shipped" ! -name "*asm-generic" ! -name "Makefile*" ! -name "*.lds" ! -name "mkversion" ! -name "zconf.l" ! -name "README" ! -name "*.py" ! -name "gconf.glade" ! -name "*.cc" ! -name "dbus_contexts" ! -name "*.pm" ! -name "*.xs" ! -name "*.l" ! -name "EventClass.py" ! -name "typemap" ! -name "net_dropmonitor.py"
166 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/tools/perf/scripts/ -type f %{excluded_files} -exec chmod 755 {} \;
167 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/scripts/ -type f %{excluded_files} -exec chmod 755 {} \;
168 find %{buildroot}/usr -type f ! -name "check-perf-tracei.pl" -name "*.sh" -name "*.pl" -exec chmod 755 {} \;
169 find %{buildroot}/lib/modules/ -name "*.ko" -type f -exec chmod 755 {} \;
171 # 8. Create symbolic links
172 rm -f %{buildroot}/lib/modules/%{fullVersion}/build
173 rm -f %{buildroot}/lib/modules/%{fullVersion}/source
174 ln -sf /usr/src/linux-kernel-build-%{fullVersion} %{buildroot}/lib/modules/%{fullVersion}/build
179 %files -n %{variant}-linux-kernel-headers
180 %defattr(-,root,root)
183 %files -n %{variant}-linux-kernel-devel
184 %defattr(-,root,root)
185 /usr/src/linux-kernel-build-%{fullVersion}
186 /lib/modules/%{fullVersion}/modules.*
187 /lib/modules/%{fullVersion}/build
189 %files -n %{variant}-linux-kernel-modules
190 %defattr(-,root,root)
191 /lib/modules/%{fullVersion}/kernel
192 /lib/modules/%{fullVersion}/modules.*
194 %files -n %{variant}-linux-kernel-debug
195 %defattr(-,root,root)
196 /var/tmp/kernel/uImage
197 /var/tmp/kernel/vmlinux
198 /var/tmp/kernel/config
199 /var/tmp/kernel/System.map
201 %files -n %{variant}-linux-kernel
202 %defattr(-,root,root)