1) delete original messy libraries and config files and
[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: 2667
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: emgd-bin.init
36 Source2: emgd-bin.service
37
38 Provides: libPVRScopeServices.so
39 Conflicts: mesa-libEGL mesa-libGLESv1 mesa-libGLESv2 mesa-libOpenVG pvr-bin-mrst pvr-bin-oaktrail pvr-bin-cdv
40 #Requires: xorg-x11-server-Xorg
41 Requires(post): /sbin/ldconfig
42 Requires(postun): /sbin/ldconfig
43
44 %description
45 EMGD runtime graphics libraries
46
47
48 %package devel
49 Summary: EMGD development headers
50 Group: Development/Libraries
51 Conflicts: mesa-libEGL-devel mesa-libGLESv1-devel mesa-libGLESv2-devel mesa-libOpenVG-devel mesa-libgbm-devel
52
53 %description devel
54 Development headers needed to build applications against EMGD libraries.
55 Khronos API headers and Wayland headers are provided.
56
57 %prep
58 %setup -q
59
60 %build
61
62 %install
63 rm -rf $RPM_BUILD_ROOT
64
65 mkdir -p $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/
66 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man4/
67 mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/
68 mkdir -p $RPM_BUILD_ROOT/usr/lib/pkgconfig/
69 mkdir -p $RPM_BUILD_ROOT/usr/libexec/
70 mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/
71
72 install -m 644 -D usr/share/doc/emgd/license.txt $RPM_BUILD_ROOT%{_docdir}/%{name}/
73 install -m 644 -D usr/share/doc/emgd/readme.txt $RPM_BUILD_ROOT%{_docdir}/%{name}/
74 install -m 644 -D usr/share/doc/emgd/emgd-cb.conf $RPM_BUILD_ROOT%{_docdir}/%{name}/
75 install -m 644 -D usr/share/doc/emgd/emgd-rv.conf $RPM_BUILD_ROOT%{_docdir}/%{name}/
76 install -m 755 -D %{SOURCE1} $RPM_BUILD_ROOT/usr/libexec/emgd-bin.init
77 install -m 755 -D %{SOURCE2} $RPM_BUILD_ROOT/lib/systemd/system/emgd-bin.service
78
79 install -m 644 -D etc/powervr.ini $RPM_BUILD_ROOT/etc/powervr.ini
80 install -m 644 -D usr/share/man/man4/emgd.4.gz $RPM_BUILD_ROOT%{_mandir}/man4/
81
82 mkdir -p $RPM_BUILD_ROOT%{_libdir}/dri/
83 pushd usr/lib
84 install -m 755 xorg/modules/drivers/emgd_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/
85 install -m 755 dri/emgd_dri.so $RPM_BUILD_ROOT%{_libdir}/dri/
86 install -m 755 dri/emgd_drv_video.so $RPM_BUILD_ROOT%{_libdir}/dri/
87 install -m 755 libEMGD2d.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
88 install -m 755 libGLES_CM.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
89 install -m 755 libGLESv2.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
90 install -m 755 libOpenVG.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
91 install -m 755 libOpenVGU.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
92 install -m 755 libEMGDegl.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
93 install -m 755 libEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
94 install -m 755 libEMGDOGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
95 install -m 755 libEMGDScopeServices.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
96 install -m 755 libemgdsrv_init.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
97 install -m 755 libemgdsrv_um.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
98 install -m 755 libemgdglslcompiler.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
99 install -m 755 libemgdPVR2D_DRIWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
100 install -m 755 libgbm.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
101 install -m 755 libwayland-egl.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
102 install -m 755 libwayland-emgd.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
103 install -m 755 libemgdPVR2D_WAYLANDWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
104 install -m 755 libemgdPVR2D_GBMWSEGL.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
105 install -m 755 libva.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
106 #install -m 755 libva-glx.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
107 #install -m 755 libva-egl.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
108 #install -m 755 libva-tpi.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
109 #install -m 755 libva-x11.so.%{libversion} $RPM_BUILD_ROOT%{_libdir}/
110 #
111 # Development pkgconfig - GLES2, EGL, gbm
112 #
113 install -m 644 -D pkgconfig/egl.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/egl.pc
114 install -m 644 -D pkgconfig/glesv2.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/glesv2.pc
115 install -m 644 -D pkgconfig/gbm.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/gbm.pc
116 install -m 644 -D pkgconfig/glesv1_cm.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/glesv1_cm.pc
117 install -m 644 -D pkgconfig/vg.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/vg.pc
118 install -m 644 -D pkgconfig/wayland-egl.pc $RPM_BUILD_ROOT/usr/lib/pkgconfig/wayland-egl.pc
119 popd
120
121 pushd usr/include
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
129 #
130 # Development headers - GLES1
131 #
132 install -m 644 -D GLES/glext.h $RPM_BUILD_ROOT/usr/include/GLES/glext.h
133 install -m 644 -D GLES/gl.h $RPM_BUILD_ROOT/usr/include/GLES/gl.h
134 install -m 644 -D GLES/glplatform.h $RPM_BUILD_ROOT/usr/include/GLES/glplatform.h
135
136 #
137 # Development headers - GLES2
138 #
139 install -m 644 -D GLES2/gl2ext.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2ext.h
140 install -m 644 -D GLES2/gl2.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2.h
141 install -m 644 -D GLES2/gl2platform.h $RPM_BUILD_ROOT/usr/include/GLES2/gl2platform.h
142
143 #
144 # Development headers - Khronos platform
145 #
146 install -m 644 -D KHR/khrplatform.h $RPM_BUILD_ROOT/usr/include/KHR/khrplatform.h
147
148 #
149 # Development headers - Wayland
150 #
151 install -m 644 -D gbm.h $RPM_BUILD_ROOT/usr/include/gbm.h
152
153 #
154 # Development headers - OpenVG
155 #
156 install -m 644 -D VG/openvg.h $RPM_BUILD_ROOT/usr/include/VG/openvg.h
157 install -m 644 -D VG/vgext.h $RPM_BUILD_ROOT/usr/include/VG/vgext.h
158 install -m 644 -D VG/vgplatform.h $RPM_BUILD_ROOT/usr/include/VG/vgplatform.h
159 install -m 644 -D VG/vgu.h $RPM_BUILD_ROOT/usr/include/VG/vgu.h
160 popd
161 pushd $RPM_BUILD_ROOT%{_libdir}
162 ln -s -f libOpenVG.so.%{libversion} libOpenVG.so.1
163 ln -s -f libOpenVG.so.%{libversion} libOpenVG.so
164 ln -s -f libOpenVG.so.%{libversion} libOpenVG.so
165 ln -s -f libOpenVGU.so.%{libversion} libOpenVGU.so.1
166 ln -s -f libOpenVGU.so.%{libversion} libOpenVGU.so
167 ln -s -f libGLESv2.so.%{libversion} libGLESv2.so.2
168 ln -s -f libGLESv2.so.%{libversion} libGLESv2.so
169 ln -s -f libGLES_CM.so.%{libversion} libGLES_CM.so.1
170 ln -s -f libGLES_CM.so.%{libversion} libGLES_CM.so
171 ln -s -f libEGL.so.%{libversion} libEGL.so.1
172 ln -s -f libEGL.so.%{libversion} libEGL.so
173 ln -s -f libgbm.so.%{libversion} libgbm.so.1
174 ln -s -f libgbm.so.%{libversion} libgbm.so
175 ln -s -f libwayland-egl.so.%{libversion} libwayland-egl.so.1
176 ln -s -f libwayland-egl.so.%{libversion} libwayland-egl.so
177 ln -s -f libwayland-emgd.so.%{libversion} libwayland-emgd.so.1
178 ln -s -f libwayland-emgd.so.%{libversion} libwayland-emgd.so
179 ln -s -f libEMGDScopeServices.so.%{libversion} libPVRScopeServices.so
180 ln -s -f libemgdPVR2D_GBMWSEGL.so.%{libversion} libemgdPVR2D_GBMWSEGL.so
181 ln -s -f libva.so.%{libversion} libva.so.1.0.12
182 ln -s -f libva.so.%{libversion} libva.so.1
183 #ln -s -f libva-glx.so.%{libversion} libva-glx.so.1.0.12
184 #ln -s -f libva-glx.so.%{libversion} libva-glx.so.1
185 #ln -s -f libva-egl.so.%{libversion} libva-egl.so.1.0.12
186 #ln -s -f libva-egl.so.%{libversion} libva-egl.so.1
187 #ln -s -f libva-tpi.so.%{libversion} libva-tpi.so.1.0.12
188 #ln -s -f libva-tpi.so.%{libversion} libva-tpi.so.1
189 #ln -s -f libva-x11.so.%{libversion} libva-x11.so.1.0.12
190 #ln -s -f libva-x11.so.%{libversion} libva-x11.so.1
191 popd
192
193
194 %clean
195 rm -rf $RPM_BUILD_ROOT
196
197 %post
198 # Kind of a hack, but RPM doesn't seem to remove the old libraries until after
199 # we've installed the new ones, so ldconfig will see the old libraries
200 # (which had an incorrect SONAME) and use them to overwrite our development
201 # symlinks, then remove the old libraries they were pointing at.
202 rm -f /usr/lib/libGLES_CM.so.1.1.*
203 rm -f /usr/lib/libGLESv2.so.1.1.*
204 rm -f /usr/lib/libEGL.so.1.1.*
205
206 /sbin/ldconfig
207 #/sbin/chkconfig --add emgd-bin
208 #/sbin/chkconfig --levels 345 emgd-bin on
209 #/sbin/chkconfig --levels 0126 emgd-bin off
210
211 mkdir -p /lib/systemd/system/sysinit.target.wants/
212 pushd /lib/systemd/system/sysinit.target.wants/
213 ln -sf ../emgd-bin.service emgd-bin.service
214 popd
215
216 if [ -x /bin/systemctl ]; then
217     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
218     /bin/systemctl start emgd-bin.service > /dev/null 2>&1 || :
219 fi
220
221 %postun
222 /sbin/ldconfig
223 rm -f /lib/systemd/system/sysinit.target.wants/emgd-bin.service
224 if [ -x /bin/systemctl ]; then
225     systemctl daemon-reload >/dev/null 2>&1 || :
226 fi
227
228
229 %preun
230 if [ -x /bin/systemctl ]; then
231     sytemctl stop emgd-bin.service >/dev/null 2>&1 || :
232 fi
233
234
235 %files
236 %defattr(-,root,root,-)
237 %{_docdir}/%{name}/license.txt
238 %{_docdir}/%{name}/readme.txt
239 %{_docdir}/%{name}/emgd-*.conf
240 %config(noreplace) /etc/powervr.ini
241 %doc %{_mandir}/man4/emgd*
242 %{_libdir}/*
243 /usr/libexec/emgd-bin.init
244 /lib/systemd/system/emgd-bin.service
245
246 %files devel
247 %defattr(-,root,root,-)
248 %{_includedir}/*
249 %{_libdir}/libEGL.so
250 %{_libdir}/libGLES_CM.so
251 %{_libdir}/libGLESv2.so
252 %{_libdir}/libOpenVG.so
253 %{_libdir}/libOpenVGU.so
254 %{_libdir}/libgbm.so
255 %{_libdir}/libwayland-egl.so
256 %{_libdir}/pkgconfig/*