2 # - consider XSELINUX by default
3 # - Xvfb initscript runs Xvfb as root! add user there!
6 %bcond_with dbus # D-BUS support for configuration (if no udev)
7 %bcond_with hal # HAL support for configuration (if no udev)
8 %bcond_without udev # UDEV support for configuration
9 %bcond_without dri2 # DRI2 extension
10 %bcond_without dri3 # DRI3 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_with eglstream # XWayland eglstream support
18 %bcond_without glamor # glamor dix module
19 %bcond_without systemtap # systemtap/dtrace probes
20 %bcond_without libunwind # use libunwind for backtracing
22 # ABI versions, see hw/xfree86/common/xf86Module.h
23 %define xorg_xserver_server_ansic_abi 0.4
24 %define xorg_xserver_server_extension_abi 10.0
25 %define xorg_xserver_server_videodrv_abi 24.1
26 %define xorg_xserver_server_xinput_abi 24.1
28 %define pixman_ver 0.30.0
31 %undefine with_libunwind
35 Summary(pl.UTF-8): Serwer X.org
36 Name: xorg-xserver-server
41 Source0: https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
42 # Source0-md5: a770aec600116444a953ff632f51f839
43 Source1: 10-quirks.conf
45 Source10: %{name}-Xvfb.init
46 Source11: %{name}-Xvfb.sysconfig
48 Patch1: %{name}-xwrapper-pam.patch
50 Patch4: %{name}-builtin-SHA1.patch
52 Patch6: 110_nvidia_slowdow_fix.patch
53 URL: https://xorg.freedesktop.org/
54 BuildRequires: Mesa-libGL-devel >= 7.8.1
55 %{?with_dri2:BuildRequires: Mesa-libGL-devel >= 9.2.0}
56 %{?with_glamor:BuildRequires: Mesa-libgbm-devel >= 17.1.0}
58 BuildRequires: OpenGL-GLX-devel
59 %{?with_xselinux:BuildRequires: audit-libs-devel}
60 BuildRequires: autoconf >= 2.60
61 BuildRequires: automake
63 BuildRequires: docbook-dtd43-xml
64 #BuildRequires: doxygen >= 1.6.1
65 %if %{with hal} || %{with dbus}
66 BuildRequires: dbus-devel >= 1.0
68 %{?with_eglstream:BuildRequires: egl-wayland-devel >= 1.0.2}
69 %{?with_hal:BuildRequires: hal-devel}
70 BuildRequires: libdrm-devel >= 2.4.89
71 %if %{with glamor} || %{with wayland}
72 BuildRequires: libepoxy-devel >= 1.4.4
73 %{?with_eglstream:BuildRequires: libepoxy-devel >= 1.5.0}
75 %{?with_xselinux:BuildRequires: libselinux-devel >= 2.0.86}
76 BuildRequires: libtool >= 2:2.2
77 %{?with_libunwind:BuildRequires: libunwind-devel}
78 BuildRequires: libxcb-devel >= 1.9.3
79 BuildRequires: pam-devel
80 BuildRequires: perl-base
81 BuildRequires: pixman-devel >= %{pixman_ver}
82 BuildRequires: pkgconfig >= 1:0.19
83 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
84 BuildRequires: systemd-devel >= 1:209
85 BuildRequires: udev-devel >= 1:143
87 %{?with_wayland:BuildRequires: wayland-devel >= 1.3.0}
88 %{?with_wayland:BuildRequires: wayland-protocols >= 1.10}
89 BuildRequires: xcb-util-devel
90 BuildRequires: xcb-util-image-devel
91 BuildRequires: xcb-util-keysyms-devel
92 BuildRequires: xcb-util-renderutil-devel
93 BuildRequires: xcb-util-wm-devel
94 BuildRequires: xmlto >= 0.0.20
95 BuildRequires: xorg-app-mkfontscale
96 BuildRequires: xorg-font-font-util >= 1.1
97 BuildRequires: xorg-lib-libX11-devel >= 1.6
98 BuildRequires: xorg-lib-libXau-devel
99 %{?with_dmx:BuildRequires: xorg-lib-libXaw-devel}
100 BuildRequires: xorg-lib-libXdamage-devel
101 BuildRequires: xorg-lib-libXdmcp-devel
102 BuildRequires: xorg-lib-libXext-devel >= 1.0.99.4
103 BuildRequires: xorg-lib-libXfixes-devel
104 BuildRequires: xorg-lib-libXfont2-devel >= 2.0.0
105 BuildRequires: xorg-lib-libXi-devel >= 1.2.99.1
106 %{?with_dmx:BuildRequires: xorg-lib-libXmu-devel}
107 %{?with_dmx:BuildRequires: xorg-lib-libXpm-devel}
108 BuildRequires: xorg-lib-libXrender-devel
109 BuildRequires: xorg-lib-libXres-devel
110 %{?with_dmx:BuildRequires: xorg-lib-libXt-devel >= 1.0.0}
111 BuildRequires: xorg-lib-libXtst-devel >= 1.0.99.2
112 BuildRequires: xorg-lib-libXv-devel
113 BuildRequires: xorg-lib-libXxf86dga-devel
114 BuildRequires: xorg-lib-libXxf86misc-devel
115 BuildRequires: xorg-lib-libXxf86vm-devel
116 %{?with_dmx:BuildRequires: xorg-lib-libdmx-devel >= 1.0.99.1}
117 BuildRequires: xorg-lib-libfontenc-devel
118 BuildRequires: xorg-lib-libpciaccess-devel >= 0.12.901
119 BuildRequires: xorg-lib-libxkbfile-devel
120 BuildRequires: xorg-lib-libxshmfence-devel >= 1.1
121 BuildRequires: xorg-lib-xtrans-devel >= 1.3.5
122 BuildRequires: xorg-proto-bigreqsproto-devel >= 1.1.0
123 BuildRequires: xorg-proto-compositeproto-devel >= 0.4
124 BuildRequires: xorg-proto-damageproto-devel >= 1.1
125 %{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel >= 2.2.99.1}
126 %{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 2.8}
127 BuildRequires: xorg-proto-dri3proto-devel >= 1.2
128 BuildRequires: xorg-proto-fixesproto-devel >= 5.0
129 BuildRequires: xorg-proto-fontcacheproto-devel
130 BuildRequires: xorg-proto-fontsproto-devel >= 2.1.3
131 BuildRequires: xorg-proto-glproto-devel >= 1.4.17
132 BuildRequires: xorg-proto-inputproto-devel >= 2.3
133 BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
134 BuildRequires: xorg-proto-presentproto-devel >= 1.1
135 BuildRequires: xorg-proto-printproto-devel
136 BuildRequires: xorg-proto-randrproto-devel >= 1.6.0
137 %{?with_record:BuildRequires: xorg-proto-recordproto-devel >= 1.13.99.1}
138 BuildRequires: xorg-proto-renderproto-devel >= 0.11
139 BuildRequires: xorg-proto-resourceproto-devel >= 1.2.0
140 BuildRequires: xorg-proto-scrnsaverproto-devel >= 1.1
141 BuildRequires: xorg-proto-videoproto-devel
142 BuildRequires: xorg-proto-xcmiscproto-devel >= 1.2.0
143 BuildRequires: xorg-proto-xextproto-devel >= 1:7.3.0
144 %{?with_xf86bigfont:BuildRequires: xorg-proto-xf86bigfontproto-devel >= 1.2.0}
145 BuildRequires: xorg-proto-xf86dgaproto-devel >= 2.0.99.1
146 BuildRequires: xorg-proto-xf86driproto-devel >= 2.1.0
147 BuildRequires: xorg-proto-xf86miscproto-devel
148 BuildRequires: xorg-proto-xf86vidmodeproto-devel >= 2.2.99.1
149 BuildRequires: xorg-proto-xineramaproto-devel
150 BuildRequires: xorg-proto-xproto-devel >= 7.0.31
151 BuildRequires: xorg-sgml-doctools >= 1.8
152 BuildRequires: xorg-util-util-macros >= 1.14
153 #BR: tslib (for KDRIVE only)
154 Requires(triggerpostun): sed >= 4.0
155 %{?with_glamor:Requires: Mesa-libgbm >= 17.1.0}
156 Requires: libdrm >= 2.4.89
157 Requires: libepoxy >= 1.4.4
158 Requires: pixman >= %{pixman_ver}
159 Requires: udev-libs >= 1:143
160 Requires: xkeyboard-config
162 Requires: xorg-app-rgb >= 0.99.3
163 Requires: xorg-app-xkbcomp
164 Requires: xorg-lib-libXfont2 >= 2.0.0
165 Requires: xorg-lib-libpciaccess >= 0.12.901
166 Requires: xorg-lib-libxshmfence >= 1.1
167 Suggests: dbus-x11 >= 1.0
168 %{?with_hal:Suggests: hal}
169 Suggests: udev-acl >= 1:143
170 %{?with_udev:Suggests: udev-core >= 1:143}
171 Suggests: xkeyboard-config
172 Suggests: xorg-driver-input-libinput
173 # Usual desktop setups need least one video driver to run, see xorg.log which one exactly
174 Suggests: xorg-driver-video
175 Provides: xorg-driver-video-modesetting
176 Provides: xorg-xserver-libdri = %{version}-%{release}
177 Provides: xorg-xserver-module(dri)
178 Provides: xorg-xserver-server(ansic-abi) = %{xorg_xserver_server_ansic_abi}
179 Provides: xorg-xserver-server(extension-abi) = %{xorg_xserver_server_extension_abi}
180 Provides: xorg-xserver-server(videodrv-abi) = %{xorg_xserver_server_videodrv_abi}
181 Provides: xorg-xserver-server(xinput-abi) = %{xorg_xserver_server_xinput_abi}
182 Obsoletes: X11-Xserver < 1:7.0.0
183 Obsoletes: X11-driver-i2c < 1:7.0.0
184 Obsoletes: X11-modules < 1:7.0.0
185 Obsoletes: X11-setup < 1:7.0.0
186 Obsoletes: XFree86-Xserver < 1:7.0.0
187 Obsoletes: XFree86-modules < 1:7.0.0
188 Obsoletes: XFree86-setup < 1:7.0.0
190 %{?with_glamor:Obsoletes: glamor}
191 Obsoletes: xorg-xserver-libdri
192 Obsoletes: xorg-xserver-server-xorgcfg
193 Obsoletes: xorg-driver-video-modesetting
194 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
197 Xorg server is a generally used X server which uses display hardware.
198 It requires proper driver for your display hardware.
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.
204 %package -n xorg-xserver-Xdmx
205 Summary: Xdmx - distributed multi-head X server
206 Summary(pl.UTF-8): Xdmx - rozproszony, wielomonitorowy serwer X
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-libXfont2 >= 2.0.0
212 Requires: xorg-lib-libXi >= 1.2.99.1
213 Requires: xorg-lib-libdmx >= 1.0.99.1
215 %description -n xorg-xserver-Xdmx
216 Xdmx - distributed multi-head X server.
218 %description -n xorg-xserver-Xdmx -l pl.UTF-8
219 Xdmx - rozproszony, wielomonitorowy serwer X.
221 %package -n xorg-xserver-Xnest
222 Summary: Xnest - nested X server
223 Summary(pl.UTF-8): Xnest - zagnieżdżony serwer X
225 Requires: pixman >= %{pixman_ver}
226 Requires: xorg-lib-libXext >= 1.0.99.4
227 Requires: xorg-lib-libXfont2 >= 2.0.0
228 Obsoletes: X11-Xnest < 1:7.0.0
229 Obsoletes: XFree86-Xnest < 1:7.0.0
230 Obsoletes: Xserver-Xnest
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.
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.
243 %description -n xorg-xserver-Xnest -l ru.UTF-8
244 Xnest - это сервер X Window System, который работает в окне X. На
245 самом деле это клиент реального X-сервера, который управляет окнами и
246 графическими запросами для Xnest в то время, как Xnest управляет
247 окнами и графическими запросами для своих собственных клиентов.
249 %description -n xorg-xserver-Xnest -l uk.UTF-8
250 Xnest - це сервер X Window System, який працює у вікні X. Фактично це
251 клієнт реального X-сервера, який керує вікнами та графічними запитами
252 для Xnest в той час, як Xnest керує вікнами та графічними запитами для
253 своїх власних клієнтів.
255 %package -n xorg-xserver-Xephyr
256 Summary: Xephyr - nested X server
257 Summary(pl.UTF-8): Xephyr - zagnieżdżony serwer X
259 Requires: Mesa-libGL >= 7.1.0
260 Requires: libepoxy >= 1.4.4
261 Requires: libxcb >= 1.9.3
262 Requires: pixman >= %{pixman_ver}
263 Requires: xorg-lib-libXfont2 >= 2.0.0
265 %description -n xorg-xserver-Xephyr
266 Xephyr is a kdrive server that outputs to a window on a pre-existing
267 'host' X display. Think Xnest but with support for modern extensions
268 like composite, damage and randr.
270 Unlike Xnest which is an X proxy, i.e. limited to the capabilities of
271 the host X server, Xephyr is a real X server which uses the host X
272 server window as "framebuffer" via fast SHM XImages.
274 It also has support for 'visually' debugging what the server is
277 %description -n xorg-xserver-Xephyr -l pl.UTF-8
278 Xephyr jest serwerem opartym na kdrive wyświetlającym w oknie na
279 istniejącym ekranie X. Można o nim myśleć jako o Xnest ze wsparciem do
280 wspólczesnych rozszerzeń jak composite, damage i randr.
282 %package -n xorg-xserver-Xvfb
283 Summary: Xvfb - virtual framebuffer X server
284 Summary(pl.UTF-8): Xvfb - serwer X z wirtualnym framebufferem
286 Requires: Mesa-libGL >= 7.1.0
288 Requires: pixman >= %{pixman_ver}
291 Requires: xkeyboard-config
292 Requires: xorg-app-xauth
293 Requires: xorg-app-xkbcomp
294 Requires: xorg-lib-libXfont2 >= 2.0.0
295 Obsoletes: X11-Xvfb < 1:7.0.0
296 Obsoletes: XFree86-Xvfb < 1:7.0.0
298 %description -n xorg-xserver-Xvfb
299 Xvfb (X Virtual Frame Buffer) is an X Window System server that is
300 capable of running on machines with no display hardware and no
301 physical input devices. Xvfb emulates a dumb framebuffer using virtual
302 memory. Xvfb doesn't open any devices, but behaves otherwise as an X
303 display. Xvfb is normally used for testing servers. Using Xvfb, the
304 mfb or cfb code for any depth can be exercised without using real
305 hardware that supports the desired depths. Xvfb has also been used to
306 test X clients against unusual depths and screen configurations, to do
307 batch processing with Xvfb as a background rendering engine, to do
308 load testing, to help with porting an X server to a new platform, and
309 to provide an unobtrusive way of running applications which really
310 don't need an X server but insist on having one.
312 %description -n xorg-xserver-Xvfb -l pl.UTF-8
313 Xvfb (X Virtual Frame Buffer) jest serwerem X, który można uruchamiać
314 na maszynach bez urządzeń wyświetlających ani fizycznych urządzeń
315 wejściowych. Xvfb emuluje prosty framebuffer w pamięci. Zwykle jest
316 używany do testowania serwerów X, może też być używany do testowania
317 klientów X w rzadko używanych konfiguracjach ekranu. Można też użyć
318 Xvfb do uruchomienia aplikacji, które w rzeczywistości nie wymagają
319 serwera X, ale odmawiają uruchomienia bez niego.
321 %package -n xorg-xserver-Xvfb-init
322 Summary: Init scripts for Xvfb
323 Summary(pl.UTF-8): Skrypty startowe dla Xvfb
325 Requires: xorg-xserver-Xvfb
327 %description -n xorg-xserver-Xvfb-init
328 This package contains init scripts for Xvfb and registers Xvfb as
331 %description -n xorg-xserver-Xvfb-init -l pl.UTF-8
332 Ten pakiet zawiera skrypty startowe dla Xvfb oraz rejestruje Xvfb jako
335 %package -n xorg-xserver-Xwayland
336 Summary: Xwayland - X server integrated into a Wayland window system
337 Summary(pl.UTF-8): Xwayland - serwer X integrowalny w Wayland
339 %{?with_eglstream:Requires: egl-wayland >= 1.0.2}
340 %if %{with eglstream}
341 Requires: libepoxy >= 1.5.0
343 Requires: libepoxy >= 1.4.4
345 Requires: pixman >= %{pixman_ver}
346 Requires: xorg-lib-libX11 >= 1.6
347 Requires: xorg-lib-libXext >= 1.0.99.4
348 Requires: xorg-lib-libXfont2 >= 2.0.0
349 Requires: xorg-lib-libXi >= 1.2.99.1
351 %description -n xorg-xserver-Xwayland
352 Xwayland - server integrated into a Wayland window system.
354 %description -n xorg-xserver-Xwayland -l pl.UTF-8
355 Xwayland - serwer X integrowalny w Wayland.
358 Summary: Header files for X.org server
359 Summary(pl.UTF-8): Pliki nagłówkowe dla serwera X.org
360 Group: X11/Development/Libraries
361 Requires: Mesa-libGL-devel >= 7.8.0
362 Requires: libdrm-devel >= 2.4.89
363 Requires: pixman-devel >= %{pixman_ver}
364 Requires: xorg-lib-libXfont2-devel >= 2.0.0
365 Requires: xorg-lib-libpciaccess-devel >= 0.12.901
366 Requires: xorg-lib-libxkbfile-devel
367 %{?with_dri2:Requires: xorg-proto-dri2proto-devel >= 2.8}
368 %{?with_dri3:Requires: xorg-proto-dri3proto-devel >= 1.0}
369 Requires: xorg-proto-dri3proto-devel >= 1.0
370 Requires: xorg-proto-fontsproto-devel >= 2.1.3
371 Requires: xorg-proto-glproto-devel >= 1.4.17
372 Requires: xorg-proto-inputproto-devel >= 2.3
373 Requires: xorg-proto-kbproto-devel >= 1.0.3
374 Requires: xorg-proto-presentproto-devel >= 1.1
375 Requires: xorg-proto-randrproto-devel >= 1.6.0
376 Requires: xorg-proto-renderproto-devel >= 0.11
377 Requires: xorg-proto-resourceproto-devel >= 1.2.0
378 Requires: xorg-proto-scrnsaverproto-devel >= 1.1
379 Requires: xorg-proto-videoproto-devel
380 Requires: xorg-proto-xextproto-devel >= 1:7.3.0
381 Requires: xorg-proto-xf86driproto-devel >= 2.1.0
382 Requires: xorg-proto-xineramaproto-devel
383 Requires: xorg-proto-xproto-devel >= 7.0.31
384 Obsoletes: X11-Xserver-devel < 1:7.0.0
385 Obsoletes: XFree86-Xserver-devel < 1:7.0.0
386 %{?with_glamor:Obsoletes: glamor-devel}
389 Header files for X.org server.
391 %description devel -l pl.UTF-8
392 Pliki nagłówkowe dla serwera X.org.
395 Summary: X.org server source code
396 Summary(pl.UTF-8): Pliki źródłowe dla serwera X.org
397 Group: X11/Development/Libraries
400 X.org server source code.
402 %description source -l pl.UTF-8
403 Pliki źródłowe dla serwera X.org.
405 %package -n xorg-xserver-libglx
406 Summary: GLX extension library for X.org server
407 Summary(pl.UTF-8): Biblioteka rozszerzenia GLX dla serwera X.org
409 Requires: %{name} = %{version}-%{release}
410 Requires: Mesa-libGL >= 7.1.0
411 %{?with_dri2:Requires: Mesa-libGL >= 9.2.0}
412 # Mesa version glapi tables in glx/ dir come from
413 Provides: xorg-xserver-libglx(glapi) = 7.1.0
414 Provides: xorg-xserver-module(glx)
415 Obsoletes: X11-OpenGL-core < 1:7.0.0
416 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
418 %description -n xorg-xserver-libglx
419 GLX extension library for X.org server.
421 %description -n xorg-xserver-libglx -l pl.UTF-8
422 Biblioteka rozszerzenia GLX dla serwera X.org.
425 %setup -q -n xorg-server-%{version}
432 # xserver uses pixman-1 API/ABI so put that explictly here
433 sed -i -e 's#<pixman\.h#<pixman-1/pixman.h#g' ./fb/fb.h ./include/miscstruct.h ./render/picture.h
435 # support __filemansuffix__ with "x" suffix (per FHS 2.3)
436 %{__sed} -i -e 's,\.so man__filemansuffix__/,.so man5/,' hw/xfree86/man/*.man
438 %{__sed} -i -e '1s|#!/usr/bin/python$|#!%{__python}|' config/fdi2iclass.py
441 API=$(awk '/#define ABI_ANSIC_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
442 if [ "$API" != "%{xorg_xserver_server_ansic_abi}" ]; then
443 echo "Set %%define xorg_xserver_server_ansic_abi to $API and rerun."
447 API=$(awk '/#define ABI_EXTENSION_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
448 if [ "$API" != "%{xorg_xserver_server_extension_abi}" ]; then
449 echo "Set %%define xorg_xserver_server_extension_abi to $API and rerun."
453 API=$(awk '/#define ABI_VIDEODRV_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
454 if [ "$API" != "%{xorg_xserver_server_videodrv_abi}" ]; then
455 echo "Set %%define xorg_xserver_server_videodrv_abi to $API and rerun."
458 API=$(awk '/#define ABI_XINPUT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
459 if [ "$API" != "%{xorg_xserver_server_xinput_abi}" ]; then
460 echo "Set %%define xorg_xserver_server_xinput_abi to $API and rerun."
470 --libexecdir=%{_libdir}/xorg \
471 --with-os-name="PLD/Linux" \
472 --with-os-vendor="PLD/Team" \
473 --with-default-font-path="%{_fontsdir}/misc,%{_fontsdir}/TTF,%{_fontsdir}/OTF,%{_fontsdir}/Type1,%{_fontsdir}/100dpi,%{_fontsdir}/75dpi" \
474 --with-xkb-output=/var/lib/xkb \
475 --disable-linux-acpi \
476 --disable-linux-apm \
477 %{?with_dbus:--enable-config-dbus} \
478 --enable-config-hal%{!?with_hal:=no} \
479 --enable-config-udev%{!?with_udev:=no} \
481 %{?with_dmx:--enable-dmx} \
482 --enable-dri2%{!?with_dri2:=no} \
483 --enable-dri3%{!?with_dri3:=no} \
484 %{?with_glamor:--enable-glamor} \
486 %{?with_libunwind:--enable-libunwind} \
487 %{?with_record:--enable-record} \
488 --enable-secure-rpc \
489 %{?with_xcsecurity:--enable-xcsecurity} \
491 %{?with_xf86bigfont:--enable-xf86bigfont} \
492 %{?with_xselinux:--enable-xselinux} \
493 %{?with_wayland:--enable-xwayland} \
494 %{?with_eglstream:--enable-xwayland-eglstream} \
495 %{!?with_systemtap:--without-dtrace} \
497 --enable-suid-wrapper \
498 --with-systemd-daemon
503 rm -rf $RPM_BUILD_ROOT
505 %if "%{_libdir}" != "%{_exec_prefix}/lib"
506 install -d $RPM_BUILD_ROOT%{_exec_prefix}/lib/xorg/modules/dri
510 DESTDIR=$RPM_BUILD_ROOT
512 install -Dp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/xserver
513 install -d $RPM_BUILD_ROOT/etc/{security/console.apps,X11/xorg.conf.d}
514 install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{dri,drivers,input}
515 install -d $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
516 install -p %{SOURCE12} $RPM_BUILD_ROOT%{_bindir}/xvfb-run
518 :> $RPM_BUILD_ROOT/etc/security/console.apps/xserver
519 :> $RPM_BUILD_ROOT/etc/security/blacklist.xserver
521 %{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{*,*/*}.la
523 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/10-quirks.conf
525 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
526 install -d $RPM_BUILD_ROOT/etc/sysconfig
527 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/Xvfb
528 cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/sysconfig/Xvfb
531 cat >$RPM_BUILD_ROOT/etc/X11/Xwrapper.config <<EOF
532 # allowed values: rootonly console anybody pam
535 # set to yes if hardware or console access requires root rights (and Xwrapper fails to detect it)
536 #needs_root_rights = yes
539 # compatibility with old xwrapper
540 ln -s %{_libdir}/xorg/Xorg.wrap $RPM_BUILD_ROOT%{_bindir}/Xwrapper
542 # prepare source package
543 install -d $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
544 cp -a * $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
545 cd $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
547 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
548 find -name '*.h' | xargs chmod a-x
550 %if %{with systemtap}
551 %{__rm} $RPM_BUILD_ROOT%{_docdir}/xorg-server/Xserver-DTrace.*
555 rm -rf $RPM_BUILD_ROOT
557 %triggerpostun -- xorg-xserver-server < 1.5.0
558 if [ -f /etc/X11/xorg.conf ]; then
559 sed -i -e 's/^\s*RgbPath.*$/#& # obsolete option/' /etc/X11/xorg.conf
560 sed -i -e 's/^\s*Load\s*"type1".*$/#& # obsolete module/' /etc/X11/xorg.conf
561 %if %{without record}
562 sed -i -e 's/^\s*Load\s*"record".*$/#& # module disabled in this build/' /etc/X11/xorg.conf
564 sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # obsolete module/' /etc/X11/xorg.conf
567 %post -n xorg-xserver-Xvfb-init
568 /sbin/chkconfig --add Xvfb
569 %service Xvfb restart
571 %preun -n xorg-xserver-Xvfb-init
572 if [ "$1" = "0" ]; then
573 %service -q Xvfb stop
574 /sbin/chkconfig --del Xvfb
578 %defattr(644,root,root,755)
579 %doc COPYING ChangeLog README.md
580 %attr(755,root,root) %{_bindir}/X
581 %attr(755,root,root) %{_bindir}/Xorg
582 %attr(4755,root,root) %{_bindir}/Xwrapper
583 %attr(755,root,root) %{_bindir}/cvt
584 %attr(755,root,root) %{_bindir}/gtf
586 %{_libdir}/xorg/protocol.txt
587 %attr(755,root,root) %{_libdir}/xorg/Xorg
588 %attr(4755,root,root) %{_libdir}/xorg/Xorg.wrap
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
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 %config(noreplace) %verify(not md5 mtime size) /etc/X11/Xwrapper.config
618 %dir %{_datadir}/X11/xorg.conf.d
619 # overwrite these settings with local configs in /etc/X11/xorg.conf.d
620 %verify(not md5 mtime size) %{_datadir}/X11/xorg.conf.d/10-quirks.conf
621 %{_mandir}/man1/Xorg.1*
622 %{_mandir}/man1/Xorg.wrap.1*
623 %{_mandir}/man1/Xserver.1*
624 %{_mandir}/man1/cvt.1*
625 %{_mandir}/man1/gtf.1*
626 %{_mandir}/man4/exa.4*
627 %{_mandir}/man4/fbdevhw.4*
628 %{_mandir}/man4/modesetting.4*
629 %{_mandir}/man5/Xwrapper.config.5*
630 %{_mandir}/man5/xorg.conf.5*
631 %{_mandir}/man5/xorg.conf.d.5*
634 %files -n xorg-xserver-Xdmx
635 %defattr(644,root,root,755)
636 %attr(755,root,root) %{_bindir}/Xdmx
637 %attr(755,root,root) %{_bindir}/dmxaddinput
638 %attr(755,root,root) %{_bindir}/dmxaddscreen
639 %attr(755,root,root) %{_bindir}/dmxinfo
640 %attr(755,root,root) %{_bindir}/dmxreconfig
641 %attr(755,root,root) %{_bindir}/dmxresize
642 %attr(755,root,root) %{_bindir}/dmxrminput
643 %attr(755,root,root) %{_bindir}/dmxrmscreen
644 %attr(755,root,root) %{_bindir}/dmxtodmx
645 %attr(755,root,root) %{_bindir}/dmxwininfo
646 %attr(755,root,root) %{_bindir}/vdltodmx
647 %attr(755,root,root) %{_bindir}/xdmxconfig
648 %{_mandir}/man1/Xdmx.1*
649 %{_mandir}/man1/dmxtodmx.1*
650 %{_mandir}/man1/vdltodmx.1*
651 %{_mandir}/man1/xdmxconfig.1*
654 %files -n xorg-xserver-Xnest
655 %defattr(644,root,root,755)
656 %attr(755,root,root) %{_bindir}/Xnest
657 %{_mandir}/man1/Xnest.1*
659 %files -n xorg-xserver-Xephyr
660 %defattr(644,root,root,755)
661 %attr(755,root,root) %{_bindir}/Xephyr
662 %{_mandir}/man1/Xephyr.1*
664 %files -n xorg-xserver-Xvfb
665 %defattr(644,root,root,755)
666 %attr(755,root,root) %{_bindir}/Xvfb
667 %attr(755,root,root) %{_bindir}/xvfb-run
668 %{_mandir}/man1/Xvfb.1*
670 %files -n xorg-xserver-Xvfb-init
671 %defattr(644,root,root,755)
672 %attr(754,root,root) /etc/rc.d/init.d/Xvfb
673 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/Xvfb
676 %files -n xorg-xserver-Xwayland
677 %defattr(644,root,root,755)
678 %attr(755,root,root) %{_bindir}/Xwayland
682 %defattr(644,root,root,755)
683 %doc doc/{Xinput,Xserver-spec}.html %{?with_systemtap:doc/dtrace/Xserver-DTrace.html}
685 %{_aclocaldir}/xorg-server.m4
686 %{_pkgconfigdir}/xorg-server.pc
689 %defattr(644,root,root,755)
690 # keep file perms from install time, but have default defattr to keep adapter happy
691 %defattr(-,root,root,755)
692 %{_usrsrc}/%{name}-%{version}
694 %files -n xorg-xserver-libglx
695 %defattr(644,root,root,755)
696 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so