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