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