]> git.pld-linux.org Git - packages/xorg-xserver-server.git/blob - xorg-xserver-server.spec
up to 1.20.8
[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  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
21 #
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
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.20.8
38 Release:        1
39 License:        MIT
40 Group:          X11/Servers
41 Source0:        https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
42 # Source0-md5:  a770aec600116444a953ff632f51f839
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 Patch1:         %{name}-xwrapper-pam.patch
49
50 Patch4:         %{name}-builtin-SHA1.patch
51
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}
57 # for glx headers
58 BuildRequires:  OpenGL-GLX-devel
59 %{?with_xselinux:BuildRequires: audit-libs-devel}
60 BuildRequires:  autoconf >= 2.60
61 BuildRequires:  automake
62 BuildRequires:  cpp
63 BuildRequires:  docbook-dtd43-xml
64 #BuildRequires: doxygen >= 1.6.1
65 %if %{with hal} || %{with dbus}
66 BuildRequires:  dbus-devel >= 1.0
67 %endif
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}
74 %endif
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
86 # wayland-client
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
161 # for rgb.txt
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
189 Obsoletes:      Xserver
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)
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-libXfont2 >= 2.0.0
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-libXfont2 >= 2.0.0
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:       libepoxy >= 1.4.4
261 Requires:       libxcb >= 1.9.3
262 Requires:       pixman >= %{pixman_ver}
263 Requires:       xorg-lib-libXfont2 >= 2.0.0
264
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.
269
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.
273
274 It also has support for 'visually' debugging what the server is
275 painting.
276
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.
281
282 %package -n xorg-xserver-Xvfb
283 Summary:        Xvfb - virtual framebuffer X server
284 Summary(pl.UTF-8):      Xvfb - serwer X z wirtualnym framebufferem
285 Group:          X11/Servers
286 Requires:       Mesa-libGL >= 7.1.0
287 Requires:       mktemp
288 Requires:       pixman >= %{pixman_ver}
289 Requires:       util-linux
290 Requires:       which
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
297
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.
311
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.
320
321 %package -n xorg-xserver-Xvfb-init
322 Summary:        Init scripts for Xvfb
323 Summary(pl.UTF-8):      Skrypty startowe dla Xvfb
324 Group:          X11/Servers
325 Requires:       xorg-xserver-Xvfb
326
327 %description -n xorg-xserver-Xvfb-init
328 This package contains init scripts for Xvfb and registers Xvfb as
329 system service.
330
331 %description -n xorg-xserver-Xvfb-init -l pl.UTF-8
332 Ten pakiet zawiera skrypty startowe dla Xvfb oraz rejestruje Xvfb jako
333 usługę systemową.
334
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
338 Group:          X11/Servers
339 %{?with_eglstream:Requires:     egl-wayland >= 1.0.2}
340 %if %{with eglstream}
341 Requires:       libepoxy >= 1.5.0
342 %else
343 Requires:       libepoxy >= 1.4.4
344 %endif
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
350
351 %description -n xorg-xserver-Xwayland
352 Xwayland - server integrated into a Wayland window system.
353
354 %description -n xorg-xserver-Xwayland -l pl.UTF-8
355 Xwayland - serwer X integrowalny w Wayland.
356
357 %package devel
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}
387
388 %description devel
389 Header files for X.org server.
390
391 %description devel -l pl.UTF-8
392 Pliki nagłówkowe dla serwera X.org.
393
394 %package source
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
398
399 %description source
400 X.org server source code.
401
402 %description source -l pl.UTF-8
403 Pliki źródłowe dla serwera X.org.
404
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
408 Group:          X11/Servers
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
417
418 %description -n xorg-xserver-libglx
419 GLX extension library for X.org server.
420
421 %description -n xorg-xserver-libglx -l pl.UTF-8
422 Biblioteka rozszerzenia GLX dla serwera X.org.
423
424 %prep
425 %setup -q -n xorg-server-%{version}
426 %patch1 -p1
427
428 %patch4 -p1
429
430 %patch6 -p1
431
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
434
435 # support __filemansuffix__ with "x" suffix (per FHS 2.3)
436 %{__sed} -i -e 's,\.so man__filemansuffix__/,.so man5/,' hw/xfree86/man/*.man
437
438 %{__sed} -i -e '1s|#!/usr/bin/python$|#!%{__python}|' config/fdi2iclass.py
439
440 %build
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."
444         exit 1
445 fi
446
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."
450         exit 1
451 fi
452
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."
456         exit 1
457 fi
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."
461         exit 1
462 fi
463
464 %{__libtoolize}
465 %{__aclocal} -I m4
466 %{__autoconf}
467 %{__autoheader}
468 %{__automake}
469 %configure \
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} \
480         --enable-dga \
481         %{?with_dmx:--enable-dmx} \
482         --enable-dri2%{!?with_dri2:=no} \
483         --enable-dri3%{!?with_dri3:=no} \
484         %{?with_glamor:--enable-glamor} \
485         --enable-kdrive \
486         %{?with_libunwind:--enable-libunwind} \
487         %{?with_record:--enable-record} \
488         --enable-secure-rpc \
489         %{?with_xcsecurity:--enable-xcsecurity} \
490         --enable-xephyr \
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} \
496         --without-fop \
497         --enable-suid-wrapper \
498         --with-systemd-daemon
499
500 %{__make} -j1
501
502 %install
503 rm -rf $RPM_BUILD_ROOT
504
505 %if "%{_libdir}" != "%{_exec_prefix}/lib"
506 install -d $RPM_BUILD_ROOT%{_exec_prefix}/lib/xorg/modules/dri
507 %endif
508
509 %{__make} install \
510         DESTDIR=$RPM_BUILD_ROOT
511
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
517
518 :> $RPM_BUILD_ROOT/etc/security/console.apps/xserver
519 :> $RPM_BUILD_ROOT/etc/security/blacklist.xserver
520
521 %{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{*,*/*}.la
522
523 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/10-quirks.conf
524
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
529
530 # Xorg.wrap config
531 cat >$RPM_BUILD_ROOT/etc/X11/Xwrapper.config <<EOF
532 # allowed values: rootonly console anybody pam
533 allowed_users = pam
534
535 # set to yes if hardware or console access requires root rights (and Xwrapper fails to detect it)
536 #needs_root_rights = yes
537 EOF
538
539 # compatibility with old xwrapper
540 ln -s %{_libdir}/xorg/Xorg.wrap $RPM_BUILD_ROOT%{_bindir}/Xwrapper
541
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}
546 %{__make} distclean
547 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
548 find -name '*.h' | xargs chmod a-x
549
550 %if %{with systemtap}
551 %{__rm} $RPM_BUILD_ROOT%{_docdir}/xorg-server/Xserver-DTrace.*
552 %endif
553
554 %clean
555 rm -rf $RPM_BUILD_ROOT
556
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
563 %endif
564         sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # obsolete module/' /etc/X11/xorg.conf
565 fi
566
567 %post -n xorg-xserver-Xvfb-init
568 /sbin/chkconfig --add Xvfb
569 %service Xvfb restart
570
571 %preun -n xorg-xserver-Xvfb-init
572 if [ "$1" = "0" ]; then
573         %service -q Xvfb stop
574         /sbin/chkconfig --del Xvfb
575 fi
576
577 %files
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
585 %dir %{_libdir}/xorg
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
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 %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*
632
633 %if %{with dmx}
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*
652 %endif
653
654 %files -n xorg-xserver-Xnest
655 %defattr(644,root,root,755)
656 %attr(755,root,root) %{_bindir}/Xnest
657 %{_mandir}/man1/Xnest.1*
658
659 %files -n xorg-xserver-Xephyr
660 %defattr(644,root,root,755)
661 %attr(755,root,root) %{_bindir}/Xephyr
662 %{_mandir}/man1/Xephyr.1*
663
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*
669
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
674
675 %if %{with wayland}
676 %files -n xorg-xserver-Xwayland
677 %defattr(644,root,root,755)
678 %attr(755,root,root) %{_bindir}/Xwayland
679 %endif
680
681 %files devel
682 %defattr(644,root,root,755)
683 %doc doc/{Xinput,Xserver-spec}.html %{?with_systemtap:doc/dtrace/Xserver-DTrace.html}
684 %{_includedir}/xorg
685 %{_aclocaldir}/xorg-server.m4
686 %{_pkgconfigdir}/xorg-server.pc
687
688 %files source
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}
693
694 %files -n xorg-xserver-libglx
695 %defattr(644,root,root,755)
696 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so
This page took 0.086674 seconds and 4 git commands to generate.