]> git.pld-linux.org Git - packages/xorg-xserver-server.git/blob - xorg-xserver-server.spec
- up to 1.17.2; fixes CVE-2015-3164 (xwayland)
[packages/xorg-xserver-server.git] / xorg-xserver-server.spec
1 # TODO
2 # - consider XSELINUX by default
3 # - Xvfb initscript runs Xvfb as root! add user there!
4 # - upstream --enable-suid-wrapper vs Xwrapper patch?
5 #
6 # Conditional build:
7 %bcond_with     dbus            # D-BUS support for configuration (if no udev)
8 %bcond_with     hal             # HAL support for configuration (if no udev)
9 %bcond_without  udev            # UDEV support for configuration
10 %bcond_without  dri2            # DRI2 extension
11 %bcond_without  record          # RECORD extension
12 %bcond_with     xcsecurity      # XC-SECURITY extension (deprecated)
13 %bcond_with     xf86bigfont     # XF86BigFont extension
14 %bcond_with     xselinux        # SELinux extension
15 %bcond_without  dmx             # DMX DDX (Xdmx server)
16 %bcond_without  wayland         # Wayland DDX (Xwayland server)
17 %bcond_without  glamor          # glamor dix module
18 %bcond_without  systemtap       # systemtap/dtrace probes
19 %bcond_without  libunwind       # use libunwind for backtracing
20 #
21 # ABI versions, see hw/xfree86/common/xf86Module.h
22 %define xorg_xserver_server_ansic_abi           0.4
23 %define xorg_xserver_server_extension_abi       9.0
24 %define xorg_xserver_server_font_abi            0.6
25 %define xorg_xserver_server_videodrv_abi        19.0
26 %define xorg_xserver_server_xinput_abi          21.0
27
28 %define pixman_ver      0.30.0
29
30 %ifarch x32
31 %undefine       with_libunwind
32 %endif
33
34 Summary:        X.org server
35 Summary(pl.UTF-8):      Serwer X.org
36 Name:           xorg-xserver-server
37 Version:        1.17.2
38 Release:        1
39 License:        MIT
40 Group:          X11/Servers
41 Source0:        http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
42 # Source0-md5:  397e405566651150490ff493e463f1ad
43 Source1:        10-quirks.conf
44 Source2:        xserver.pamd
45 Source10:       %{name}-Xvfb.init
46 Source11:       %{name}-Xvfb.sysconfig
47 Source12:       xvfb-run.sh
48
49 Patch0:         %{name}-xwrapper.patch
50 Patch1:         %{name}-pic-libxf86config.patch
51 Patch2:         dtrace-link.patch
52
53 Patch4:         %{name}-builtin-SHA1.patch
54
55 Patch6:         110_nvidia_slowdow_fix.patch
56 Patch7:         %{name}-include-defs.patch
57 URL:            http://xorg.freedesktop.org/
58 BuildRequires:  Mesa-libGL-devel >= 7.8.1
59 %{?with_dri2:BuildRequires:     Mesa-libGL-devel >= 9.2.0}
60 %{?with_glamor:BuildRequires:   Mesa-libgbm-devel >= 10.2.0}
61 # for glx headers
62 BuildRequires:  OpenGL-GLX-devel
63 %{?with_xselinux:BuildRequires: audit-libs-devel}
64 BuildRequires:  autoconf >= 2.60
65 BuildRequires:  automake
66 BuildRequires:  cpp
67 BuildRequires:  docbook-dtd43-xml
68 #BuildRequires: doxygen >= 1.6.1
69 %if %{with hal} || %{with dbus}
70 BuildRequires:  dbus-devel >= 1.0
71 %endif
72 %{?with_hal:BuildRequires:      hal-devel}
73 BuildRequires:  libdrm-devel >= 2.4.46
74 %if %{with glamor} || %{with wayland}
75 BuildRequires:  libepoxy-devel
76 %endif
77 %{?with_xselinux:BuildRequires: libselinux-devel >= 2.0.86}
78 BuildRequires:  libtool >= 2:2.2
79 %{?with_libunwind:BuildRequires:        libunwind-devel}
80 BuildRequires:  libxcb-devel >= 1.6
81 BuildRequires:  pam-devel
82 BuildRequires:  perl-base
83 BuildRequires:  pixman-devel >= %{pixman_ver}
84 BuildRequires:  pkgconfig >= 1:0.19
85 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
86 BuildRequires:  udev-devel >= 1:143
87 # wayland-client
88 %{?with_wayland:BuildRequires:  wayland-devel >= 1.3.0}
89 BuildRequires:  xcb-util-devel
90 BuildRequires:  xcb-util-image-devel
91 BuildRequires:  xcb-util-keysyms-devel
92 BuildRequires:  xcb-util-wm-devel
93 BuildRequires:  xmlto >= 0.0.20
94 BuildRequires:  xorg-app-mkfontscale
95 BuildRequires:  xorg-lib-libX11-devel >= 1.6
96 BuildRequires:  xorg-lib-libXau-devel
97 %{?with_dmx:BuildRequires:      xorg-lib-libXaw-devel}
98 BuildRequires:  xorg-lib-libXdamage-devel
99 BuildRequires:  xorg-lib-libXdmcp-devel
100 BuildRequires:  xorg-lib-libXext-devel >= 1.0.99.4
101 BuildRequires:  xorg-lib-libXfixes-devel
102 BuildRequires:  xorg-lib-libXfont-devel >= 1.4.2
103 BuildRequires:  xorg-lib-libXi-devel >= 1.2.99.1
104 %{?with_dmx:BuildRequires:      xorg-lib-libXmu-devel}
105 %{?with_dmx:BuildRequires:      xorg-lib-libXpm-devel}
106 BuildRequires:  xorg-lib-libXrender-devel
107 BuildRequires:  xorg-lib-libXres-devel
108 %{?with_dmx:BuildRequires:      xorg-lib-libXt-devel >= 1.0.0}
109 BuildRequires:  xorg-lib-libXtst-devel >= 1.0.99.2
110 BuildRequires:  xorg-lib-libXv-devel
111 BuildRequires:  xorg-lib-libXxf86dga-devel
112 BuildRequires:  xorg-lib-libXxf86misc-devel
113 BuildRequires:  xorg-lib-libXxf86vm-devel
114 %{?with_dmx:BuildRequires:      xorg-lib-libdmx-devel >= 1.0.99.1}
115 BuildRequires:  xorg-lib-libfontenc-devel
116 BuildRequires:  xorg-lib-libpciaccess-devel >= 0.12.901
117 BuildRequires:  xorg-lib-libxkbfile-devel
118 BuildRequires:  xorg-lib-libxshmfence-devel >= 1.1
119 BuildRequires:  xorg-lib-xtrans-devel >= 1.3.5
120 BuildRequires:  xorg-proto-bigreqsproto-devel >= 1.1.0
121 BuildRequires:  xorg-proto-compositeproto-devel >= 0.4
122 BuildRequires:  xorg-proto-damageproto-devel >= 1.1
123 %{?with_dmx:BuildRequires:      xorg-proto-dmxproto-devel >= 2.2.99.1}
124 %{?with_dri2:BuildRequires:     xorg-proto-dri2proto-devel >= 2.8}
125 BuildRequires:  xorg-proto-dri3proto-devel >= 1.0
126 BuildRequires:  xorg-proto-fixesproto-devel >= 5.0
127 BuildRequires:  xorg-proto-fontcacheproto-devel
128 BuildRequires:  xorg-proto-fontsproto-devel >= 2.1.3
129 BuildRequires:  xorg-proto-glproto-devel >= 1.4.17
130 BuildRequires:  xorg-proto-inputproto-devel >= 2.3
131 BuildRequires:  xorg-proto-kbproto-devel >= 1.0.3
132 BuildRequires:  xorg-proto-presentproto-devel >= 1.0
133 BuildRequires:  xorg-proto-printproto-devel
134 BuildRequires:  xorg-proto-randrproto-devel >= 1.4.0
135 %{?with_record:BuildRequires:   xorg-proto-recordproto-devel >= 1.13.99.1}
136 BuildRequires:  xorg-proto-renderproto-devel >= 0.11
137 BuildRequires:  xorg-proto-resourceproto-devel >= 1.2.0
138 BuildRequires:  xorg-proto-scrnsaverproto-devel >= 1.1
139 BuildRequires:  xorg-proto-videoproto-devel
140 BuildRequires:  xorg-proto-xcmiscproto-devel >= 1.2.0
141 BuildRequires:  xorg-proto-xextproto-devel >= 1:7.3.0
142 %{?with_xf86bigfont:BuildRequires:      xorg-proto-xf86bigfontproto-devel >= 1.2.0}
143 BuildRequires:  xorg-proto-xf86dgaproto-devel >= 2.0.99.1
144 BuildRequires:  xorg-proto-xf86driproto-devel >= 2.1.0
145 BuildRequires:  xorg-proto-xf86miscproto-devel
146 BuildRequires:  xorg-proto-xf86vidmodeproto-devel >= 2.2.99.1
147 BuildRequires:  xorg-proto-xineramaproto-devel
148 BuildRequires:  xorg-proto-xproto-devel >= 7.0.26
149 BuildRequires:  xorg-sgml-doctools >= 1.8
150 BuildRequires:  xorg-util-util-macros >= 1.14
151 #BR: tslib (for KDRIVE only)
152 Requires(triggerpostun):        sed >= 4.0
153 %{?with_glamor:Requires:        Mesa-libgbm >= 10.2.0}
154 Requires:       libdrm >= 2.4.46
155 Requires:       pixman >= %{pixman_ver}
156 Requires:       udev-libs >= 1:143
157 Requires:       xkeyboard-config
158 # for rgb.txt
159 Requires:       xorg-app-rgb >= 0.99.3
160 Requires:       xorg-app-xkbcomp
161 Requires:       xorg-lib-libXfont >= 1.4.2
162 Requires:       xorg-lib-libpciaccess >= 0.12.901
163 Requires:       xorg-lib-libxshmfence >= 1.1
164 Suggests:       dbus-x11 >= 1.0
165 %{?with_hal:Suggests:   hal}
166 Suggests:       udev-acl >= 1:143
167 %{?with_udev:Suggests:  udev-core >= 1:143}
168 Suggests:       xkeyboard-config
169 Suggests:       xorg-driver-input-evdev
170 # Usual desktop setups need least one video driver to run, see xorg.log which one exactly
171 Suggests:       xorg-driver-video
172 Provides:       xorg-xserver-libdri = %{version}-%{release}
173 Provides:       xorg-xserver-module(dri)
174 Provides:       xorg-xserver-server(ansic-abi) = %{xorg_xserver_server_ansic_abi}
175 Provides:       xorg-xserver-server(extension-abi) = %{xorg_xserver_server_extension_abi}
176 Provides:       xorg-xserver-server(font-abi) = %{xorg_xserver_server_font_abi}
177 Provides:       xorg-xserver-server(videodrv-abi) = %{xorg_xserver_server_videodrv_abi}
178 Provides:       xorg-xserver-server(xinput-abi) = %{xorg_xserver_server_xinput_abi}
179 Obsoletes:      X11-Xserver < 1:7.0.0
180 Obsoletes:      X11-driver-i2c < 1:7.0.0
181 Obsoletes:      X11-modules < 1:7.0.0
182 Obsoletes:      X11-setup < 1:7.0.0
183 Obsoletes:      XFree86-Xserver < 1:7.0.0
184 Obsoletes:      XFree86-modules < 1:7.0.0
185 Obsoletes:      XFree86-setup < 1:7.0.0
186 Obsoletes:      Xserver
187 %{?with_glamor:Obsoletes:       glamor}
188 Obsoletes:      xorg-xserver-libdri
189 Obsoletes:      xorg-xserver-server-xorgcfg
190 Obsoletes:      xorg-driver-video-modesetting
191 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
192
193 # avoid self-dependencies on included modules
194 %define         _noautoreq      libscanpci.so libxf1bpp.so
195
196 %description
197 Xorg server is a generally used X server which uses display hardware.
198 It requires proper driver for your display hardware.
199
200 %description -l pl.UTF-8
201 Serwer Xorg to podstawowy serwer X wyświetlający obraz na karcie
202 graficznej. Do działania wymaga odpowiedniego sterownika.
203
204 %package -n xorg-xserver-Xdmx
205 Summary:        Xdmx - distributed multi-head X server
206 Summary(pl.UTF-8):      Xdmx - rozproszony, wielomonitorowy serwer X
207 Group:          X11/Servers
208 Requires:       pixman >= %{pixman_ver}
209 Requires:       xorg-lib-libX11 >= 1.6
210 Requires:       xorg-lib-libXext >= 1.0.99.4
211 Requires:       xorg-lib-libXfont >= 1.4.2
212 Requires:       xorg-lib-libXi >= 1.2.99.1
213 Requires:       xorg-lib-libdmx >= 1.0.99.1
214
215 %description -n xorg-xserver-Xdmx
216 Xdmx - distributed multi-head X server.
217
218 %description -n xorg-xserver-Xdmx -l pl.UTF-8
219 Xdmx - rozproszony, wielomonitorowy serwer X.
220
221 %package -n xorg-xserver-Xnest
222 Summary:        Xnest - nested X server
223 Summary(pl.UTF-8):      Xnest - zagnieżdżony serwer X
224 Group:          X11/Servers
225 Requires:       pixman >= %{pixman_ver}
226 Requires:       xorg-lib-libXext >= 1.0.99.4
227 Requires:       xorg-lib-libXfont >= 1.4.2
228 Obsoletes:      X11-Xnest < 1:7.0.0
229 Obsoletes:      XFree86-Xnest < 1:7.0.0
230 Obsoletes:      Xserver-Xnest
231
232 %description -n xorg-xserver-Xnest
233 Xnest is an X Window System server which runs in an X window. Xnest is
234 a 'nested' window server, actually a client of the real X server,
235 which manages windows and graphics requests for Xnest, while Xnest
236 manages the windows and graphics requests for its own clients.
237
238 %description -n xorg-xserver-Xnest -l pl.UTF-8
239 Xnest jest serwerem X uruchamianym w okienku innego serwera X. Xnest
240 zachowuje się jak klient X w stosunku do prawdziwego serwera X, a jak
241 serwer X dla własnych klientów.
242
243 %description -n xorg-xserver-Xnest -l ru.UTF-8
244 Xnest - это сервер X Window System, который работает в окне X. На
245 самом деле это клиент реального X-сервера, который управляет окнами и
246 графическими запросами для Xnest в то время, как Xnest управляет
247 окнами и графическими запросами для своих собственных клиентов.
248
249 %description -n xorg-xserver-Xnest -l uk.UTF-8
250 Xnest - це сервер X Window System, який працює у вікні X. Фактично це
251 клієнт реального X-сервера, який керує вікнами та графічними запитами
252 для Xnest в той час, як Xnest керує вікнами та графічними запитами для
253 своїх власних клієнтів.
254
255 %package -n xorg-xserver-Xephyr
256 Summary:        Xephyr - nested X server
257 Summary(pl.UTF-8):      Xephyr - zagnieżdżony serwer X
258 Group:          X11/Servers
259 Requires:       Mesa-libGL >= 7.1.0
260 Requires:       libxcb >= 1.6
261 Requires:       pixman >= %{pixman_ver}
262 Requires:       xorg-lib-libXfont >= 1.4.2
263
264 %description -n xorg-xserver-Xephyr
265 Xephyr is a kdrive server that outputs to a window on a pre-existing
266 'host' X display. Think Xnest but with support for modern extensions
267 like composite, damage and randr.
268
269 Unlike Xnest which is an X proxy, i.e. limited to the capabilities of
270 the host X server, Xephyr is a real X server which uses the host X
271 server window as "framebuffer" via fast SHM XImages.
272
273 It also has support for 'visually' debugging what the server is
274 painting.
275
276 %description -n xorg-xserver-Xephyr -l pl.UTF-8
277 Xephyr jest serwerem opartym na kdrive wyświetlającym w oknie na
278 istniejącym ekranie X. Można o nim myśleć jako o Xnest ze wsparciem do
279 wspólczesnych rozszerzeń jak composite, damage i randr.
280
281 %package -n xorg-xserver-Xfbdev
282 Summary:        Xfbdev - Linux framebuffer device X server
283 Summary(pl.UTF-8):      Xfbdev - serwer X dla framebuffera
284 Group:          X11/Servers
285 Requires:       pixman >= %{pixman_ver}
286 Requires:       xorg-lib-libXfont >= 1.4.2
287
288 %description -n xorg-xserver-Xfbdev
289 Xfbdev is a Linux framebuffer device X server based on the kdrive X
290 server.
291
292 %description -n xorg-xserver-Xfbdev -l pl.UTF-8
293 Xfbdev jest serwerem X dla framebuffera opartym na kdrive.
294
295 %package -n xorg-xserver-Xvfb
296 Summary:        Xvfb - virtual framebuffer X server
297 Summary(pl.UTF-8):      Xvfb - serwer X z wirtualnym framebufferem
298 Group:          X11/Servers
299 Requires:       Mesa-libGL >= 7.1.0
300 Requires:       mktemp
301 Requires:       pixman >= %{pixman_ver}
302 Requires:       util-linux
303 Requires:       which
304 Requires:       xkeyboard-config
305 Requires:       xorg-app-xauth
306 Requires:       xorg-app-xkbcomp
307 Requires:       xorg-lib-libXfont >= 1.4.2
308 Obsoletes:      X11-Xvfb < 1:7.0.0
309 Obsoletes:      XFree86-Xvfb < 1:7.0.0
310
311 %description -n xorg-xserver-Xvfb
312 Xvfb (X Virtual Frame Buffer) is an X Window System server that is
313 capable of running on machines with no display hardware and no
314 physical input devices. Xvfb emulates a dumb framebuffer using virtual
315 memory. Xvfb doesn't open any devices, but behaves otherwise as an X
316 display. Xvfb is normally used for testing servers. Using Xvfb, the
317 mfb or cfb code for any depth can be exercised without using real
318 hardware that supports the desired depths. Xvfb has also been used to
319 test X clients against unusual depths and screen configurations, to do
320 batch processing with Xvfb as a background rendering engine, to do
321 load testing, to help with porting an X server to a new platform, and
322 to provide an unobtrusive way of running applications which really
323 don't need an X server but insist on having one.
324
325 %description -n xorg-xserver-Xvfb -l pl.UTF-8
326 Xvfb (X Virtual Frame Buffer) jest serwerem X, który można uruchamiać
327 na maszynach bez urządzeń wyświetlających ani fizycznych urządzeń
328 wejściowych. Xvfb emuluje prosty framebuffer w pamięci. Zwykle jest
329 używany do testowania serwerów X, może też być używany do testowania
330 klientów X w rzadko używanych konfiguracjach ekranu. Można też użyć
331 Xvfb do uruchomienia aplikacji, które w rzeczywistości nie wymagają
332 serwera X, ale odmawiają uruchomienia bez niego.
333
334 %package -n xorg-xserver-Xvfb-init
335 Summary:        Init scripts for Xvfb
336 Summary(pl.UTF-8):      Skrypty startowe dla Xvfb
337 Group:          X11/Servers
338 Requires:       xorg-xserver-Xvfb
339
340 %description -n xorg-xserver-Xvfb-init
341 This package contains init scripts for Xvfb and registers Xvfb as
342 system service.
343
344 %description -n xorg-xserver-Xvfb-init -l pl.UTF-8
345 Ten pakiet zawiera skrypty startowe dla Xvfb oraz rejestruje Xvfb jako
346 usługę systemową.
347
348 %package -n xorg-xserver-Xwayland
349 Summary:        Xwayland - X server integrated into a Wayland window system
350 Summary(pl.UTF-8):      Xwayland - serwer X integrowalny w Wayland
351 Group:          X11/Servers
352 Requires:       pixman >= %{pixman_ver}
353 Requires:       xorg-lib-libX11 >= 1.6
354 Requires:       xorg-lib-libXext >= 1.0.99.4
355 Requires:       xorg-lib-libXfont >= 1.4.2
356 Requires:       xorg-lib-libXi >= 1.2.99.1
357
358 %description -n xorg-xserver-Xwayland
359 Xwayland - server integrated into a Wayland window system.
360
361 %description -n xorg-xserver-Xwayland -l pl.UTF-8
362 Xwayland - serwer X integrowalny w Wayland.
363
364 %package devel
365 Summary:        Header files for X.org server
366 Summary(pl.UTF-8):      Pliki nagłówkowe dla serwera X.org
367 Group:          X11/Development/Libraries
368 Requires:       Mesa-libGL-devel >= 7.8.0
369 Requires:       libdrm-devel >= 2.4.46
370 Requires:       pixman-devel >= %{pixman_ver}
371 Requires:       xorg-lib-libpciaccess-devel >= 0.12.901
372 Requires:       xorg-lib-libxkbfile-devel
373 %{?with_dri2:Requires:  xorg-proto-dri2proto-devel >= 2.8}
374 Requires:       xorg-proto-dri3proto-devel >= 1.0
375 Requires:       xorg-proto-fontsproto-devel >= 2.1.3
376 Requires:       xorg-proto-glproto-devel >= 1.4.17
377 Requires:       xorg-proto-inputproto-devel >= 2.3
378 Requires:       xorg-proto-kbproto-devel >= 1.0.3
379 Requires:       xorg-proto-presentproto-devel >= 1.0
380 Requires:       xorg-proto-randrproto-devel >= 1.4.0
381 Requires:       xorg-proto-renderproto-devel >= 0.11
382 Requires:       xorg-proto-resourceproto-devel >= 1.2.0
383 Requires:       xorg-proto-scrnsaverproto-devel >= 1.1
384 Requires:       xorg-proto-videoproto-devel
385 Requires:       xorg-proto-xextproto-devel >= 1:7.3.0
386 Requires:       xorg-proto-xf86driproto-devel >= 2.1.0
387 Requires:       xorg-proto-xineramaproto-devel
388 Requires:       xorg-proto-xproto-devel >= 7.0.26
389 Obsoletes:      X11-Xserver-devel < 1:7.0.0
390 Obsoletes:      XFree86-Xserver-devel < 1:7.0.0
391 %{?with_glamor:Obsoletes:       glamor-devel}
392
393 %description devel
394 Header files for X.org server.
395
396 %description devel -l pl.UTF-8
397 Pliki nagłówkowe dla serwera X.org.
398
399 %package source
400 Summary:        X.org server source code
401 Summary(pl.UTF-8):      Pliki źródłowe dla serwera X.org
402 Group:          X11/Development/Libraries
403
404 %description source
405 X.org server source code.
406
407 %description source -l pl.UTF-8
408 Pliki źródłowe dla serwera X.org.
409
410 %package -n xorg-xserver-libglx
411 Summary:        GLX extension library for X.org server
412 Summary(pl.UTF-8):      Biblioteka rozszerzenia GLX dla serwera X.org
413 Group:          X11/Servers
414 Requires:       %{name} = %{version}-%{release}
415 Requires:       Mesa-libGL >= 7.1.0
416 %{?with_dri2:Requires:  Mesa-libGL >= 9.2.0}
417 # Mesa version glapi tables in glx/ dir come from
418 Provides:       xorg-xserver-libglx(glapi) = 7.1.0
419 Provides:       xorg-xserver-module(glx)
420 Obsoletes:      X11-OpenGL-core < 1:7.0.0
421 Obsoletes:      XFree86-OpenGL-core < 1:7.0.0
422
423 %description -n xorg-xserver-libglx
424 GLX extension library for X.org server.
425
426 %description -n xorg-xserver-libglx -l pl.UTF-8
427 Biblioteka rozszerzenia GLX dla serwera X.org.
428
429 %prep
430 %setup -q -n xorg-server-%{version}
431 %patch0 -p0
432 %patch1 -p1
433 %patch2 -p1
434
435 %patch4 -p1
436
437 %patch6 -p1
438
439 #unfortunately breaks build
440 #patch7 -p1
441
442 # xserver uses pixman-1 API/ABI so put that explictly here
443 sed -i -e 's#<pixman\.h#<pixman-1/pixman.h#g' ./fb/fb.h ./include/miscstruct.h ./render/picture.h
444
445 # support __filemansuffix__ with "x" suffix (per FHS 2.3)
446 %{__sed} -i -e 's,\.so man__filemansuffix__/,.so man5/,' hw/xfree86/man/*.man
447
448 %build
449 API=$(awk '/#define ABI_ANSIC_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
450 if [ $API != %{xorg_xserver_server_ansic_abi} ]; then
451         echo "Set %%define xorg_xserver_server_ansic_abi to $API and rerun."
452         exit 1
453 fi
454
455 API=$(awk '/#define ABI_EXTENSION_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
456 if [ $API != %{xorg_xserver_server_extension_abi} ]; then
457         echo "Set %%define xorg_xserver_server_extension_abi to $API and rerun."
458         exit 1
459 fi
460
461 API=$(awk '/#define ABI_FONT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
462 if [ $API != %{xorg_xserver_server_font_abi} ]; then
463         echo "Set %%define xorg_xserver_server_font_abi to $API and rerun."
464         exit 1
465 fi
466 API=$(awk '/#define ABI_VIDEODRV_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
467 if [ $API != %{xorg_xserver_server_videodrv_abi} ]; then
468         echo "Set %%define xorg_xserver_server_videodrv_abi to $API and rerun."
469         exit 1
470 fi
471 API=$(awk '/#define ABI_XINPUT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
472 if [ $API != %{xorg_xserver_server_xinput_abi} ]; then
473         echo "Set %%define xorg_xserver_server_xinput_abi to $API and rerun."
474         exit 1
475 fi
476
477 %{__libtoolize}
478 %{__aclocal} -I m4
479 %{__autoconf}
480 %{__autoheader}
481 %{__automake}
482 %configure \
483         --with-os-name="PLD/Linux" \
484         --with-os-vendor="PLD/Team" \
485         --with-default-font-path="%{_fontsdir}/misc,%{_fontsdir}/TTF,%{_fontsdir}/OTF,%{_fontsdir}/Type1,%{_fontsdir}/100dpi,%{_fontsdir}/75dpi" \
486         --with-xkb-output=/var/lib/xkb \
487         --disable-linux-acpi \
488         --disable-linux-apm \
489         --enable-aiglx \
490         %{?with_dbus:--enable-config-dbus} \
491         --enable-config-hal%{!?with_hal:=no} \
492         --enable-config-udev%{!?with_udev:=no} \
493         --enable-dga \
494         %{?with_dmx:--enable-dmx} \
495         --enable-dri2%{!?with_dri2:=no} \
496         %{?with_glamor:--enable-glamor} \
497         --enable-glx-tls \
498         --enable-install-libxf86config \
499         --enable-kdrive \
500         %{?with_libunwind:--enable-libunwind} \
501         %{?with_record:--enable-record} \
502         --enable-secure-rpc \
503         %{?with_xcsecurity:--enable-xcsecurity} \
504         --enable-xephyr \
505         %{?with_xf86bigfont:--enable-xf86bigfont} \
506         --disable-xfake \
507         --enable-xfbdev \
508         %{?with_xselinux:--enable-xselinux} \
509         %{?with_wayland:--enable-xwayland} \
510         %{!?with_systemtap:--without-dtrace} \
511         --without-fop \
512         --with-systemd-daemon
513
514 %{__make} -j1
515
516 %install
517 rm -rf $RPM_BUILD_ROOT
518
519 %if "%{_libdir}" != "%{_exec_prefix}/lib"
520 install -d $RPM_BUILD_ROOT%{_exec_prefix}/lib/xorg/modules/dri
521 %endif
522
523 %{__make} install \
524         DESTDIR=$RPM_BUILD_ROOT
525
526 install -Dp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/xserver
527 install -d $RPM_BUILD_ROOT/etc/{security/console.apps,X11/xorg.conf.d}
528 install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{dri,drivers,input}
529 install -d $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
530 install -p %{SOURCE12} $RPM_BUILD_ROOT%{_bindir}/xvfb-run
531
532 :> $RPM_BUILD_ROOT/etc/security/console.apps/xserver
533 :> $RPM_BUILD_ROOT/etc/security/blacklist.xserver
534
535 %{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{*,*/*}.la
536
537 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/10-quirks.conf
538
539 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
540 install -d $RPM_BUILD_ROOT/etc/sysconfig
541 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/Xvfb
542 cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/sysconfig/Xvfb
543
544 # prepare source package
545 install -d $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
546 cp -a * $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
547 cd $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
548 %{__make} distclean
549 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
550 find -name '*.h' | xargs chmod a-x
551
552 %if %{with systemtap}
553 %{__rm} $RPM_BUILD_ROOT%{_docdir}/xorg-server/Xserver-DTrace.*
554 %endif
555
556 %clean
557 rm -rf $RPM_BUILD_ROOT
558
559 %triggerpostun -- xorg-xserver-server < 1.5.0
560 if [ -f /etc/X11/xorg.conf ]; then
561         sed -i -e 's/^\s*RgbPath.*$/#& # obsolete option/' /etc/X11/xorg.conf
562         sed -i -e 's/^\s*Load\s*"type1".*$/#& # obsolete module/' /etc/X11/xorg.conf
563 %if %{without record}
564         sed -i -e 's/^\s*Load\s*"record".*$/#& # module disabled in this build/' /etc/X11/xorg.conf
565 %endif
566         sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # obsolete module/' /etc/X11/xorg.conf
567 fi
568
569 %post -n xorg-xserver-Xvfb-init
570 /sbin/chkconfig --add Xvfb
571 %service Xvfb restart
572
573 %preun -n xorg-xserver-Xvfb-init
574 if [ "$1" = "0" ]; then
575         %service -q Xvfb stop
576         /sbin/chkconfig --del Xvfb
577 fi
578
579 %files
580 %defattr(644,root,root,755)
581 %doc COPYING ChangeLog README
582 %attr(755,root,root) %{_bindir}/X
583 %attr(755,root,root) %{_bindir}/Xorg
584 %attr(4755,root,root) %{_bindir}/Xwrapper
585 %attr(755,root,root) %{_bindir}/cvt
586 %attr(755,root,root) %{_bindir}/gtf
587 %dir %{_libdir}/xorg
588 %{_libdir}/xorg/protocol.txt
589 %dir %{_libdir}/xorg/modules
590 %attr(755,root,root) %{_libdir}/xorg/modules/libexa.so
591 %attr(755,root,root) %{_libdir}/xorg/modules/libfb.so
592 %attr(755,root,root) %{_libdir}/xorg/modules/libfbdevhw.so
593 %{?with_glamor:%attr(755,root,root) %{_libdir}/xorg/modules/libglamoregl.so}
594 %attr(755,root,root) %{_libdir}/xorg/modules/libint10.so
595 %attr(755,root,root) %{_libdir}/xorg/modules/libshadow.so
596 %attr(755,root,root) %{_libdir}/xorg/modules/libshadowfb.so
597 %attr(755,root,root) %{_libdir}/xorg/modules/libvbe.so
598 %attr(755,root,root) %{_libdir}/xorg/modules/libvgahw.so
599 %attr(755,root,root) %{_libdir}/xorg/modules/libwfb.so
600 %dir %{_libdir}/xorg/modules/dri
601 %dir %{_libdir}/xorg/modules/drivers
602 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/modesetting_drv.so
603 %dir %{_libdir}/xorg/modules/extensions
604 %dir %{_libdir}/xorg/modules/input
605 %if "%{_libdir}" != "%{_exec_prefix}/lib"
606 %dir %{_exec_prefix}/lib/xorg
607 %dir %{_exec_prefix}/lib/xorg/modules
608 %dir %{_exec_prefix}/lib/xorg/modules/dri
609 %endif
610 %dir /var/lib/xkb
611 /var/lib/xkb/README.compiled
612 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/xserver
613 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.xserver
614 %config(missingok) /etc/security/console.apps/xserver
615 %{?with_dbus:/etc/dbus-1/system.d/xorg-server.conf}
616 %dir /etc/X11/xorg.conf.d
617 %dir %{_datadir}/X11/xorg.conf.d
618 # overwrite these settings with local configs in /etc/X11/xorg.conf.d
619 %verify(not md5 mtime size) %{_datadir}/X11/xorg.conf.d/10-evdev.conf
620 %verify(not md5 mtime size) %{_datadir}/X11/xorg.conf.d/10-quirks.conf
621 %{_mandir}/man1/Xorg.1*
622 %{_mandir}/man1/Xserver.1*
623 %{_mandir}/man1/cvt.1*
624 %{_mandir}/man1/gtf.1*
625 %{_mandir}/man4/exa.4*
626 %{_mandir}/man4/fbdevhw.4*
627 %{_mandir}/man4/modesetting.4*
628 %{_mandir}/man5/xorg.conf.5*
629 %{_mandir}/man5/xorg.conf.d.5*
630
631 %if %{with dmx}
632 %files -n xorg-xserver-Xdmx
633 %defattr(644,root,root,755)
634 %attr(755,root,root) %{_bindir}/Xdmx
635 %attr(755,root,root) %{_bindir}/dmxaddinput
636 %attr(755,root,root) %{_bindir}/dmxaddscreen
637 %attr(755,root,root) %{_bindir}/dmxinfo
638 %attr(755,root,root) %{_bindir}/dmxreconfig
639 %attr(755,root,root) %{_bindir}/dmxresize
640 %attr(755,root,root) %{_bindir}/dmxrminput
641 %attr(755,root,root) %{_bindir}/dmxrmscreen
642 %attr(755,root,root) %{_bindir}/dmxtodmx
643 %attr(755,root,root) %{_bindir}/dmxwininfo
644 %attr(755,root,root) %{_bindir}/vdltodmx
645 %attr(755,root,root) %{_bindir}/xdmxconfig
646 %{_mandir}/man1/Xdmx.1*
647 %{_mandir}/man1/dmxtodmx.1*
648 %{_mandir}/man1/vdltodmx.1*
649 %{_mandir}/man1/xdmxconfig.1*
650 %endif
651
652 %files -n xorg-xserver-Xnest
653 %defattr(644,root,root,755)
654 %attr(755,root,root) %{_bindir}/Xnest
655 %{_mandir}/man1/Xnest.1*
656
657 %files -n xorg-xserver-Xephyr
658 %defattr(644,root,root,755)
659 %attr(755,root,root) %{_bindir}/Xephyr
660 %{_mandir}/man1/Xephyr.1*
661
662 %files -n xorg-xserver-Xfbdev
663 %defattr(644,root,root,755)
664 %attr(755,root,root) %{_bindir}/Xfbdev
665
666 %files -n xorg-xserver-Xvfb
667 %defattr(644,root,root,755)
668 %attr(755,root,root) %{_bindir}/Xvfb
669 %attr(755,root,root) %{_bindir}/xvfb-run
670 %{_mandir}/man1/Xvfb.1*
671
672 %files -n xorg-xserver-Xvfb-init
673 %defattr(644,root,root,755)
674 %attr(754,root,root) /etc/rc.d/init.d/Xvfb
675 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/Xvfb
676
677 %if %{with wayland}
678 %files -n xorg-xserver-Xwayland
679 %defattr(644,root,root,755)
680 %attr(755,root,root) %{_bindir}/Xwayland
681 %endif
682
683 %files devel
684 %defattr(644,root,root,755)
685 %doc doc/{Xinput,Xserver-spec}.html %{?with_systemtap:doc/dtrace/Xserver-DTrace.html}
686 %{_includedir}/xorg
687 %{_libdir}/libxf86config.a
688 %{_libdir}/libxf86config.la
689 %{_aclocaldir}/xorg-server.m4
690 %{_pkgconfigdir}/xorg-server.pc
691
692 %files source
693 %defattr(644,root,root,755)
694 # keep file perms from install time, but have default defattr to keep adapter happy
695 %defattr(-,root,root,755)
696 %{_usrsrc}/%{name}-%{version}
697
698 %files -n xorg-xserver-libglx
699 %defattr(644,root,root,755)
700 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so
This page took 0.078804 seconds and 4 git commands to generate.