tizen 2.4 release
[kernel/linux-3.0.git] / packaging / linux-3.0.spec
1 %define config_name trats2_defconfig
2 %define buildarch arm
3 %define target_board trats2
4 %define variant %{buildarch}-%{target_board}
5
6 Name: linux-3.0
7 Summary: The Linux Kernel
8 Version: 3.0.101
9 Release: 0
10 License: GPL-2.0
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}
19
20 %define fullVersion %{version}-%{config_name}
21
22 BuildRequires:  cpio
23 BuildRequires:  lzma
24 BuildRequires:  python
25 BuildRequires:  binutils-devel
26 BuildRequires:  lzop
27 BuildRequires:  module-init-tools
28 %ifarch %arm
29 BuildRequires:  u-boot-tools
30 %endif
31 ExclusiveArch:  %arm
32
33 %if "%{?tizen_profile_name}" != "mobile"
34 ExcludeArch: %{arm}
35 %endif
36
37 %package -n %{variant}-linux-kernel
38 Summary: Tizen kernel
39 Group: System/Kernel
40 Provides: kernel-uname-r = %{fullVersion}
41
42 %description
43 The Linux Kernel, the operating system core itself
44
45 %description -n %{variant}-linux-kernel
46 This package contains the Linux kernel for Tizen (%{profile} profile, arch %{buildarch}, target board %{target_board})
47
48 %package -n %{variant}-linux-kernel-headers
49 Summary:        Linux support headers for userspace development
50 Group:          Development/System
51
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
55  libraries.
56
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}
62
63 %description -n %{variant}-linux-kernel-modules
64 This package provides kernel modules.
65
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}
71
72 %description -n %{variant}-linux-kernel-devel
73 Prebuild linux kernel
74
75 %package -n %{variant}-linux-kernel-debug
76 Summary:        Debug package for %{variant} kernel
77 Group:          Development/System
78
79 %description -n %{variant}-linux-kernel-debug
80 Debug package for %{variant} kernel
81
82 %prep
83 %setup -q
84
85 %build
86 # 1. Compile sources
87 # Make sure EXTRAVERSION says what we want it to say
88 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{config_name}/" Makefile
89
90 make %{config_name}
91 make %{?_smp_mflags} uImage
92
93 # 2. Build modules
94 make modules %{?_smp_mflags}
95
96 # 4. Create tar repo for build directory
97 tar cpf linux-kernel-build-%{fullVersion}.tar .
98
99 %install
100
101 QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
102
103 # 1. Destination directories
104 mkdir -p %{buildroot}/usr/src/linux-kernel-build-%{fullVersion}
105
106 mkdir -p %{buildroot}/boot/
107 mkdir -p %{buildroot}/lib/modules/%{fullVersion}
108 mkdir -p %{buildroot}/var/tmp/kernel/
109
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
118
119 # 3. Install modules
120 make -j8 INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot}/ modules_install KERNELRELEASE=%{fullVersion}
121
122 # 4. Install kernel headers
123 make -j8 INSTALL_PATH=%{buildroot} INSTALL_MOD_PATH=%{buildroot} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
124
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/
135
136 # 6. Remove files
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 {} \;
152
153 find %{buildroot}/usr/include -name "\.install"  -exec rm -f {} \;
154 find %{buildroot}/usr -name "..install.cmd" -exec rm -f {} \;
155
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 {} \;
158
159 rm -rf %{buildroot}/boot/vmlinux*
160 rm -rf %{buildroot}/System.map*
161 rm -rf %{buildroot}/vmlinux*
162
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"
165
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 {} \;
170
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
175
176 %clean
177 rm -rf %{buildroot}
178
179 %files -n %{variant}-linux-kernel-headers
180 %defattr(-,root,root)
181 /usr/include/*
182
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
188
189 %files -n %{variant}-linux-kernel-modules
190 %defattr(-,root,root)
191 /lib/modules/%{fullVersion}/kernel
192 /lib/modules/%{fullVersion}/modules.*
193
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
200
201 %files -n %{variant}-linux-kernel
202 %defattr(-,root,root)
203 /boot/System.map*
204 /boot/config*
205 /boot/uImage