1 |
%define git 0 |
2 |
|
3 |
%define with_debug 0 |
4 |
%define enable_dmx 1 |
5 |
%define enable_xfake 1 |
6 |
%define enable_hal 0 |
7 |
%define enable_udev 0 |
8 |
%define enable_dbus %{enable_hal} |
9 |
%define enable_builddocs 0 |
10 |
# Do magic with .rpmsave named links |
11 |
%define pre_post_trans 1 |
12 |
|
13 |
# Need this for shared objects that reference X Server, or other modules symbols |
14 |
%define _disable_ld_no_undefined 1 |
15 |
|
16 |
# Alternatives priority for standard libglx.so and mesa libs |
17 |
%define priority 500 |
18 |
|
19 |
# Search for modules in extra_module_dir before the default path. |
20 |
# This will allow fglrx to install its modified modules in more cleaner way. |
21 |
%define extra_module_dir %{_libdir}/xorg/extra-modules |
22 |
%define xorg1_6_extra_modules %{_libdir}/xorg/xorg-1.6-extra-modules |
23 |
|
24 |
%define version 1.9.3 |
25 |
%define rel 3 |
26 |
|
27 |
|
28 |
# ABI versions. Have to keep these manually in sync with the source |
29 |
# because rpm is a terrible language. HTFU. |
30 |
%define ansic_major 0 |
31 |
%define ansic_minor 4 |
32 |
%define videodrv_major 8 |
33 |
%define videodrv_minor 0 |
34 |
%define xinput_major 11 |
35 |
%define xinput_minor 0 |
36 |
%define extension_major 4 |
37 |
%define extension_minor 0 |
38 |
|
39 |
Name: x11-server |
40 |
Version: %{version} |
41 |
%if %{git} |
42 |
Release: %mkrel 0.%{git}.%{rel} |
43 |
%else |
44 |
Release: %mkrel %{rel} |
45 |
%endif |
46 |
Summary: X11 servers |
47 |
Group: System/X11 |
48 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
49 |
URL: http://xorg.freedesktop.org |
50 |
%if %{git} |
51 |
Source0: xorg-server-%{git}.tar.bz2 |
52 |
%else |
53 |
Source0: http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2 |
54 |
%endif |
55 |
Source1: xserver.pamd |
56 |
Source2: xvfb-run.sh |
57 |
Source3: 10-x11-keymap.fdi |
58 |
Source4: mageia-setup-keyboard-hal |
59 |
Source5: mageia-setup-keyboard-udev |
60 |
Source6: 61-x11-input.rules |
61 |
Source7: 11-x11-mouse-quirks.fdi |
62 |
# from RH/FC: |
63 |
# for requires generation in drivers |
64 |
Source30: xserver-sdk-abi-requires |
65 |
License: GPLv2+ and MIT |
66 |
|
67 |
Obsoletes: x11-server13 <= 1.2.99.905 |
68 |
|
69 |
# vesa based kdrive X servers are not built anymore. |
70 |
# Obsoleted for clean upgraded |
71 |
Obsoletes: x11-server-xati <= 1.4.2-4mdv2009.0 |
72 |
Obsoletes: x11-server-xchips <= 1.4.2-4mdv2009.0 |
73 |
Obsoletes: x11-server-xepson <= 1.4.2-4mdv2009.0 |
74 |
Obsoletes: x11-server-xi810 <= 1.4.2-4mdv2009.0 |
75 |
Obsoletes: x11-server-xmach64 <= 1.4.2-4mdv2009.0 |
76 |
Obsoletes: x11-server-xmga <= 1.4.2-4mdv2009.0 |
77 |
Obsoletes: x11-server-xnvidia <= 1.4.2-4mdv2009.0 |
78 |
Obsoletes: x11-server-xpm2 <= 1.4.2-4mdv2009.0 |
79 |
Obsoletes: x11-server-xr128 <= 1.4.2-4mdv2009.0 |
80 |
Obsoletes: x11-server-xsmi <= 1.4.2-4mdv2009.0 |
81 |
Obsoletes: x11-server-xvesa <= 1.4.2-4mdv2009.0 |
82 |
Obsoletes: x11-server-xvia <= 1.4.2-4mdv2009.0 |
83 |
|
84 |
# die, Xgl, die - AdamW 2008/11 |
85 |
Obsoletes: x11-server-xgl <= 0.0.1-0.20080722.3mdv2009.0 |
86 |
|
87 |
Requires: %{name}-xorg |
88 |
%if %{enable_dmx} |
89 |
Requires: %{name}-xdmx |
90 |
%else |
91 |
Obsoletes: %{name}-xdmx < %{version}-%{release} |
92 |
%endif |
93 |
Requires: %{name}-xnest |
94 |
Requires: %{name}-xvfb |
95 |
|
96 |
# This should be removed when any of the vnc packages provide x11-server-xvnc: |
97 |
Obsoletes: %{name}-xvnc < %{version}-%{release} |
98 |
|
99 |
%if !%{enable_xfake} |
100 |
Obsoletes: %{name}-xfake < %{version}-%{release} |
101 |
%endif |
102 |
|
103 |
# FIXME: build with systemtap installed is broken |
104 |
BuildConflicts: systemtap |
105 |
|
106 |
BuildRequires: libmesagl-devel >= 7.1 |
107 |
BuildRequires: libpam-devel |
108 |
BuildRequires: libpciaccess-devel |
109 |
BuildRequires: libpixman-1-devel >= 0.9.5 |
110 |
BuildRequires: libxau-devel >= 1.0.0 |
111 |
BuildRequires: libxaw-devel >= 1.0.1 |
112 |
BuildRequires: libxdmcp-devel >= 1.0.0 |
113 |
BuildRequires: libxext-devel >= 1.1 |
114 |
BuildRequires: libxfixes-devel |
115 |
BuildRequires: libxfont-devel >= 1.2.8-2mdv |
116 |
BuildRequires: libxi-devel >= 1.1.3 |
117 |
BuildRequires: libxkbfile-devel >= 1.0.4 |
118 |
BuildRequires: libxmu-devel >= 1.0.0 |
119 |
BuildRequires: libxpm-devel >= 3.5.4.2 |
120 |
BuildRequires: libxrender-devel >= 0.9.4 |
121 |
BuildRequires: libxres-devel >= 1.0.0 |
122 |
BuildRequires: libxv-devel |
123 |
BuildRequires: x11-font-util >= 1.1 |
124 |
BuildRequires: x11-proto-devel >= 7.5 |
125 |
BuildRequires: x11-util-macros >= 1.1.5 |
126 |
BuildRequires: x11-xtrans-devel >= 1.0.3 |
127 |
|
128 |
# Probably only needed if we change .l or .y files, but let's have them anyway: |
129 |
BuildRequires: byacc |
130 |
BuildRequires: flex |
131 |
|
132 |
# for xkbcomp patch |
133 |
BuildRequires: openssl-devel |
134 |
|
135 |
%if %{enable_hal} |
136 |
# For the moment only really required if compiling with --config-dbus |
137 |
# But if available at build time, will include headers, but do nothing |
138 |
BuildRequires: libhal-devel |
139 |
%endif |
140 |
|
141 |
%if %{enable_udev} |
142 |
BuildRequires: libudev-devel |
143 |
%endif |
144 |
|
145 |
%if %{enable_dbus} |
146 |
BuildRequires: libdbus-devel |
147 |
%endif |
148 |
|
149 |
%if %{enable_dmx} |
150 |
BuildRequires: libdmx-devel |
151 |
BuildRequires: libxtst-devel >= 1.1 |
152 |
%endif |
153 |
|
154 |
%if %{enable_builddocs} |
155 |
BuildRequires: doxygen |
156 |
BuildRequires: fop |
157 |
BuildRequires: xmlto |
158 |
BuildRequires: x11-sgml-doctools |
159 |
%endif |
160 |
|
161 |
# Instructions to setup your repository clone |
162 |
# git://anongit.freedesktop.org/git/xorg/xserver |
163 |
# git checkout origin/server-1.7-branch |
164 |
# git checkout -b mdv-1.7-cherry-picks |
165 |
# git am ../03??-*.patch |
166 |
# git checkout -b mdv-1.7-redhat |
167 |
# git am ../04??-*.patch |
168 |
# git checkout -b mdv-1.7-patches |
169 |
# git am ../09??-*.patch |
170 |
|
171 |
# Sync with server-1.6-branch |
172 |
# git format-patch --start-number 100 xorg-server-1.6.4..server-1.6-branch |
173 |
|
174 |
# Upstream cherry picks from master branch |
175 |
# git format-patch --start-number 300 origin/server-1.6-branch..mdv-1.6.4-cherry-picks |
176 |
|
177 |
# Patches "liberated" from Fedora: |
178 |
# http://pkgs.fedoraproject.org/gitweb/?p=xorg-x11-server.git |
179 |
# git format-patch --start-number 400 mdv-1.6.4-cherry-picks..mdv-1.6.4-redhat |
180 |
Patch401: 0401-RH-xserver-1.9.0-bg-none-root-v1.5.patch |
181 |
Patch402: 0402-RH-xserver-1.5.99.3-ddx-rules-v1.1.patch |
182 |
|
183 |
# Mandriva patches |
184 |
# git format-patch --start-number 900 mdv-1.6.4-redhat..mdv-1.6.4-patches |
185 |
Patch900: 0900-Use-a-X-wrapper-that-uses-pam-and-consolehelper-to-g.patch |
186 |
Patch901: 0901-Don-t-print-information-about-X-Server-being-a-pre-r.patch |
187 |
Patch902: 0902-Take-width-into-account-when-choosing-default-mode.patch |
188 |
Patch904: 0904-LED-behavior-fixes.patch |
189 |
Patch905: 0905-Add-noAutoDevices-command-line-option.patch |
190 |
Patch906: 0906-Xorg-add-an-extra-module-path.patch |
191 |
Patch907: 0907-xfree86-need-to-press-Ctrl-Alt-Bksp-twice-to-termina.patch |
192 |
Patch908: 0908-XKB-cache-xkbcomp-output-for-fast-start-up-v.1-for-1.patch |
193 |
Patch950: 0950-Fix-edge-case-in-IdleTimeBlockHandler.patch |
194 |
Patch951: 0951-Xext-fix-edge-case-With-Positive,-Negative-Transition-triggers.patch |
195 |
|
196 |
%description |
197 |
X11 servers |
198 |
|
199 |
#------------------------------------------------------------------------------ |
200 |
|
201 |
%package devel |
202 |
Summary: Development files for %{name} |
203 |
Group: Development/X11 |
204 |
License: MIT |
205 |
|
206 |
%define oldxorgnamedevel %mklibname xorg-x11 |
207 |
Conflicts: %{oldxorgnamedevel}-devel < 7.0 |
208 |
Obsoletes: x11-server13-devel <= 1.2.99.905 |
209 |
Requires: libpixman-1-devel |
210 |
Requires: libpciaccess-devel |
211 |
Requires: libxkbfile-devel |
212 |
Requires: libxext-devel >= 1.1 |
213 |
|
214 |
%description devel |
215 |
Development files for %{name} |
216 |
|
217 |
%pre devel |
218 |
if [ -h %{_includedir}/X11 ]; then |
219 |
rm -f %{_includedir}/X11 |
220 |
fi |
221 |
|
222 |
%files devel |
223 |
%defattr(-,root,root) |
224 |
%dir %{_includedir}/xorg |
225 |
%{_bindir}/xserver-sdk-abi-requires |
226 |
%{_includedir}/xorg/*.h |
227 |
%{_libdir}/pkgconfig/xorg-server.pc |
228 |
%{_datadir}/aclocal/xorg-server.m4 |
229 |
|
230 |
|
231 |
#------------------------------------------------------------------------------ |
232 |
|
233 |
%package common |
234 |
Summary: X server common files |
235 |
Group: System/X11 |
236 |
License: MIT |
237 |
Provides: XFree86 = 7.0.0 |
238 |
Conflicts: xorg-x11 <= 6.9.0-12mdk |
239 |
Obsoletes: x11-server13-common <= 1.2.99.905 |
240 |
Obsoletes: x11-server-xprt <= 1.3.0.0-2mdv2008.0 |
241 |
Requires: rgb |
242 |
# for 'fixed' and 'cursor' fonts |
243 |
Requires: x11-font-misc-misc |
244 |
Requires: x11-font-cursor-misc |
245 |
Requires: x11-font-alias |
246 |
Requires: x11-data-xkbdata |
247 |
Requires: xkbcomp |
248 |
%if %enable_udev |
249 |
Requires: udev |
250 |
%endif |
251 |
Requires(post): update-alternatives >= 1.9.0 |
252 |
Requires(postun): update-alternatives |
253 |
# see comment about /usr/X11R6/lib below |
254 |
Conflicts: filesystem < 2.1.8 |
255 |
# nvidia-71xx does not support X.org server >= 1.5 |
256 |
Conflicts: x11-driver-video-nvidia71xx < 71.86.09-2 |
257 |
# old fglrx does not support X.org server >= 1.7 |
258 |
Conflicts: x11-driver-video-fglrx < 8.720 |
259 |
# Fix: missing conflicts to allow upgrade from 2008.0 to cooker |
260 |
# http://qa.mandriva.com/show_bug.cgi?id=36651 |
261 |
Conflicts: x11-driver-video-nvidia-current <= 100.14.19 |
262 |
|
263 |
Conflicts: x11-xorg1_5-server < 1.5.3-4 |
264 |
|
265 |
|
266 |
Provides: xserver-abi(ansic-%{ansic_major}) = %{ansic_minor} |
267 |
Provides: xserver-abi(videodrv-%{videodrv_major}) = %{videodrv_minor} |
268 |
Provides: xserver-abi(xinput-%{xinput_major}) = %{xinput_minor} |
269 |
Provides: xserver-abi(extension-%{extension_major}) = %{extension_minor} |
270 |
|
271 |
%description common |
272 |
X server common files |
273 |
|
274 |
# old packages had a dir structure on /usr/X11R6/lib/ but starting on |
275 |
# filesystem-2.1.8 these dirs where kept there but were not owned by any |
276 |
# package. It now should be a compat symlink to the new path: /usr/lib/X11, |
277 |
# but there are scenarios where /usr/lib/X11 and /usr/X11R6/lib/X11 both |
278 |
# exist as directories. |
279 |
%pre common |
280 |
for link in /etc/X11 /usr/lib/X11 /usr/X11R6; do |
281 |
if [ -L $link ]; then |
282 |
echo "$link is a symbolic link. You must run the" |
283 |
echo "script in http://wiki.mandriva.com/en/CookerX11Upgrade" |
284 |
echo "before continuing." |
285 |
exit 1 |
286 |
fi |
287 |
done |
288 |
|
289 |
if [ -L %{_libdir}/X11 ]; then |
290 |
rm -f %{_libdir}/X11 |
291 |
fi |
292 |
if [ -d /usr/X11R6/lib/X11 ]; then |
293 |
mkdir -p %{_libdir}/X11 |
294 |
rm -f /usr/X11R6/lib/X11/fs # old symlink, already on the target dir |
295 |
mv -f /usr/X11R6/lib/X11/* %{_libdir}/X11/ 2> /dev/null |
296 |
rm -rf /usr/X11R6/lib/X11 |
297 |
fi |
298 |
|
299 |
%post common |
300 |
%{_sbindir}/update-alternatives \ |
301 |
--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf %{priority} \ |
302 |
--slave %{extra_module_dir} xorg_extra_modules %{xorg1_6_extra_modules} |
303 |
|
304 |
# (anssi) |
305 |
%triggerun common -- %{name}-common < 1.3.0.0-17 |
306 |
[ $1 -eq 2 ] || exit 0 # do not run if downgrading |
307 |
current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)" |
308 |
if [ "${current_glconf#*mesa}" == "gl1.conf" ]; then |
309 |
# This an upgrade of a system with no proprietary drivers enabled, update |
310 |
# the link to point to the new standard.conf instead of libmesagl1.conf (2008.0 change). |
311 |
%{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
312 |
else |
313 |
# XFdrake did not set symlink to manual mode before 2008.0, so we ensure it here. |
314 |
%{_sbindir}/update-alternatives --set gl_conf "${current_glconf}" |
315 |
fi |
316 |
true |
317 |
|
318 |
%postun common |
319 |
if [ ! -f %{_sysconfdir}/ld.so.conf.d/GL/standard.conf ]; then |
320 |
/usr/sbin/update-alternatives --remove gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
321 |
fi |
322 |
|
323 |
%files common |
324 |
%defattr(-,root,root) |
325 |
%dir %{_libdir}/xorg/modules |
326 |
%dir %{xorg1_6_extra_modules} |
327 |
%dir %{_sysconfdir}/X11 |
328 |
%dir %{_sysconfdir}/X11/app-defaults |
329 |
%dir %{_sysconfdir}/X11/fontpath.d |
330 |
%dir %{_sysconfdir}/ld.so.conf.d/GL |
331 |
%dir %{_sysconfdir}/X11/xorg.conf.d |
332 |
%ghost %{_sysconfdir}/ld.so.conf.d/GL.conf |
333 |
%{_sysconfdir}/ld.so.conf.d/GL/standard.conf |
334 |
%if %enable_dbus |
335 |
%{_sysconfdir}/dbus-1/system.d/xorg-server.conf |
336 |
%endif |
337 |
%{_bindir}/gtf |
338 |
%{_bindir}/cvt |
339 |
%if %enable_hal |
340 |
%{_bindir}/mageia-setup-keyboard |
341 |
%{_datadir}/hal/fdi/policy/10osvendor/*.fdi |
342 |
%endif |
343 |
%if %enable_udev |
344 |
/sbin/mageia-setup-keyboard |
345 |
%{_sysconfdir}/udev/rules.d/61-x11-input.rules |
346 |
%endif |
347 |
%if %enable_dmx |
348 |
%{_bindir}/vdltodmx |
349 |
%endif |
350 |
%{_libdir}/xorg/modules/* |
351 |
%{_libdir}/xorg/protocol.txt |
352 |
%{_datadir}/X11/xkb/README.compiled |
353 |
%{_mandir}/man1/gtf.* |
354 |
%{_mandir}/man1/cvt.* |
355 |
%if %enable_dmx |
356 |
%{_mandir}/man1/vdltodmx.* |
357 |
%endif |
358 |
%{_mandir}/man4/fbdevhw.* |
359 |
%{_mandir}/man4/exa.* |
360 |
%dir %{_prefix}/X11R6 |
361 |
%dir %{_prefix}/X11R6/lib |
362 |
%dir %{_prefix}/X11R6/lib/X11 |
363 |
|
364 |
|
365 |
#------------------------------------------------------------------------------ |
366 |
|
367 |
%package xorg |
368 |
Summary: X.org X11 server |
369 |
Group: System/X11 |
370 |
License: MIT |
371 |
Requires: x11-server-common = %{version}-%{release} |
372 |
Requires: x11-data-xkbdata > 1.3-5 |
373 |
Requires: x11-font-alias |
374 |
Requires: libx11-common |
375 |
%if %{enable_udev} || %{enable_hal} |
376 |
Requires: x11-driver-input-evdev |
377 |
Conflicts: drakx-kbd-mouse-x11 < 0.66 |
378 |
%else |
379 |
Requires: x11-driver-input-mouse |
380 |
Requires: x11-driver-input-keyboard |
381 |
%endif |
382 |
Conflicts: compiz < 0.5.0-1mdv2007.1 |
383 |
Obsoletes: x11-server13-xorg <= 1.2.99.905 |
384 |
|
385 |
# minimum libxfont needed for xserver-1.9: |
386 |
Requires: libxfont >= 1.4.2 |
387 |
|
388 |
# This package was used in the transition to modular: |
389 |
Obsoletes: xorg-x11-server |
390 |
|
391 |
%description xorg |
392 |
x11-server-xorg is the new generation of X server from X.Org. |
393 |
|
394 |
%files xorg |
395 |
%defattr(-,root,root) |
396 |
%{_bindir}/X |
397 |
%{_bindir}/Xorg |
398 |
%attr(4755,root,root)%{_bindir}/Xwrapper |
399 |
%{_sysconfdir}/X11/X |
400 |
%{_sysconfdir}/pam.d/xserver |
401 |
%{_sysconfdir}/security/console.apps/xserver |
402 |
%{_mandir}/man1/Xorg.* |
403 |
%{_mandir}/man1/Xserver.* |
404 |
%{_mandir}/man5/xorg.conf.* |
405 |
%if %{enable_udev} |
406 |
%{_datadir}/X11/xorg.conf.d/10-evdev.conf |
407 |
%endif |
408 |
|
409 |
#------------------------------------------------------------------------------ |
410 |
|
411 |
%if %enable_dmx |
412 |
%package xdmx |
413 |
Summary: Distributed Multi-head X server |
414 |
Group: System/X11 |
415 |
License: MIT |
416 |
Requires: x11-server-common = %{version}-%{release} |
417 |
|
418 |
# This package was used in the transition to modular: |
419 |
Obsoletes: xorg-x11-Xdmx |
420 |
|
421 |
%description xdmx |
422 |
Xdmx is a proxy X server that uses one or more other X servers |
423 |
as its display devices. It provides multi-head X functionality |
424 |
for displays that might be located on different machines. |
425 |
Xdmx functions as a front-end X server that acts as a proxy |
426 |
to a set of back-end X servers. All of the visible rendering is |
427 |
passed to the back-end X servers. Clients connect to the Xdmx |
428 |
front-end, and everything appears as it would in a regular |
429 |
multi-head configuration. If Xinerama is enabled (e.g., |
430 |
with +xinerama on the command line), the clients see a single large screen. |
431 |
|
432 |
Xdmx communicates to the back-end X servers using the standard X11 protocol, |
433 |
and standard and/or commonly available X server extensions. |
434 |
|
435 |
%files xdmx |
436 |
%defattr(-,root,root) |
437 |
%{_bindir}/Xdmx |
438 |
%{_bindir}/xdmx* |
439 |
%{_bindir}/dmx* |
440 |
%{_mandir}/man1/Xdmx.* |
441 |
%{_mandir}/man1/xdmxconfig.* |
442 |
%{_mandir}/man1/dmxtodmx.* |
443 |
%endif |
444 |
|
445 |
#------------------------------------------------------------------------------ |
446 |
|
447 |
%package xnest |
448 |
Summary: A nested X server |
449 |
Group: System/X11 |
450 |
License: MIT |
451 |
Requires: x11-server-common = %{version}-%{release} |
452 |
|
453 |
# This package was used in the transition to modular: |
454 |
Obsoletes: xorg-x11-Xnest |
455 |
|
456 |
%description xnest |
457 |
Xnest is an X Window System server which runs in an X window. |
458 |
Xnest is a 'nested' window server, actually a client of the |
459 |
real X server, which manages windows and graphics requests |
460 |
for Xnest, while Xnest manages the windows and graphics |
461 |
requests for its own clients. |
462 |
|
463 |
You will need to install Xnest if you require an X server which |
464 |
will run as a client of your real X server (perhaps for |
465 |
testing purposes). |
466 |
|
467 |
%files xnest |
468 |
%defattr(-,root,root) |
469 |
%{_bindir}/Xnest |
470 |
%{_mandir}/man1/Xnest.* |
471 |
|
472 |
#------------------------------------------------------------------------------ |
473 |
|
474 |
%package xvfb |
475 |
Summary: X virtual framebuffer server |
476 |
Group: System/X11 |
477 |
# xvfb-run is GPLv2, rest is MIT |
478 |
License: MIT and GPLv2 |
479 |
Requires: x11-server-common = %{version}-%{release} |
480 |
Requires: xauth |
481 |
|
482 |
# This package was used in the transition to modular: |
483 |
Obsoletes: xorg-x11-Xvfb |
484 |
|
485 |
%description xvfb |
486 |
Xvfb (X Virtual Frame Buffer) is an X Windows System server |
487 |
that is capable of running on machines with no display hardware and no |
488 |
physical input devices. Xvfb emulates a dumb framebuffer using virtual |
489 |
memory. Xvfb doesn't open any devices, but behaves otherwise as an X |
490 |
display. Xvfb is normally used for testing servers. Using Xvfb, the mfb |
491 |
or cfb code for any depth can be exercised without using real hardware |
492 |
that supports the desired depths. Xvfb has also been used to test X |
493 |
clients against unusual depths and screen configurations, to do batch |
494 |
processing with Xvfb as a background rendering engine, to do load testing, |
495 |
to help with porting an X server to a new platform, and to provide an |
496 |
unobtrusive way of running applications which really don't need an X |
497 |
server but insist on having one. |
498 |
|
499 |
If you need to test your X server or your X clients, you may want to |
500 |
install Xvfb for that purpose. |
501 |
|
502 |
%files xvfb |
503 |
%defattr(-,root,root) |
504 |
%{_bindir}/Xvfb |
505 |
%{_bindir}/xvfb-run |
506 |
%{_mandir}/man1/Xvfb.* |
507 |
|
508 |
#------------------------------------------------------------------------------ |
509 |
|
510 |
%package xephyr |
511 |
Summary: KDrive Xephyr X server |
512 |
Group: System/X11 |
513 |
License: MIT |
514 |
Requires: x11-server-common = %{version}-%{release} |
515 |
|
516 |
%description xephyr |
517 |
KDrive (formerly known as TinyX) is a light-weight X server targetting specific |
518 |
chipsets. It is recommended to be used on thin-clients and embedded systems. |
519 |
If you are on a standard desktop system you might want to use x11-server-xorg |
520 |
and the video driver corresponding to your video card. |
521 |
|
522 |
Xephyr is a X Server which targets a window on a host X Server |
523 |
as its framebuffer. Unlike Xnest it supports modern X extensions ( even |
524 |
if host server doesn't ) such as Composite, Damage, randr etc. It uses SHM |
525 |
Images and shadow framebuffer updates to provide good performance. It also |
526 |
has a visual debugging mode for observing screen updates. |
527 |
|
528 |
Possible uses include: |
529 |
- Xnest replacement - Window manager, Composite 'gadget', etc development tool. |
530 |
- Toolkit debugging - rendundant toolkit paints can be observered easily via |
531 |
the debugging mode. |
532 |
- X Server internals development - develop without the need for an extra |
533 |
machine |
534 |
|
535 |
%files xephyr |
536 |
%defattr(-,root,root) |
537 |
%{_bindir}/Xephyr |
538 |
%{_mandir}/man1/Xephyr.1* |
539 |
|
540 |
#------------------------------------------------------------------------------ |
541 |
|
542 |
%if %enable_xfake |
543 |
%package xfake |
544 |
Summary: KDrive fake X server |
545 |
Group: System/X11 |
546 |
License: MIT |
547 |
Requires: x11-server-common = %{version}-%{release} |
548 |
|
549 |
%description xfake |
550 |
KDrive (formerly known as TinyX) is a light-weight X server targetting specific |
551 |
chipsets. It is recommended to be used on thin-clients and embedded systems. |
552 |
If you are on a standard desktop system you might want to use x11-server-xorg |
553 |
and the video driver corresponding to your video card. |
554 |
|
555 |
This KDrive server is targetted for testing purposes. |
556 |
|
557 |
%files xfake |
558 |
%defattr(-,root,root) |
559 |
%{_bindir}/Xfake |
560 |
%endif |
561 |
|
562 |
#------------------------------------------------------------------------------ |
563 |
|
564 |
%package xfbdev |
565 |
Summary: KDrive fbdev X server |
566 |
Group: System/X11 |
567 |
License: MIT |
568 |
Requires: x11-server-common = %{version}-%{release} |
569 |
|
570 |
%description xfbdev |
571 |
KDrive (formerly known as TinyX) is a light-weight X server targetting specific |
572 |
chipsets. It is recommended to be used on thin-clients and embedded systems. |
573 |
If you are on a standard desktop system you might want to use x11-server-xorg |
574 |
and the video driver corresponding to your video card. |
575 |
|
576 |
This KDrive server is targetted for being used on top of linux framebuffer. |
577 |
|
578 |
%files xfbdev |
579 |
%defattr(-,root,root) |
580 |
%{_bindir}/Xfbdev |
581 |
|
582 |
#------------------------------------------------------------------------------ |
583 |
|
584 |
%define xserver_source_dir %{_datadir}/%{name}-source |
585 |
|
586 |
%package source |
587 |
Summary: Xserver source code required to build unofficial servers |
588 |
Group: Development/X11 |
589 |
License: MIT |
590 |
# (pz) our build system doesn't like mixing arch with noarch yet |
591 |
#BuildArch: noarch |
592 |
|
593 |
%description source |
594 |
Xserver source code needed to build unofficial servers, like Xvnc |
595 |
|
596 |
%files source |
597 |
%defattr(-, root, root, -) |
598 |
%{xserver_source_dir} |
599 |
|
600 |
#------------------------------------------------------------------------------ |
601 |
|
602 |
%prep |
603 |
%if %{git} |
604 |
%setup -q -n xorg-server-%{git} |
605 |
%else |
606 |
%setup -q -n xorg-server-%{version} |
607 |
%endif |
608 |
|
609 |
%patch401 -p1 |
610 |
%patch402 -p1 |
611 |
|
612 |
%patch900 -p1 |
613 |
%patch901 -p1 |
614 |
%patch902 -p1 |
615 |
%patch904 -p1 |
616 |
%patch905 -p1 |
617 |
%patch906 -p1 |
618 |
%patch907 -p1 |
619 |
%patch908 -p1 |
620 |
%patch950 -p1 |
621 |
%patch951 -p1 |
622 |
|
623 |
|
624 |
# check the ABI in the source against what we expect. |
625 |
getmajor() { |
626 |
grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h | |
627 |
tr '(),' ' ' | awk '{ print $4 }' |
628 |
} |
629 |
|
630 |
getminor() { |
631 |
grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h | |
632 |
tr '(),' ' ' | awk '{ print $5 }' |
633 |
} |
634 |
|
635 |
test `getmajor ansic` == %{ansic_major} |
636 |
test `getminor ansic` == %{ansic_minor} |
637 |
test `getmajor videodrv` == %{videodrv_major} |
638 |
test `getminor videodrv` == %{videodrv_minor} |
639 |
test `getmajor xinput` == %{xinput_major} |
640 |
test `getminor xinput` == %{xinput_minor} |
641 |
test `getmajor extension` == %{extension_major} |
642 |
test `getminor extension` == %{extension_minor} |
643 |
|
644 |
|
645 |
%build |
646 |
autoreconf -if |
647 |
|
648 |
# Copy the clean dir to a 'source' directory that will be used to make the |
649 |
# x11-server-source subpackage |
650 |
mkdir source |
651 |
find . -maxdepth 1 ! -name source ! -name '\.' -exec cp -r '{}' source \; |
652 |
|
653 |
|
654 |
%if %{with_debug} |
655 |
CFLAGS='-DBUILDDEBUG -O0 -g3' \ |
656 |
%endif |
657 |
%configure2_5x --with-log-dir=%{_logdir} \ |
658 |
--with-os-vendor="Mandriva" \ |
659 |
--with-os-name="`echo \`uname -s -r\` | sed -e s'/ /_/g'`" \ |
660 |
--with-vendor-web="http://bugs.mageia.org" \ |
661 |
--with-extra-module-dir=%{extra_module_dir} \ |
662 |
%if %{with_debug} |
663 |
--enable-debug \ |
664 |
%else |
665 |
--disable-debug \ |
666 |
%endif |
667 |
%if %{enable_builddocs} |
668 |
--enable-builddocs \ |
669 |
%else |
670 |
--disable-builddocs \ |
671 |
%endif |
672 |
%if %{enable_udev} |
673 |
--enable-config-udev \ |
674 |
%else |
675 |
--disable-config-udev \ |
676 |
%endif |
677 |
--disable-install-libxf86config \ |
678 |
--enable-composite \ |
679 |
--enable-xres \ |
680 |
--enable-record \ |
681 |
--enable-xv \ |
682 |
--enable-xvmc \ |
683 |
--enable-dga \ |
684 |
--enable-screensaver \ |
685 |
--enable-xdmcp \ |
686 |
--enable-xdm-auth-1 \ |
687 |
--enable-glx \ |
688 |
--enable-aiglx \ |
689 |
--enable-glx-tls \ |
690 |
--enable-dri \ |
691 |
--enable-xinerama \ |
692 |
--enable-xf86vidmode \ |
693 |
--enable-xace \ |
694 |
--enable-xcsecurity \ |
695 |
--enable-xf86bigfont \ |
696 |
--enable-dpms \ |
697 |
--disable-xcalibrate \ |
698 |
--disable-tslib \ |
699 |
--enable-dbe \ |
700 |
--enable-xfree86-utils \ |
701 |
--enable-xorg \ |
702 |
%if %enable_dmx |
703 |
--enable-dmx \ |
704 |
%else |
705 |
--disable-dmx \ |
706 |
%endif |
707 |
--enable-xvfb \ |
708 |
--enable-xnest \ |
709 |
--disable-xwin \ |
710 |
--enable-kdrive \ |
711 |
%if %enable_xfake |
712 |
--enable-xfake \ |
713 |
%else |
714 |
--disable-xfake \ |
715 |
%endif |
716 |
--enable-xephyr \ |
717 |
--disable-install-setuid \ |
718 |
--enable-secure-rpc \ |
719 |
--enable-xwrapper \ |
720 |
--enable-pam \ |
721 |
%if %{enable_dbus} |
722 |
--enable-config-dbus \ |
723 |
%else |
724 |
--disable-config-dbus \ |
725 |
%endif |
726 |
%if %{enable_hal} |
727 |
--enable-config-hal \ |
728 |
%else |
729 |
--disable-config-hal \ |
730 |
%endif |
731 |
--with-sha1=libcrypto \ |
732 |
--with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d" |
733 |
pushd include && make xorg-server.h dix-config.h xorg-config.h && popd |
734 |
%make |
735 |
|
736 |
%install |
737 |
rm -rf %{buildroot} |
738 |
%makeinstall_std |
739 |
|
740 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/ |
741 |
ln -s %{_bindir}/Xorg %{buildroot}%{_sysconfdir}/X11/X |
742 |
ln -sf %{_bindir}/Xwrapper %{buildroot}%{_bindir}/X |
743 |
|
744 |
mkdir -p %{buildroot}%{_sysconfdir}/pam.d |
745 |
install -m 0644 %{_sourcedir}/xserver.pamd %{buildroot}%{_sysconfdir}/pam.d/xserver |
746 |
mkdir -p %{buildroot}%{_sysconfdir}/security/console.apps |
747 |
touch %{buildroot}%{_sysconfdir}/security/console.apps/xserver |
748 |
|
749 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/app-defaults |
750 |
mkdir -p %{buildroot}%{_sysconfdir}/X11/fontpath.d |
751 |
|
752 |
# move README.compiled outside compiled/ dir, so there won't be any problem with x11-data-xkbdata |
753 |
mv -f %{buildroot}%{_datadir}/X11/xkb/compiled/README.compiled %{buildroot}%{_datadir}/X11/xkb/ |
754 |
|
755 |
# for compatibility with legacy applications (see #23423, for example) |
756 |
mkdir -p %{buildroot}%{_prefix}/X11R6/lib/ |
757 |
ln -s ../../%{_lib}/X11 %{buildroot}%{_prefix}/X11R6/lib/X11 |
758 |
|
759 |
# create more module directories to be owned by x11-server-common |
760 |
install -d -m755 %{buildroot}%{_libdir}/xorg/modules/{input,drivers} |
761 |
install -d -m755 %{buildroot}%{xorg1_6_extra_modules} |
762 |
|
763 |
# (anssi) manage proprietary drivers |
764 |
install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL |
765 |
cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL/standard.conf << EOF |
766 |
# This file is knowingly empty since the libraries are in standard search |
767 |
# path. Please do not remove this file. |
768 |
EOF |
769 |
touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf |
770 |
|
771 |
install -m 0755 %{_sourcedir}/xvfb-run.sh %{buildroot}%{_bindir}/xvfb-run |
772 |
|
773 |
%if %enable_hal |
774 |
# autoconfigure keyboard layout based on system settings |
775 |
mkdir -p %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor |
776 |
install -m 0444 %{SOURCE3} %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor |
777 |
install -m 0444 %{SOURCE7} %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor |
778 |
install -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mageia-setup-keyboard |
779 |
%endif |
780 |
|
781 |
%if %enable_udev |
782 |
mkdir -p %{buildroot}/sbin |
783 |
mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d/ |
784 |
install -m 0755 %{SOURCE5} %{buildroot}/sbin/mageia-setup-keyboard |
785 |
install -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/udev/rules.d |
786 |
%endif |
787 |
|
788 |
# Make the source package |
789 |
cp -r source %{buildroot}/%{xserver_source_dir} |
790 |
|
791 |
install -m 755 %{SOURCE30} %{buildroot}%{_bindir} |
792 |
|
793 |
# Create xorg.conf.d |
794 |
install -d -m 755 %{buildroot}%{_sysconfdir}/X11/xorg.conf.d |
795 |
|
796 |
%clean |
797 |
rm -rf %{buildroot} |
798 |
|
799 |
%files |
800 |
%defattr(-,root,root) |
801 |
|
802 |
|