be27b20c16b223d907a644a0497834ba12ff82b9
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / packaging / linux-3.10-sc7730.spec
1 %define BOARD_TIZEN_Z3  tizen_tm1
2
3 Name: linux-3.10-sc7730
4 Summary: The Linux Kernel
5 Version: Tizen_sc7730
6 Release: 1
7 License: GPL-2.0
8 Group: System/Kernel
9 Vendor: The Linux Community
10 URL: http://www.kernel.org
11 Source0: %{name}-%{version}.tar.gz
12
13 BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root
14 Provides: linux-3.10
15 %define __spec_install_post /usr/lib/rpm/brp-compress || :
16 %define debug_package %{nil}
17
18 BuildRequires:  lzop
19 BuildRequires:  binutils-devel
20 BuildRequires:  module-init-tools
21 BuildRequires:  python
22 BuildRequires:  gcc
23 BuildRequires:  bash
24 BuildRequires:  bc
25 ExclusiveArch:  %arm
26
27 %description
28 The Linux Kernel, the operating system core itself
29
30 %define BOARDS %{BOARD_TIZEN_Z3}
31
32 %{lua:
33 for targets in string.gmatch(rpm.expand("%{BOARDS}"), "[%w_-]+")
34 do
35 print("%package -n linux-3.10-sc7730_"..targets.." \n")
36 print("License:        GPL-2.0 \n")
37 print("Summary:        Linux support headers for userspace development \n")
38 print("Group:          System/Kernel \n")
39 print("Requires(post): coreutils \n")
40 print("Provides: linux-kernel = 3.10.65\n")
41 print("\n")
42 print("%files -n linux-3.10-sc7730_"..targets.." \n")
43 print("/boot/kernel/mod_"..targets.." \n")
44 print("/boot/kernel/kernel-"..targets.."/dzImage \n")
45 print("\n")
46 print("%post -n linux-3.10-sc7730_"..targets.." \n")
47 print("cp -r /boot/kernel/mod_"..targets.."/lib/modules/* /lib/modules/. \n")
48 print("mv /boot/kernel/kernel-"..targets.."/dzImage /boot/kernel/. \n")
49 print("\n")
50 print("%description -n linux-3.10-sc7730_"..targets.." \n")
51 print("This package provides the sc7730_eur linux kernel image & module.img. \n")
52 print("\n")
53 print("%package -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
54 print("License:        GPL-2.0 \n")
55 print("Summary:        Linux support headers for userspace development \n")
56 print("Group:          System/Kernel \n")
57 print("\n")
58 print("%files -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
59 print("/boot/kernel/mod_"..targets.." \n")
60 print("/boot/kernel/kernel-"..targets.." \n")
61 print("\n")
62 print("%description -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
63 print("This package provides the sc7730_eur linux kernel's debugging files. \n")
64 end }
65
66 %package -n kernel-headers-3.10-sc7730
67 License:        GPL-2.0
68 Summary:        Linux support headers for userspace development
69 Group:          System/Kernel
70 Provides:       kernel-headers-tizen-dev
71
72 %description -n kernel-headers-3.10-sc7730
73 This package provides userspaces headers from the Linux kernel.  These
74 headers are used by the installed headers for GNU glibc and other system
75  libraries.
76
77 %package -n kernel-devel-3.10-sc7730
78 License:        GPL-2.0
79 Summary:        Linux support kernel map and etc for other package
80 Group:          System/Kernel
81 Provides:       kernel-devel-tizen-dev
82 Provides:       kernel-devel-tizen
83
84 %description -n kernel-devel-3.10-sc7730
85 This package provides kernel map and etc information.
86
87 %package -n linux-kernel-license
88 License:        GPL-2.0
89 Summary:        Linux support kernel license file
90 Group:          System/Kernel
91
92 %description -n linux-kernel-license
93 This package provides kernel license file.
94
95 %prep
96 %setup -q
97
98 %build
99
100 for i in %{BOARDS}; do
101         target=$i
102         mkdir -p %_builddir/mod_$target
103         make distclean
104
105         ./release_obs.sh $target
106
107         cp -f arch/arm/boot/zImage %_builddir/zImage.$target
108         cp -f arch/arm/boot/dzImage %_builddir/dzImage.$target
109         cp -f System.map %_builddir/System.map.$target
110         cp -f .config %_builddir/config.$target
111         cp -f vmlinux %_builddir/vmlinux.$target
112         make modules
113         make modules_install INSTALL_MOD_PATH=%_builddir/mod_$target
114
115         # prepare for devel package
116         find %{_builddir}/%{name}-%{version} -name ".tmp_vmlinux*" -delete
117         find %{_builddir}/%{name}-%{version} -name "\.*dtb*tmp" -delete
118         find %{_builddir}/%{name}-%{version} -name "*\.*tmp" -delete
119         find %{_builddir}/%{name}-%{version} -name "vmlinux" -delete
120         find %{_builddir}/%{name}-%{version} -name "bzImage" -delete
121         find %{_builddir}/%{name}-%{version} -name "zImage" -delete
122         find %{_builddir}/%{name}-%{version} -name "dzImage" -delete
123         find %{_builddir}/%{name}-%{version} -name "*.cmd" -delete
124         find %{_builddir}/%{name}-%{version} -name "*\.ko" -delete
125         find %{_builddir}/%{name}-%{version} -name "*\.o" -delete
126         find %{_builddir}/%{name}-%{version} -name "*\.S" -delete
127         find %{_builddir}/%{name}-%{version} -name "*\.c" -not -path "%{_builddir}/%{name}-%{version}/scripts/*" -delete
128
129         # prepare for the next build
130         cd %_builddir
131         mv %{name}-%{version} kernel-devel-$target
132         /bin/tar -xf %{SOURCE0}
133         cd %{name}-%{version}
134 done
135
136 %install
137 mkdir -p %{buildroot}/usr
138 make mrproper
139 make headers_check
140 make headers_install INSTALL_HDR_PATH=%{buildroot}/usr
141
142 find  %{buildroot}/usr/include -name ".install" -delete
143 find  %{buildroot}/usr/include -name "..install.cmd" -delete
144 rm -rf %{buildroot}/usr/include/scsi
145 rm -f %{buildroot}/usr/include/asm*/atomic.h
146 rm -f %{buildroot}/usr/include/asm*/io.h
147
148 mkdir -p %{buildroot}/usr/share/license
149 cp -vf COPYING %{buildroot}/usr/share/license/linux-kernel
150
151 mkdir -p %{buildroot}/boot/kernel/devel
152
153 for i in %{BOARDS}; do
154         target=$i
155
156         mkdir -p %{buildroot}/boot/kernel/kernel-$i
157
158         mv %_builddir/mod_$target %{buildroot}/boot/kernel/mod_$i
159
160         mv %_builddir/zImage.$target %{buildroot}/boot/kernel/kernel-$i/zImage
161         mv %_builddir/dzImage.$target %{buildroot}/boot/kernel/kernel-$i/dzImage
162
163         mv %_builddir/System.map.$target %{buildroot}/boot/kernel/kernel-$i/System.map
164         mv %_builddir/config.$target %{buildroot}/boot/kernel/kernel-$i/config
165         mv %_builddir/vmlinux.$target %{buildroot}/boot/kernel/kernel-$i/vmlinux
166
167         mv %_builddir/kernel-devel-$target %{buildroot}/boot/kernel/devel/kernel-devel-$i
168 done
169
170 # Assumed that actually there is one board
171 ln -s kernel-devel-$i %{buildroot}/boot/kernel/devel/tizen-devel
172
173 find %{buildroot}/boot/kernel/ -name "*.h" -print0 | xargs -0 chmod 644
174
175 find %{buildroot}/boot/kernel/ -name 'System.map' -not -path "%{buildroot}/boot/kernel/devel/*" > develfiles.pre # for secure storage
176 find %{buildroot}/boot/kernel/ -name 'vmlinux' -not -path "%{buildroot}/boot/kernel/devel/*" >> develfiles.pre   # for TIMA
177 find %{buildroot}/boot/kernel/ -name '*.ko' -not -path "%{buildroot}/boot/kernel/devel/*" >> develfiles.pre      # for TIMA
178 cat develfiles.pre | sed -e "s#%{buildroot}##g" | uniq | sort > develfiles
179
180 %clean
181 rm -rf %_builddir
182
183 %files -n kernel-headers-3.10-sc7730
184 /usr/include/*
185
186 %files -n linux-kernel-license
187 /usr/share/license/*
188
189 %files -n kernel-devel-3.10-sc7730 -f develfiles
190 /boot/kernel/devel/*