packaging: fix not to provide kernel-headers
[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:  system-tools
25 BuildRequires:  bc
26 ExclusiveArch:  %arm
27
28 %if "%{?tizen_target_name}" != "TM1"
29 ExcludeArch: %{arm}
30 %endif
31
32 %description
33 The Linux Kernel, the operating system core itself
34
35 %define BOARDS %{BOARD_TIZEN_Z3}
36
37 %{lua:
38 for targets in string.gmatch(rpm.expand("%{BOARDS}"), "[%w_-]+")
39 do
40 print("%package -n linux-3.10-sc7730_"..targets.." \n")
41 print("License:        GPL-2.0 \n")
42 print("Summary:        Linux support headers for userspace development \n")
43 print("Group:          System/Kernel \n")
44 print("Requires(post): coreutils \n")
45 print("\n")
46 print("%files -n linux-3.10-sc7730_"..targets.." \n")
47 print("/boot/kernel/mod_"..targets.." \n")
48 print("/boot/kernel/kernel-"..targets.."/dzImage \n")
49 print("\n")
50 print("%post -n linux-3.10-sc7730_"..targets.." \n")
51 print("cp -r /boot/kernel/mod_"..targets.."/lib/modules/* /lib/modules/. \n")
52 print("mv /boot/kernel/kernel-"..targets.."/dzImage /boot/kernel/. \n")
53 print("\n")
54 print("%description -n linux-3.10-sc7730_"..targets.." \n")
55 print("This package provides the sc7730_eur linux kernel image & module.img. \n")
56 print("\n")
57 print("%package -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
58 print("License:        GPL-2.0 \n")
59 print("Summary:        Linux support headers for userspace development \n")
60 print("Group:          System/Kernel \n")
61 print("\n")
62 print("%files -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
63 print("/boot/kernel/mod_"..targets.." \n")
64 print("/boot/kernel/kernel-"..targets.." \n")
65 print("\n")
66 print("%description -n linux-3.10-sc7730_"..targets.."-debuginfo \n")
67 print("This package provides the sc7730_eur linux kernel's debugging files. \n")
68 end }
69
70 %package -n kernel-headers-3.10-sc7730
71 License:        GPL-2.0
72 Summary:        Linux support headers for userspace development
73 Group:          System/Kernel
74 Provides:       kernel-headers-tizen-dev
75
76 %description -n kernel-headers-3.10-sc7730
77 This package provides userspaces headers from the Linux kernel.  These
78 headers are used by the installed headers for GNU glibc and other system
79  libraries.
80
81 %package -n kernel-devel-3.10-sc7730
82 License:        GPL-2.0
83 Summary:        Linux support kernel map and etc for other package
84 Group:          System/Kernel
85 Provides:       kernel-devel-tizen-dev
86
87 %description -n kernel-devel-3.10-sc7730
88 This package provides kernel map and etc information.
89
90 %package -n linux-kernel-license
91 License:        GPL-2.0
92 Summary:        Linux support kernel license file
93 Group:          System/Kernel
94
95 %description -n linux-kernel-license
96 This package provides kernel license file.
97
98 %prep
99 %setup -q
100
101 %build
102 %if 0%{?tizen_build_binary_release_type_eng}
103 %define RELEASE_TYPE ENG
104 %else
105 %define RELEASE_TYPE USR
106 %endif
107
108 for i in %{BOARDS}; do
109         target=$i
110         mkdir -p %_builddir/mod_$target
111         make distclean
112
113         ./release_obs.sh $target %{RELEASE_TYPE}
114
115         cp -f arch/arm/boot/zImage %_builddir/zImage.$target
116         cp -f arch/arm/boot/dzImage %_builddir/dzImage.$target
117         cp -f System.map %_builddir/System.map.$target
118         cp -f .config %_builddir/config.$target
119         cp -f vmlinux %_builddir/vmlinux.$target
120         make modules
121         make modules_install INSTALL_MOD_PATH=%_builddir/mod_$target
122
123         # prepare for devel package
124         find %{_builddir}/%{name}-%{version} -name ".tmp_vmlinux*" -exec rm -f {} \;
125         find %{_builddir}/%{name}-%{version} -name "\.*dtb*tmp" -exec rm -f {} \;
126         find %{_builddir}/%{name}-%{version} -name "*\.*tmp" -exec rm -f {} \;
127         find %{_builddir}/%{name}-%{version} -name "vmlinux" -exec rm -f {} \;
128         find %{_builddir}/%{name}-%{version} -name "bzImage" -exec rm -f {} \;
129         find %{_builddir}/%{name}-%{version} -name "zImage" -exec rm -f {} \;
130         find %{_builddir}/%{name}-%{version} -name "dzImage" -exec rm -f {} \;
131         find %{_builddir}/%{name}-%{version} -name "*.cmd" -exec rm -f {} \;
132         find %{_builddir}/%{name}-%{version} -name "*\.ko" -exec rm -f {} \;
133         find %{_builddir}/%{name}-%{version} -name "*\.o" -exec rm -f {} \;
134         find %{_builddir}/%{name}-%{version} -name "*\.S" -exec rm -f {} \;
135         find %{_builddir}/%{name}-%{version} -name "*\.c" -not -path "%{_builddir}/%{name}-%{version}/scripts/*" -exec rm -f {} \;
136
137         # prepare for the next build
138         cd %_builddir
139         mv %{name}-%{version} kernel-devel-$target
140         /bin/tar -xf %{SOURCE0}
141         cd %{name}-%{version}
142 done
143
144 %install
145 mkdir -p %{buildroot}/usr
146 make mrproper
147 make headers_check
148 make headers_install INSTALL_HDR_PATH=%{buildroot}/usr
149
150 find  %{buildroot}/usr/include -name ".install" | xargs rm -f
151 find  %{buildroot}/usr/include -name "..install.cmd" | xargs rm -f
152 rm -rf %{buildroot}/usr/include/scsi
153 rm -f %{buildroot}/usr/include/asm*/atomic.h
154 rm -f %{buildroot}/usr/include/asm*/io.h
155
156 mkdir -p %{buildroot}/usr/share/license
157 cp -vf COPYING %{buildroot}/usr/share/license/linux-kernel
158
159 mkdir -p %{buildroot}/boot/kernel/devel
160
161 for i in %{BOARDS}; do
162         target=$i
163
164         mkdir -p %{buildroot}/boot/kernel/kernel-$i
165
166         mv %_builddir/mod_$target %{buildroot}/boot/kernel/mod_$i
167
168         mv %_builddir/zImage.$target %{buildroot}/boot/kernel/kernel-$i/zImage
169         mv %_builddir/dzImage.$target %{buildroot}/boot/kernel/kernel-$i/dzImage
170
171         mv %_builddir/System.map.$target %{buildroot}/boot/kernel/kernel-$i/System.map
172         mv %_builddir/config.$target %{buildroot}/boot/kernel/kernel-$i/config
173         mv %_builddir/vmlinux.$target %{buildroot}/boot/kernel/kernel-$i/vmlinux
174
175         mv %_builddir/kernel-devel-$target %{buildroot}/boot/kernel/devel/kernel-devel-$i
176 done
177
178 find %{buildroot}/boot/kernel/ -name "*.h" -exec chmod 644 {} \;
179
180 find %{buildroot}/boot/kernel/ -name 'System.map' -not -path "%{buildroot}/boot/kernel/devel/*" > develfiles.pre # for secure storage
181 find %{buildroot}/boot/kernel/ -name 'vmlinux' -not -path "%{buildroot}/boot/kernel/devel/*" >> develfiles.pre   # for TIMA
182 find %{buildroot}/boot/kernel/ -name '*.ko' -not -path "%{buildroot}/boot/kernel/devel/*" >> develfiles.pre      # for TIMA
183 cat develfiles.pre | sed -e "s#%{buildroot}##g" | uniq | sort > develfiles
184
185 %clean
186 rm -rf %_builddir
187
188 %files -n kernel-headers-3.10-sc7730
189 /usr/include/*
190
191 %files -n linux-kernel-license
192 /usr/share/license/*
193
194 %files -n kernel-devel-3.10-sc7730 -f develfiles
195 /boot/kernel/devel/*