Initial import of emgd-bin to git/gerrit,a long with version sync with tizen.org
[profile/ivi/emgd-bin.git] / packaging / emgd-bin.spec
1 # Copyright © 2002-2011, Intel Corporation.
2 #
3 # This program is free software; you can redistribute it and/or modify it
4 # under the terms and conditions of the GNU General Public License,
5 # version 2, as published by the Free Software Foundation.
6 #
7 # This program is distributed in the hope it will be useful, but WITHOUT
8 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
10 # more details.
11 #
12 # You should have received a copy of the GNU General Public License along with
13 # this program; if not, write to the Free Software Foundation, Inc.,
14 # 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
15 #----------------------------------------------------------------------------
16
17 #Just for now until the libs are ran using gcc rather than ld.
18 #This causes the omission of --build-id which causes debuginfo
19 #generation to puke.
20
21 %define debug_package %{nil}
22 %define libversion 1.5.15.3226
23
24 Name: emgd-bin
25 Summary: Intel EMGD graphics driver
26 Version: 2535
27 Release: 1.8%{?dist}
28 License: Intel Proprietary
29 Group: System/Libraries
30 ExclusiveArch: %{ix86}
31 URL: http://edc.intel.com/Software/Downloads/EMGD/
32 BuildRoot: %{_tmppath}/%{name}-%{version}-build
33
34 Source0: %{name}-%{version}.tar.bz2
35 Source1: license.txt
36 Source2: readme.txt
37 Source3: emgd-cb.conf
38 Source4: emgd-rv.conf
39 Source5: emgd-bin.init
40 Source6: emgd-bin.service
41
42 Provides: libPVRScopeServices.so
43 Conflicts: mesa-libEGL mesa-libGLESv1 mesa-libGLESv2 mesa-libOpenVG pvr-bin-mrst pvr-bin-oaktrail pvr-bin-cdv
44 #Requires: xorg-x11-server-Xorg
45 Requires(post): /sbin/ldconfig
46 Requires(postun): /sbin/ldconfig
47
48 %description
49 EMGD runtime graphics libraries
50
51
52 %package devel
53 Summary: EMGD development headers
54 Group: Development/Libraries
55 Conflicts: mesa-libEGL-devel mesa-libGLESv1-devel mesa-libGLESv2-devel mesa-libOpenVG-devel mesa-libgbm-devel
56
57 %description devel
58 Development headers needed to build applications against EMGD libraries.
59 Khronos API headers and Wayland headers are provided.
60
61 %prep
62 %setup -q
63
64 %build
65
66 %install
67 rm -rf $RPM_BUILD_ROOT
68
69 mkdir -p $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/
70 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man4/
71 mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/
72 mkdir -p $RPM_BUILD_ROOT/usr/libexec/
73
74 install -m 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_docdir}/%{name}/license.txt
75 install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_docdir}/%{name}/readme.txt
76 install -m 644 -D %{SOURCE3} $RPM_BUILD_ROOT%{_docdir}/%{name}/emgd-cb.conf
77 install -m 644 -D %{SOURCE4} $RPM_BUILD_ROOT%{_docdir}/%{name}/emgd-rv.conf
78 install -m 755 -D %{SOURCE5} $RPM_BUILD_ROOT/usr/libexec/emgd-bin.init
79 install -m 755 -D %{SOURCE6} $RPM_BUILD_ROOT/lib/systemd/system/emgd-bin.service
80
81 install -m 644 -D powervr.ini $RPM_BUILD_ROOT/etc/powervr.ini
82 install -m 644 -D emgd.4.gz $RPM_BUILD_ROOT%{_mandir}/man4/
83
84 install -m 755 emgd_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/emgd_drv.so
85
86 mkdir -p $RPM_BUILD_ROOT/%{_libdir}/dri/
87
88 install -m 755 emgd_dri.so $RPM_BUILD_ROOT%{_libdir}/dri/emgd_dri.so
89 install -m 755 emgd_drv_video.so $RPM_BUILD_ROOT%{_libdir}/dri/emgd_drv_video.so
90
91 install -m 755 libEMGD2d.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libEMGD2d.so.%{libversion}
92 install -m 755 libGLES_CM.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libGLES_CM.so.%{libversion}
93 install -m 755 libGLESv2.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libGLESv2.so.%{libversion}
94 install -m 755 libOpenVG.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libOpenVG.so.%{libversion}
95 install -m 755 libOpenVGU.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libOpenVGU.so.%{libversion}
96 install -m 755 libEMGDegl.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libEMGDegl.so.%{libversion}
97 install -m 755 libEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libEGL.so.%{libversion}
98 install -m 755 libEMGDOGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libEMGDOGL.so.%{libversion}
99 install -m 755 libEMGDScopeServices.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libEMGDScopeServices.so.%{libversion}
100 install -m 755 libemgdsrv_init.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdsrv_init.so.%{libversion}
101 install -m 755 libemgdsrv_um.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdsrv_um.so.%{libversion}
102 install -m 755 libemgdglslcompiler.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdglslcompiler.so.%{libversion}
103 install -m 755 libemgdPVR2D_DRIWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdPVR2D_DRIWSEGL.so.%{libversion}
104
105 install -m 755 libgbm.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libgbm.so.%{libversion}
106 install -m 755 libwayland-egl.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libwayland-egl.so.%{libversion}
107 install -m 755 libemgdPVR2D_WAYLANDWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdPVR2D_WAYLANDWSEGL.so.%{libversion}
108 install -m 755 libemgdPVR2D_GBMWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libemgdPVR2D_GBMWSEGL.so.%{libversion}
109 install -m 755 libva.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/libva.so.%{libversion}
110
111
112 #
113 # Development pkgconfig - GLES2, EGL, gbm
114 #
115 install -m 644 -D pkgconfig/egl.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/egl.pc
116 install -m 644 -D pkgconfig/glesv2.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/glesv2.pc
117 install -m 644 -D pkgconfig/gbm.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/gbm.pc
118 install -m 644 -D pkgconfig/glesv1_cm.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/glesv1_cm.pc
119 install -m 644 -D pkgconfig/vg.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/vg.pc
120 install -m 644 -D pkgconfig/wayland-egl.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/wayland-egl.pc
121
122 #
123 # Development headers - EGL
124 #
125 install -m 644 -D EGL/egl.h $RPM_BUILD_ROOT/usr/include/EGL/egl.h
126 install -m 644 -D EGL/eglext.h $RPM_BUILD_ROOT/usr/include/EGL/eglext.h
127 install -m 644 -D EGL/eglplatform.h $RPM_BUILD_ROOT/usr/include/EGL/eglplatform.h
128 ln -s -f /usr/lib/libEGL.so.1 $RPM_BUILD_ROOT/usr/lib/libEGL.so
129
130 #
131 # Development headers - GLES1
132 #
133 install -m 644 -D GLES/glext.h $RPM_BUILD_ROOT/usr/include/GLES/glext.h
134 install -m 644 -D GLES/gl.h $RPM_BUILD_ROOT/usr/include/GLES/gl.h
135 install -m 644 -D GLES/glplatform.h $RPM_BUILD_ROOT/usr/include/GLES/glplatform.h
136 ln -s -f /usr/lib/libGLES_CM.so.1 $RPM_BUILD_ROOT/usr/lib/libGLES_CM.so
137
138 #
139 # Development headers - GLES2
140 #
141 install -m 644 -D GLES2/gl2ext.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2ext.h
142 install -m 644 -D GLES2/gl2.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2.h
143 install -m 644 -D GLES2/gl2platform.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2platform.h
144 ln -s -f /usr/lib/libGLESv2.so.2 $RPM_BUILD_ROOT/usr/lib/libGLESv2.so
145
146 #
147 # Development headers - Khronos platform
148 #
149 install -m 644 -D KHR/khrplatform.h $RPM_BUILD_ROOT/usr/include/KHR/khrplatform.h
150
151 #
152 # Development headers - OpenVG
153 #
154 install -m 644 -D VG/openvg.h $RPM_BUILD_ROOT/usr/include/VG/openvg.h
155 install -m 644 -D VG/vgext.h $RPM_BUILD_ROOT/usr/include/VG/vgext.h
156 install -m 644 -D VG/vgplatform.h $RPM_BUILD_ROOT/usr/include/VG/vgplatform.h
157 install -m 644 -D VG/vgu.h $RPM_BUILD_ROOT/usr/include/VG/vgu.h
158 ln -s -f /usr/lib/libOpenVG.so.1 $RPM_BUILD_ROOT/usr/lib/libOpenVG.so
159 ln -s -f /usr/lib/libOpenVGU.so.1 $RPM_BUILD_ROOT/usr/lib/libOpenVGU.so
160
161 #
162 # Development headers - Wayland
163 #
164 install -m 644 -D wayland/gbm.h $RPM_BUILD_ROOT/usr/include/gbm.h
165 ln -s -f /usr/lib/libgbm.so.1 $RPM_BUILD_ROOT/usr/lib/libgbm.so
166 ln -s -f /usr/lib/libwayland-egl.so.1 $RPM_BUILD_ROOT/usr/lib/libwayland-egl.so
167
168
169 pushd $RPM_BUILD_ROOT%{_libdir}
170 ln -s libEMGDScopeServices.so.%{libversion} libPVRScopeServices.so
171 ln -s libemgdPVR2D_GBMWSEGL.so.%{libversion} libemgdPVR2D_GBMWSEGL.so
172 ln -s libva.so.%{libversion} libva.so.1.0.12
173
174 # These three should technically be in a separate -devel package rather
175 # than here.  Let ldconfig create all of our other symlinks; no need
176 # to do so here.
177 ln -s -f libEGL.so.1 libEGL.so
178 ln -s -f libGLESv2.so.2 libGLESv2.so
179 ln -s -f libGLES_CM.so.1 libGLES_CM.so
180 popd
181
182
183
184 %clean
185 rm -rf $RPM_BUILD_ROOT
186
187 %post
188 # Kind of a hack, but RPM doesn't seem to remove the old libraries until after
189 # we've installed the new ones, so ldconfig will see the old libraries
190 # (which had an incorrect SONAME) and use them to overwrite our development
191 # symlinks, then remove the old libraries they were pointing at.
192 rm -f /usr/lib/libGLES_CM.so.1.1.*
193 rm -f /usr/lib/libGLESv2.so.1.1.*
194 rm -f /usr/lib/libEGL.so.1.1.*
195 /sbin/ldconfig
196 #/sbin/chkconfig --add emgd-bin
197 #/sbin/chkconfig --levels 345 emgd-bin on
198 #/sbin/chkconfig --levels 0126 emgd-bin off
199
200 mkdir -p /lib/systemd/system/sysinit.target.wants/
201 pushd /lib/systemd/system/sysinit.target.wants/
202 ln -sf ../emgd-bin.service emgd-bin.service
203 popd
204
205 if [ -x /bin/systemctl ]; then
206     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
207     /bin/systemctl start emgd-bin.service > /dev/null 2>&1 || :
208 fi
209
210 %postun
211 /sbin/ldconfig
212 rm -f /lib/systemd/system/sysinit.target.wants/emgd-bin.service
213 if [ -x /bin/systemctl ]; then
214     systemctl daemon-reload >/dev/null 2>&1 || :
215 fi
216
217
218 %preun
219 if [ -x /bin/systemctl ]; then
220     sytemctl stop emgd-bin.service >/dev/null 2>&1 || :
221 fi
222
223
224 %files
225 %defattr(-,root,root,-)
226 %{_docdir}/%{name}/license.txt
227 %{_docdir}/%{name}/readme.txt
228 %{_docdir}/%{name}/emgd-*.conf
229 %config(noreplace) /etc/powervr.ini
230 %doc %{_mandir}/man4/emgd*
231
232 %{_libdir}/xorg/modules/drivers/emgd_drv.so
233 %{_libdir}/libEMGD2d.so.%{libversion}
234 %{_libdir}/libEMGDOGL.so.%{libversion}
235 %{_libdir}/libPVRScopeServices.so
236 %{_libdir}/libEMGDScopeServices.so.%{libversion}
237 %{_libdir}/libemgdsrv_um.so.%{libversion}
238 %{_libdir}/libemgdsrv_init.so.%{libversion}
239 %{_libdir}/libemgdglslcompiler.so.%{libversion}
240 %{_libdir}/libGLES_CM.so
241 %{_libdir}/libGLES_CM.so.%{libversion}
242 %{_libdir}/libGLESv2.so
243 %{_libdir}/libGLESv2.so.%{libversion}
244 %{_libdir}/libOpenVG.so.%{libversion}
245 %{_libdir}/libOpenVGU.so.%{libversion}
246 %{_libdir}/libEMGDegl.so.%{libversion}
247 %{_libdir}/libEGL.so
248 %{_libdir}/libEGL.so.%{libversion}
249 %{_libdir}/libemgdPVR2D_DRIWSEGL.so.%{libversion}
250 %{_libdir}/dri/emgd_dri.so
251 %{_libdir}/dri/emgd_drv_video.so
252 %{_libdir}/libemgdPVR2D_WAYLANDWSEGL.so.%{libversion}
253 %{_libdir}/libwayland-egl.so.%{libversion}
254 %{_libdir}/libgbm.so.%{libversion}
255 %{_libdir}/libemgdPVR2D_GBMWSEGL.so.%{libversion}
256 %{_libdir}/libemgdPVR2D_GBMWSEGL.so
257 %{_libdir}/libva.so.%{libversion}
258 %{_libdir}/libva.so.1.0.12
259
260 #%{_initddir}/emgd-bin
261 /usr/libexec/emgd-bin.init
262 /lib/systemd/system/emgd-bin.service
263
264 %files devel
265 %defattr(-,root,root,-)
266 %{_includedir}/GLES2/gl2.h
267 %{_includedir}/GLES2/gl2platform.h
268 %{_includedir}/GLES2/gl2ext.h
269 %{_includedir}/EGL/eglplatform.h
270 %{_includedir}/EGL/egl.h
271 %{_includedir}/EGL/eglext.h
272 %{_includedir}/KHR/khrplatform.h
273 %{_includedir}/VG/openvg.h
274 %{_includedir}/VG/vgext.h
275 %{_includedir}/VG/vgplatform.h
276 %{_includedir}/VG/vgu.h
277 %{_includedir}/GLES/gl.h
278 %{_includedir}/GLES/glplatform.h
279 %{_includedir}/GLES/glext.h
280 %{_includedir}/gbm.h
281 %{_libdir}/libEGL.so
282 %{_libdir}/libGLES_CM.so
283 %{_libdir}/libGLESv2.so
284 %{_libdir}/libOpenVG.so
285 %{_libdir}/libOpenVGU.so
286 %{_libdir}/libgbm.so
287 %{_libdir}/libwayland-egl.so
288 %{_libdir}/pkgconfig/egl.pc
289 %{_libdir}/pkgconfig/gbm.pc
290 %{_libdir}/pkgconfig/glesv1_cm.pc
291 %{_libdir}/pkgconfig/glesv2.pc
292 %{_libdir}/pkgconfig/vg.pc
293 %{_libdir}/pkgconfig/wayland-egl.pc