1 |
#global gitdate 20151027 |
2 |
# temporary build fix: |
3 |
%define _python_bytecompile_build 0 |
4 |
|
5 |
%bcond_with debug |
6 |
%define enable_builddocs 0 |
7 |
|
8 |
# Need this for shared objects that reference X Server, or other modules symbols |
9 |
%define _disable_ld_no_undefined 1 |
10 |
|
11 |
# Alternatives priority for standard libglx.so and mesa libs |
12 |
%define priority 500 |
13 |
|
14 |
%define rel 4 |
15 |
|
16 |
%global __provides_exclude_from %{_datadir}/%{name}-source |
17 |
%global __requires_exclude_from %{_datadir}/%{name}-source |
18 |
|
19 |
# Released ABI versions. Have to keep these manually in sync with the |
20 |
# source because rpm is a terrible language. |
21 |
%global ansic_major 0 |
22 |
%global ansic_minor 4 |
23 |
%global videodrv_major 24 |
24 |
%global videodrv_minor 1 |
25 |
%global xinput_major 24 |
26 |
%global xinput_minor 1 |
27 |
%global extension_major 10 |
28 |
%global extension_minor 0 |
29 |
|
30 |
%global pkgname xorg-server |
31 |
|
32 |
Name: x11-server |
33 |
Version: 1.20.7 |
34 |
Release: %mkrel %rel%{?gitdate:.%{gitdate}} |
35 |
Summary: X11 servers |
36 |
Group: System/X11 |
37 |
URL: http://xorg.freedesktop.org |
38 |
%if 0%{?gitdate} |
39 |
Source0: xorg-server-%{gitdate}.tar.xz |
40 |
%else |
41 |
Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2 |
42 |
Source1: gitignore |
43 |
%endif |
44 |
Source4: 10-quirks.conf |
45 |
Source5: mageia-setup-keyboard-udev |
46 |
Source6: 61-x11-input.rules |
47 |
Source10: xserver.pamd |
48 |
# from RH/FC: |
49 |
# "useful" xvfb-run script |
50 |
Source20: http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.sh |
51 |
Source21: http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.1 |
52 |
# for requires generation in drivers |
53 |
Source30: xserver-sdk-abi-requires.release |
54 |
# for finding & loading nvidia and flgrx drivers: |
55 |
Source90: 00-modules.conf |
56 |
License: GPLv2+ and MIT |
57 |
|
58 |
# Instructions to setup your repository clone |
59 |
# git://anongit.freedesktop.org/git/xorg/xserver |
60 |
# git checkout origin/server-1.7-branch |
61 |
# git checkout -b mdv-1.7-cherry-picks |
62 |
# git am ../03??-*.patch |
63 |
# git checkout -b mdv-1.7-redhat |
64 |
# git am ../04??-*.patch |
65 |
# git checkout -b mdv-1.7-patches |
66 |
# git am ../09??-*.patch |
67 |
|
68 |
# Sync with server-1.20-branch |
69 |
# git format-patch --start-number 100 xorg-server-1.20.3..server-1.20-branch |
70 |
Patch100: 0100-configure-Define-GLAMOR_HAS_EGL_QUERY_DRIVER-when-av.patch |
71 |
Patch101: 0101-modesetting-Explicitly-include-mi.h.patch |
72 |
|
73 |
# xorg server master branch from 200 |
74 |
Patch200: 0200-xfree86-modes-Add-NoOutputInitialSize-option.patch |
75 |
Patch203: 0203-Revert-systemd-logind-Monitor-systemd-logind-going-a.patch |
76 |
Patch204: 0204-dri2-Set-fallback-driver-names-for-Intel-and-AMD-chi.patch |
77 |
|
78 |
# Fedora Patches |
79 |
|
80 |
# XXX needs rebase, but also va_gl should probably just be the default |
81 |
# Patch3: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch |
82 |
|
83 |
# Submitted upstream, but not going anywhere |
84 |
Patch5: 0001-autobind-GPUs-to-the-screen.patch |
85 |
|
86 |
# because the display-managers are not ready yet, do not upstream |
87 |
Patch6: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch |
88 |
|
89 |
# Backports from "master" upstream: |
90 |
|
91 |
# https://bugzilla.redhat.com/show_bug.cgi?id=1697804 |
92 |
Patch500: 0001-Xi-return-AlreadyGrabbed-for-key-grabs-255.patch |
93 |
|
94 |
# Backported Xwayland randr resolution change emulation support |
95 |
Patch501: 0001-dix-Add-GetCurrentClient-helper.patch |
96 |
Patch502: 0002-xwayland-Add-wp_viewport-wayland-extension-support.patch |
97 |
Patch503: 0003-xwayland-Use-buffer_damage-instead-of-surface-damage.patch |
98 |
Patch504: 0004-xwayland-Add-fake-output-modes-to-xrandr-output-mode.patch |
99 |
Patch505: 0005-xwayland-Use-RandR-1.2-interface-rev-2.patch |
100 |
Patch506: 0006-xwayland-Add-per-client-private-data.patch |
101 |
Patch507: 0007-xwayland-Add-support-for-storing-per-client-per-outp.patch |
102 |
Patch508: 0008-xwayland-Add-support-for-randr-resolution-change-emu.patch |
103 |
Patch509: 0009-xwayland-Add-xwlRRModeToDisplayMode-helper-function.patch |
104 |
Patch510: 0010-xwayland-Add-xwlVidModeGetCurrentRRMode-helper-to-th.patch |
105 |
Patch511: 0011-xwayland-Add-vidmode-mode-changing-emulation-support.patch |
106 |
Patch512: 0012-xwayland-xwl_window_should_enable_viewport-Add-extra.patch |
107 |
Patch513: 0013-xwayland-Set-_XWAYLAND_RANDR_EMU_MONITOR_RECTS-prope.patch |
108 |
Patch514: 0014-xwayland-Fix-emulated-modes-not-being-removed-when-s.patch |
109 |
Patch515: 0015-xwayland-Call-xwl_window_check_resolution_change_emu.patch |
110 |
Patch516: 0016-xwayland-Fix-setting-of-_XWAYLAND_RANDR_EMU_MONITOR_.patch |
111 |
Patch517: 0017-xwayland-Remove-unnecessary-xwl_window_is_toplevel-c.patch |
112 |
|
113 |
# Mageia patches |
114 |
# git format-patch --start-number 900 mdv-1.6.4-redhat..mdv-1.6.4-patches |
115 |
Patch900: 0900-Use-a-X-wrapper-that-uses-pam-and-consolehelper-to-g.patch |
116 |
Patch901: 0901-Don-t-print-information-about-X-Server-being-a-pre-r.patch |
117 |
Patch902: 0902-Take-width-into-account-when-choosing-default-mode.patch |
118 |
Patch903: 0903-LED-behavior-fixes.patch |
119 |
Patch906: 0906-xfree86-need-to-press-Ctrl-Alt-Bksp-twice-to-termina.patch |
120 |
|
121 |
# Candidates for dropping: |
122 |
# 902: by pixel, so that X11 choose the best resolution with a better algorithm |
123 |
# 903: Input subsystem has changed *a lot* since this patch was written... I |
124 |
# fear it might break things now |
125 |
# 906: All this patch does is force users to hit ctrl+alt+bksp twice (with |
126 |
# an annoying sound) IF the hotkey is enabled. If the user chooses to |
127 |
# enable ctrk+alt+bksp, why force him to hit twice? OTOH, the sound is |
128 |
# annoying, and it should teach users to not use ctrl+alt+bksp =D |
129 |
|
130 |
# Do not crash if Xv is not initialized (patch from xorg-devel ML) |
131 |
# The crash happened when v4l was loaded and xv was not registered, |
132 |
# for example on RV610 with radeon driver |
133 |
Patch4001: 1001-do-not-crash-if-xv-not-initialized.patch |
134 |
|
135 |
# (cg) Point the user at the journal rather than a logfile at /dev/null |
136 |
Patch5001: point-user-at-journal-rather-than-dev-null.patch |
137 |
|
138 |
# from Suse |
139 |
Patch5009: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch |
140 |
Source5010: u_os-connections-Check-for-stale-FDs.patch |
141 |
|
142 |
# Security fixes |
143 |
|
144 |
Requires: %{name}-xorg |
145 |
Requires: %{name}-xdmx |
146 |
Requires: %{name}-xnest |
147 |
Requires: %{name}-xvfb |
148 |
|
149 |
# This should be removed when any of the vnc packages provide x11-server-xvnc: |
150 |
Obsoletes: %{name}-xvnc < %{version}-%{release} |
151 |
|
152 |
Obsoletes: %{name}-xfake < %{version}-%{release} |
153 |
|
154 |
# temp force new gcc |
155 |
BuildRequires: gcc >= 9.2.0-1 |
156 |
# temp force new glibc |
157 |
BuildRequires: glibc >= 6:2.30-1 |
158 |
|
159 |
BuildRequires: systemtap-sdt-devel |
160 |
BuildRequires: git |
161 |
BuildRequires: libpam-devel |
162 |
BuildRequires: pkgconfig(egl) |
163 |
BuildRequires: pkgconfig(fontutil) >= 1.1 |
164 |
BuildRequires: pkgconfig(gbm) |
165 |
BuildRequires: pkgconfig(gl) >= 7.1 |
166 |
BuildRequires: pkgconfig(libudev) |
167 |
BuildRequires: pkgconfig(pciaccess) |
168 |
BuildRequires: pkgconfig(pixman-1) >= 0.9.5 |
169 |
BuildRequires: pkgconfig(systemd) |
170 |
BuildRequires: pkgconfig(xau) >= 1.0.0 |
171 |
BuildRequires: pkgconfig(xaw7) >= 1.0.1 |
172 |
BuildRequires: pkgconfig(xdmcp) >= 1.0.0 |
173 |
BuildRequires: pkgconfig(xext) >= 1.1 |
174 |
BuildRequires: pkgconfig(xfixes) |
175 |
BuildRequires: pkgconfig(xfont2) |
176 |
BuildRequires: pkgconfig(xi) >= 1.1.3 |
177 |
BuildRequires: pkgconfig(xkbfile) >= 1.0.4 |
178 |
BuildRequires: pkgconfig(xmu) >= 1.0.0 |
179 |
BuildRequires: pkgconfig(xorg-macros) >= 1.10 |
180 |
BuildRequires: pkgconfig(xpm) >= 3.5.4.2 |
181 |
BuildRequires: pkgconfig(xrender) >= 0.9.4 |
182 |
BuildRequires: pkgconfig(xres) >= 1.0.0 |
183 |
BuildRequires: pkgconfig(xtrans) >= 1.3.5 |
184 |
BuildRequires: pkgconfig(xv) |
185 |
BuildRequires: x11-proto-devel >= 7.7-11 |
186 |
|
187 |
# for ./hw/xwin/glx/gen_gl_wrappers.py: |
188 |
%define _python_bytecompile_errors_terminate_build 0 |
189 |
|
190 |
# Probably only needed if we change .l or .y files, but let's have them anyway: |
191 |
BuildRequires: byacc |
192 |
BuildRequires: flex |
193 |
|
194 |
# for xkbcomp patch |
195 |
BuildRequires: pkgconfig(libcrypto) |
196 |
|
197 |
|
198 |
BuildRequires: pkgconfig(dbus-1) |
199 |
|
200 |
BuildRequires: pkgconfig(dmx) |
201 |
BuildRequires: pkgconfig(xtst) >= 1.1 |
202 |
|
203 |
BuildRequires: pkgconfig(wayland-client) >= 1.3.0 |
204 |
BuildRequires: pkgconfig(wayland-eglstream-protocols) |
205 |
BuildRequires: pkgconfig(wayland-protocols) |
206 |
BuildRequires: pkgconfig(epoxy) |
207 |
BuildRequires: pkgconfig(xshmfence) >= 1.1 |
208 |
|
209 |
BuildRequires: pkgconfig(libunwind) |
210 |
|
211 |
BuildRequires: pkgconfig(xcb-aux) pkgconfig(xcb-image) pkgconfig(xcb-icccm) |
212 |
BuildRequires: pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil) |
213 |
|
214 |
%if %{enable_builddocs} |
215 |
BuildRequires: doxygen |
216 |
BuildRequires: fop |
217 |
BuildRequires: xmlto |
218 |
BuildRequires: pkgconfig(xorg-sgml-doctools) |
219 |
%endif |
220 |
|
221 |
%description |
222 |
X.Org X11 X server |
223 |
|
224 |
|
225 |
%package common |
226 |
Summary: Xorg server common files |
227 |
Group: System/X11 |
228 |
License: MIT |
229 |
Provides: XFree86 = 7.0.0 |
230 |
Requires: rgb |
231 |
# for 'fixed' and 'cursor' fonts |
232 |
Requires: x11-font-misc-misc |
233 |
Requires: x11-font-cursor-misc |
234 |
Requires: x11-font-alias |
235 |
Requires: x11-data-xkbdata |
236 |
Requires: xkbcomp |
237 |
Requires: udev |
238 |
# else modesetting fails on minimal install: |
239 |
Requires: %{mklibname mesaegl 1} |
240 |
Requires(post): update-alternatives |
241 |
Requires(postun): update-alternatives |
242 |
# nvidia-71xx does not support X.org server >= 1.5 |
243 |
Conflicts: x11-driver-video-nvidia71xx < 71.86.09-2 |
244 |
# old fglrx does not support X.org server >= 1.7 |
245 |
Conflicts: x11-driver-video-fglrx < 8.720 |
246 |
# Fix: missing conflicts to allow upgrade from 2008.0 to cooker |
247 |
# http://qa.mandriva.com/show_bug.cgi?id=36651 |
248 |
Conflicts: x11-driver-video-nvidia-current <= 100.14.19 |
249 |
|
250 |
|
251 |
Provides: xserver-abi(ansic-%{ansic_major}) = %{ansic_minor} |
252 |
Provides: xserver-abi(videodrv-%{videodrv_major}) = %{videodrv_minor} |
253 |
Provides: xserver-abi(xinput-%{xinput_major}) = %{xinput_minor} |
254 |
Provides: xserver-abi(extension-%{extension_major}) = %{extension_minor} |
255 |
# For proprietary drivers that can support multiple videodrv versions: |
256 |
Provides: xserver-abi(videodrv) = %{videodrv_major}.%{videodrv_minor} |
257 |
|
258 |
%description common |
259 |
X server common files |
260 |
|
261 |
%package xorg |
262 |
Summary: Xorg X server |
263 |
Group: System/X11 |
264 |
License: MIT |
265 |
Requires: x11-server-common = %{version}-%{release} |
266 |
Requires: x11-data-xkbdata > 1.3-5 |
267 |
Requires: x11-font-alias |
268 |
Requires: libx11-common |
269 |
Requires: x11-driver-input-libinput |
270 |
|
271 |
# minimum libxfont needed for xserver-1.9: |
272 |
Requires: libxfont >= 1.4.2 |
273 |
|
274 |
%rename glamor |
275 |
%rename x11-driver-video-modesetting |
276 |
|
277 |
%description xorg |
278 |
X.org X11 is an open source implementation of the X Window System. It |
279 |
provides the basic low level functionality which full fledged |
280 |
graphical user interfaces (GUIs) such as GNOME and KDE are designed |
281 |
upon. |
282 |
|
283 |
|
284 |
%package xnest |
285 |
Summary: A nested server |
286 |
Group: System/X11 |
287 |
License: MIT |
288 |
Requires: x11-server-common = %{version}-%{release} |
289 |
|
290 |
%description xnest |
291 |
Xnest is an X server which has been implemented as an ordinary |
292 |
X application. It runs in a window just like other X applications, |
293 |
but it is an X server itself in which you can run other software. It |
294 |
is a very useful tool for developers who wish to test their |
295 |
applications without running them on their real X server. |
296 |
|
297 |
|
298 |
%package xdmx |
299 |
Summary: Distributed Multihead X Server and utilities |
300 |
Group: System/X11 |
301 |
License: MIT |
302 |
Requires: x11-server-common = %{version}-%{release} |
303 |
|
304 |
%description xdmx |
305 |
Xdmx is a proxy X server that provides multi-head support for multiple displays |
306 |
attached to different machines (each of which is running a typical X server). |
307 |
When Xinerama is used with Xdmx, the multiple displays on multiple machines |
308 |
are presented to the user as a single unified screen. A simple application |
309 |
for Xdmx would be to provide multi-head support using two desktop machines, |
310 |
each of which has a single display device attached to it. A complex |
311 |
application for Xdmx would be to unify a 4 by 4 grid of 1280x1024 displays |
312 |
(each attached to one of 16 computers) into a unified 5120x4096 display. |
313 |
|
314 |
|
315 |
%package xvfb |
316 |
Summary: A X Windows System virtual framebuffer X server |
317 |
Group: System/X11 |
318 |
# xvfb-run is GPLv2, rest is MIT |
319 |
License: MIT and GPLv2 |
320 |
Requires: x11-server-common = %{version}-%{release} |
321 |
Requires: xauth |
322 |
|
323 |
|
324 |
%description xvfb |
325 |
Xvfb (X Virtual Frame Buffer) is an X server that is able to run on |
326 |
machines with no display hardware and no physical input devices. |
327 |
Xvfb simulates a dumb framebuffer using virtual memory. Xvfb does |
328 |
not open any devices, but behaves otherwise as an X display. Xvfb |
329 |
is normally used for testing servers. |
330 |
|
331 |
|
332 |
%package xephyr |
333 |
Summary: A nested server |
334 |
Group: System/X11 |
335 |
License: MIT |
336 |
Requires: x11-server-common = %{version}-%{release} |
337 |
|
338 |
%description xephyr |
339 |
Xephyr is an X server which has been implemented as an ordinary |
340 |
X application. It runs in a window just like other X applications, |
341 |
but it is an X server itself in which you can run other software. It |
342 |
is a very useful tool for developers who wish to test their |
343 |
applications without running them on their real X server. Unlike |
344 |
Xnest, Xephyr renders to an X image rather than relaying the |
345 |
X protocol, and therefore supports the newer X extensions like |
346 |
Render and Composite. |
347 |
|
348 |
|
349 |
%package xwayland |
350 |
Summary: Wayland X Server |
351 |
Group: System/X11 |
352 |
License: MIT |
353 |
Requires: x11-server-common = %{version}-%{release} |
354 |
|
355 |
%description xwayland |
356 |
Xwayland is an X server for running X clients under Wayland. |
357 |
|
358 |
%package devel |
359 |
Summary: SDK for X server driver module development |
360 |
Group: Development/X11 |
361 |
License: MIT |
362 |
|
363 |
%define oldxorgnamedevel %mklibname xorg-x11 |
364 |
Requires: libpixman-1-devel |
365 |
Requires: libpciaccess-devel |
366 |
Requires: libxkbfile-devel |
367 |
Requires: libxext-devel >= 1.1 |
368 |
Requires: pkgconfig(xfont2) |
369 |
# pkgconfig file needs dri.pc: |
370 |
Requires: GL-devel |
371 |
|
372 |
%description devel |
373 |
The SDK package provides the development files which are necessary for |
374 |
developing X server driver modules, and for compiling driver modules |
375 |
outside of the standard X11 source code tree. Developers writing video |
376 |
drivers, input drivers, or other X modules should install this package. |
377 |
|
378 |
|
379 |
%package source |
380 |
Summary: Xserver source code required to build VNC server (Xvnc) |
381 |
Group: Development/X11 |
382 |
License: MIT |
383 |
BuildArch: noarch |
384 |
|
385 |
%description source |
386 |
Xserver source code needed to build VNC server (Xvnc) |
387 |
|
388 |
|
389 |
%prep |
390 |
%autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} |
391 |
rm -rf .git |
392 |
cp %{SOURCE1} .gitignore |
393 |
# ick |
394 |
%global __scm git |
395 |
%{expand:%__scm_setup_git -q} |
396 |
%autopatch |
397 |
|
398 |
# check the ABI in the source against what we expect. |
399 |
getmajor() { |
400 |
grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h | |
401 |
tr '(),' ' ' | awk '{ print $4 }' |
402 |
} |
403 |
|
404 |
getminor() { |
405 |
grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h | |
406 |
tr '(),' ' ' | awk '{ print $5 }' |
407 |
} |
408 |
|
409 |
test `getmajor ansic` == %{ansic_major} |
410 |
test `getminor ansic` == %{ansic_minor} |
411 |
test `getmajor videodrv` == %{videodrv_major} |
412 |
test `getminor videodrv` == %{videodrv_minor} |
413 |
test `getmajor xinput` == %{xinput_major} |
414 |
test `getminor xinput` == %{xinput_minor} |
415 |
test `getmajor extension` == %{extension_major} |
416 |
test `getminor extension` == %{extension_minor} |
417 |
|
418 |
|
419 |
%build |
420 |
|
421 |
%ifnarch %{ix86} x86_64 |
422 |
%global no_int10 --disable-vbe --disable-int10-module |
423 |
%endif |
424 |
%global kdrive --enable-kdrive --enable-xephyr |
425 |
%global xservers --enable-xvfb --enable-xnest %{kdrive} --enable-xorg |
426 |
%global default_font_path "catalogue:/etc/X11/fontpath.d,built-ins" |
427 |
%global dri_flags --enable-dri2 --enable-dri3 --enable-suid-wrapper --enable-glamor |
428 |
%global bodhi_flags --with-vendor-name="%_vendor" |
429 |
|
430 |
%if %with debug |
431 |
CFLAGS='-DBUILDDEBUG -O0 -g3' \ |
432 |
%endif |
433 |
autoreconf -f -v --install || exit 1 |
434 |
%configure %{xservers} \ |
435 |
--with-log-dir=%{_logdir} \ |
436 |
--enable-dependency-tracking \ |
437 |
--enable-xwayland-eglstream \ |
438 |
%{?no_int10} --with-int10=x86emu \ |
439 |
--with-default-font-path=%{default_font_path} \ |
440 |
--with-module-dir=%{_libdir}/xorg/modules \ |
441 |
--with-vendor-web="https://bugs.mageia.org" \ |
442 |
%if %{with debug} |
443 |
--enable-debug \ |
444 |
%else |
445 |
--disable-debug \ |
446 |
%endif |
447 |
--with-builderstring="Build ID: %{name} %{version}-%{release}" \ |
448 |
--with-os-name="$(hostname -s) $(uname -r)" \ |
449 |
--without-dtrace \ |
450 |
--disable-xselinux --enable-record --enable-present \ |
451 |
--enable-config-udev \ |
452 |
--disable-strict-compilation \ |
453 |
--enable-dpms \ |
454 |
--disable-install-setuid \ |
455 |
--enable-secure-rpc \ |
456 |
--enable-pam \ |
457 |
--enable-dmx \ |
458 |
--enable-xwayland \ |
459 |
%{dri_flags} %{?bodhi_flags} \ |
460 |
--with-sha1=libcrypto \ |
461 |
|
462 |
pushd include && make xorg-server.h dix-config.h xorg-config.h && popd |
463 |
%make |
464 |
|
465 |
%install |
466 |
%make_install |
467 |
|
468 |
mkdir -p $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,input} |
469 |
|
470 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/ |
471 |
ln -s %{_bindir}/Xorg %{buildroot}%{_sysconfdir}/X11/X |
472 |
ln -sf %{_libexecdir}/Xorg.wrap %{buildroot}%{_bindir}/X |
473 |
|
474 |
mkdir -p %{buildroot}%{_sysconfdir}/pam.d |
475 |
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xserver |
476 |
mkdir -p %{buildroot}%{_sysconfdir}/security/console.apps |
477 |
touch %{buildroot}%{_sysconfdir}/security/console.apps/xserver |
478 |
|
479 |
mkdir -p $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d |
480 |
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d |
481 |
|
482 |
# make sure the (empty) /etc/X11/xorg.conf.d is there, system-setup-keyboard |
483 |
# relies on it more or less. |
484 |
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d |
485 |
|
486 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/app-defaults |
487 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/fontpath.d |
488 |
|
489 |
# move README.compiled outside compiled/ dir, so there won't be any problem with x11-data-xkbdata |
490 |
mv -f %{buildroot}%{_datadir}/X11/xkb/compiled/README.compiled %{buildroot}%{_datadir}/X11/xkb/ |
491 |
|
492 |
# (anssi) manage proprietary drivers |
493 |
install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL |
494 |
cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL/standard.conf << EOF |
495 |
# This file is knowingly empty since the libraries are in standard search |
496 |
# path. Please do not remove this file. |
497 |
EOF |
498 |
touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf |
499 |
|
500 |
mkdir -p %{buildroot}/sbin |
501 |
mkdir -p %{buildroot}/lib/udev/rules.d/ |
502 |
install -m 0755 %{SOURCE5} %{buildroot}/sbin/mageia-setup-keyboard |
503 |
install -m 0644 %{SOURCE6} %{buildroot}/lib/udev/rules.d |
504 |
|
505 |
install -m 755 %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/xserver-sdk-abi-requires |
506 |
|
507 |
install -m 0755 %{SOURCE20} $RPM_BUILD_ROOT%{_bindir}/xvfb-run |
508 |
|
509 |
# Make the source package |
510 |
%global xserver_source_dir %{_datadir}/x11-server-source |
511 |
%global inst_srcdir %{buildroot}/%{xserver_source_dir} |
512 |
mkdir -p %{inst_srcdir}/{Xext,xkb,GL,hw/{xquartz/bundle,xfree86/common}} |
513 |
mkdir -p %{inst_srcdir}/{hw/dmx/doc,man,doc,hw/dmx/doxygen} |
514 |
cp {,%{inst_srcdir}/}hw/xquartz/bundle/cpprules.in |
515 |
cp {,%{inst_srcdir}/}man/Xserver.man |
516 |
cp {,%{inst_srcdir}/}doc/smartsched |
517 |
cp {,%{inst_srcdir}/}hw/dmx/doxygen/doxygen.conf.in |
518 |
cp {,%{inst_srcdir}/}xserver.ent.in |
519 |
cp {,%{inst_srcdir}/}hw/xfree86/Xorg.sh.in |
520 |
cp xkb/README.compiled %{inst_srcdir}/xkb |
521 |
cp hw/xfree86/xorgconf.cpp %{inst_srcdir}/hw/xfree86 |
522 |
|
523 |
install -m 0755 %{SOURCE21} $RPM_BUILD_ROOT%{_mandir}/man1/xvfb-run.1 |
524 |
install -m 0644 %{SOURCE90} $RPM_BUILD_ROOT/usr/share/X11/xorg.conf.d/ |
525 |
|
526 |
find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | |
527 |
xargs tar cf - | (cd %{inst_srcdir} && tar xf -) |
528 |
find %{inst_srcdir}/hw/xfree86 -name \*.c -delete |
529 |
|
530 |
# Remove unwanted files/dirs |
531 |
{ |
532 |
find $RPM_BUILD_ROOT -type f -name '*.la' | xargs rm -f -- || : |
533 |
# wtf |
534 |
%ifnarch %{ix86} x86_64 |
535 |
rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so |
536 |
%endif |
537 |
} |
538 |
|
539 |
%post common |
540 |
%{_sbindir}/update-alternatives \ |
541 |
--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf %{priority} |
542 |
|
543 |
# (anssi) |
544 |
%triggerun common -- %{name}-common < 1.3.0.0-17 |
545 |
[ $1 -eq 2 ] || exit 0 # do not run if downgrading |
546 |
current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)" |
547 |
if [ "${current_glconf#*mesa}" == "gl1.conf" ]; then |
548 |
# This an upgrade of a system with no proprietary drivers enabled, update |
549 |
# the link to point to the new standard.conf instead of libmesagl1.conf (2008.0 change). |
550 |
%{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
551 |
else |
552 |
# XFdrake did not set symlink to manual mode before 2008.0, so we ensure it here. |
553 |
%{_sbindir}/update-alternatives --set gl_conf "${current_glconf}" |
554 |
fi |
555 |
true |
556 |
|
557 |
%postun common |
558 |
if [ ! -f %{_sysconfdir}/ld.so.conf.d/GL/standard.conf ]; then |
559 |
/usr/sbin/update-alternatives --remove gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
560 |
fi |
561 |
|
562 |
%files |
563 |
|
564 |
%files common |
565 |
%dir %{_libdir}/xorg/modules |
566 |
%dir %{_sysconfdir}/X11 |
567 |
%dir %{_sysconfdir}/X11/app-defaults |
568 |
%dir %{_sysconfdir}/X11/fontpath.d |
569 |
%dir %{_sysconfdir}/ld.so.conf.d/GL |
570 |
%dir %{_sysconfdir}/X11/xorg.conf.d |
571 |
%ghost %{_sysconfdir}/ld.so.conf.d/GL.conf |
572 |
%{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
573 |
%{_bindir}/gtf |
574 |
%{_bindir}/cvt |
575 |
/sbin/mageia-setup-keyboard |
576 |
/lib/udev/rules.d/61-x11-input.rules |
577 |
%{_bindir}/vdltodmx |
578 |
%{_libdir}/xorg/modules/* |
579 |
%{_libdir}/xorg/protocol.txt |
580 |
%{_datadir}/X11/xkb/README.compiled |
581 |
%{_mandir}/man1/gtf.* |
582 |
%{_mandir}/man1/cvt.* |
583 |
%{_mandir}/man1/vdltodmx.* |
584 |
%{_mandir}/man4/* |
585 |
|
586 |
%global Xorgperms %attr(4755, root, root) |
587 |
|
588 |
%files xorg |
589 |
%{_bindir}/X |
590 |
%{_bindir}/Xorg |
591 |
%{_libexecdir}/Xorg |
592 |
%{Xorgperms} %{_libexecdir}/Xorg.wrap |
593 |
%attr(4755,root,root)%{_bindir}/Xwrapper |
594 |
%{_sysconfdir}/X11/X |
595 |
%{_sysconfdir}/pam.d/xserver |
596 |
%{_sysconfdir}/security/console.apps/xserver |
597 |
%{_mandir}/man1/Xorg.1* |
598 |
%{_mandir}/man1/Xorg.wrap.1* |
599 |
%{_mandir}/man1/Xserver.1* |
600 |
%{_mandir}/man5/Xwrapper.config.5* |
601 |
%{_mandir}/man5/xorg.conf.5* |
602 |
%{_mandir}/man5/xorg.conf.d.5* |
603 |
%{_datadir}/X11/xorg.conf.d/00-modules.conf |
604 |
%{_datadir}/X11/xorg.conf.d/10-quirks.conf |
605 |
|
606 |
%files xnest |
607 |
%{_bindir}/Xnest |
608 |
%{_mandir}/man1/Xnest.1* |
609 |
|
610 |
%files xdmx |
611 |
%{_bindir}/Xdmx |
612 |
%{_bindir}/dmx* |
613 |
%{_bindir}/xdmx* |
614 |
%{_mandir}/man1/Xdmx.1* |
615 |
%{_mandir}/man1/dmxtodmx.1* |
616 |
%{_mandir}/man1/xdmxconfig.1* |
617 |
|
618 |
%files xvfb |
619 |
%{_bindir}/Xvfb |
620 |
%{_bindir}/xvfb-run |
621 |
%{_mandir}/man1/Xvfb.1* |
622 |
%{_mandir}/man1/xvfb-run.1* |
623 |
|
624 |
%files xephyr |
625 |
%{_bindir}/Xephyr |
626 |
%{_mandir}/man1/Xephyr.1* |
627 |
|
628 |
%files xwayland |
629 |
%{_bindir}/Xwayland |
630 |
|
631 |
%files devel |
632 |
%{_bindir}/xserver-sdk-abi-requires |
633 |
%{_libdir}/pkgconfig/xorg-server.pc |
634 |
%dir %{_includedir}/xorg |
635 |
%{_includedir}/xorg/*.h |
636 |
%{_datadir}/aclocal/xorg-server.m4 |
637 |
|
638 |
%files source |
639 |
%{xserver_source_dir} |