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
31 ExclusiveArch: %arm i586 i686
33 %package -n %{variant}-linux-kernel
36 Provides: kernel-uname-r = %{fullVersion}
39 The Linux Kernel, the operating system core itself
41 %description -n %{variant}-linux-kernel
42 This package contains the Linux kernel for Tizen (%{profile} profile, arch %{buildarch}, target board %{target_board})
44 %package -n kernel-headers-%{name}
45 Summary: Linux support headers for userspace development
46 Group: Development/System
47 Obsoletes: kernel-headers
48 Provides: kernel-headers = %{version}-%{release}
49 ExclusiveArch: %arm i586 i686
51 %description -n kernel-headers-%{name}
52 This package provides userspaces headers from the Linux kernel. These
53 headers are used by the installed headers for GNU glibc and other system
56 %package -n %{variant}-linux-kernel-modules
57 Summary: Linux kernel modules
58 Group: Development/System
59 Provides: kernel-modules = %{fullVersion}
60 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}
73 %description -n %{variant}-linux-kernel-devel
76 %package -n %{variant}-linux-kernel-debug
77 Summary: Debug package for %{variant} kernel
78 Group: Development/System
81 %description -n %{variant}-linux-kernel-debug
82 Debug package for %{variant} kernel
90 # Make sure EXTRAVERSION says what we want it to say
91 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{config_name}/" Makefile
94 make %{?_smp_mflags} uImage
97 make modules %{?_smp_mflags}
100 # 4. Create tar repo for build directory
101 tar cpf linux-kernel-build-%{fullVersion}.tar .
105 QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
107 # 1. Destination directories
108 mkdir -p %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
111 mkdir -p %{buildroot}/boot/
112 mkdir -p %{buildroot}/lib/modules/%{fullVersion}
113 mkdir -p %{buildroot}/var/tmp/kernel/
115 # 2. Install zImage, System.map
116 install -m 755 arch/arm/boot/uImage %{buildroot}/boot/
117 install -m 644 System.map %{buildroot}/boot/System.map-%{fullVersion}
118 install -m 644 .config %{buildroot}/boot/config-%{fullVersion}
119 install -m 755 arch/arm/boot/uImage %{buildroot}/var/tmp/kernel/
120 install -m 644 vmlinux %{buildroot}/var/tmp/kernel/
121 install -m 644 .config %{buildroot}/var/tmp/kernel/config
122 install -m 644 System.map %{buildroot}/var/tmp/kernel/System.map
125 make -j8 INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot}/ modules_install KERNELRELEASE=%{fullVersion}
128 # 4. Install kernel headers
129 make -j8 INSTALL_PATH=%{buildroot} INSTALL_MOD_PATH=%{buildroot} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
132 # 5. Restore source and build irectory
133 tar -xf linux-kernel-build-%{fullVersion}.tar -C %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
134 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
135 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch
136 #ls %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/%{buildarch}
137 #mv %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/%{buildarch} .
138 #mv %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/Kconfig .
139 #rm -rf %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/*
140 #mv %{buildarch} %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/
141 #mv Kconfig %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/arch/
144 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".tmp_vmlinux*" -exec rm -f {} \;
145 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".gitignore" -exec rm -f {} \;
146 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name ".*dtb*tmp" -exec rm -f {} \;
147 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.*tmp" -exec rm -f {} \;
148 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "vmlinux" -exec rm -f {} \;
149 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "uImage" -exec rm -f {} \;
150 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "zImage" -exec rm -f {} \;
151 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "test-*" -exec rm -f {} \;
152 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.cmd" -exec rm -f {} \;
153 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.ko" -exec rm -f {} \;
154 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.o" -exec rm -f {} \;
155 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.S" -exec rm -f {} \;
156 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.s" -exec rm -f {} \;
157 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -name "*.c" -not -path "%{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/scripts/*" -exec rm -f {} \;
158 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion} -size 0c -exec rm -f {} \;
161 find %{buildroot}/usr/include -name "\.install" -exec rm -f {} \;
162 find %{buildroot}/usr -name "..install.cmd" -exec rm -f {} \;
165 # 6.1 Clean Documentation directory
166 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/Documentation -type f ! -name "Makefile" ! -name "*.sh" ! -name "*.pl" -exec rm -f {} \;
168 rm -rf %{buildroot}/boot/vmlinux*
169 rm -rf %{buildroot}/System.map*
170 rm -rf %{buildroot}/vmlinux*
172 # 7. Update file permisions
173 %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"
175 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/tools/perf/scripts/ -type f %{excluded_files} -exec chmod 755 {} \;
176 find %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}/scripts/ -type f %{excluded_files} -exec chmod 755 {} \;
177 find %{buildroot}/usr -type f ! -name "check-perf-tracei.pl" -name "*.sh" -name "*.pl" -exec chmod 755 {} \;
178 find %{buildroot}/lib/modules/ -name "*.ko" -type f -exec chmod 755 {} \;
180 # 8. Create symbolic links
181 rm -f %{buildroot}/lib/modules/%{fullVersion}/build
182 rm -f %{buildroot}/lib/modules/%{fullVersion}/source
183 ln -sf /usr/src/linux-kernel-build-%{fullVersion} %{buildroot}/lib/modules/%{fullVersion}/build
189 %files -n kernel-headers-%{name}
190 %defattr(-,root,root)
194 %files -n %{variant}-linux-kernel-devel
195 %defattr(-,root,root)
196 /usr/src/linux-kernel-build-%{fullVersion}
197 /lib/modules/%{fullVersion}/modules.*
198 /lib/modules/%{fullVersion}/build
200 %files -n %{variant}-linux-kernel-modules
201 %defattr(-,root,root)
202 /lib/modules/%{fullVersion}/kernel
203 /lib/modules/%{fullVersion}/modules.*
205 %files -n %{variant}-linux-kernel-debug
206 %defattr(-,root,root)
207 /var/tmp/kernel/uImage
208 /var/tmp/kernel/vmlinux
209 /var/tmp/kernel/config
210 /var/tmp/kernel/System.map
212 %files -n %{variant}-linux-kernel
213 %defattr(-,root,root)