forked from pool/xorg-x11-server
Stefan Dirsch
5cd006c211
* move SaX2 generated xorg.conf file to xorg.conf.sle11 Only in very rare cases a static X configuration is still required on sle12. And, in some cases the migration from a static sle11 X configuration to a static sle12 X configuration is not possible at all, e.g. some video and input drivers are no longer available on sle12. In short, trying to migrate will result in more harm than benefit. (bnc#877315) * remove dangling link /etc/X11/XF86Config (bnc#879360, comment#15) * prevent %postun of NVIDIA/fglrx driver packages from restoring xorg.conf backup or running sax2 as fallback to create a new xorg.conf (bcn#877315) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=519
437 lines
14 KiB
RPMSpec
437 lines
14 KiB
RPMSpec
#
|
|
# spec file for package xorg-x11-server
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: xorg-x11-server
|
|
|
|
%define dirsuffix 1.15.99.902.5
|
|
|
|
Summary: X
|
|
License: MIT
|
|
Group: System/X11/Servers/XF86_4
|
|
# Source URL: http://xorg.freedesktop.org/archive/individual/xserver/
|
|
Source0: xorg-server-%{dirsuffix}.tar.bz2
|
|
Source1: sysconfig.displaymanager.template
|
|
Source2: README.updates
|
|
Source3: xorgcfg.tar.bz2
|
|
Source4: xorg-backtrace
|
|
# RPM Macros to be installed. The ABI Versions will be injected by configure.
|
|
Source90: xorg-x11-server.macros.in
|
|
# Source91 and Source99 are used to ensure proper ABI provides.
|
|
Source91: xorg-server-provides
|
|
Source92: pre_checkin.sh
|
|
|
|
BuildRequires: Mesa-devel
|
|
BuildRequires: bison
|
|
BuildRequires: flex
|
|
BuildRequires: libtool
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0
|
|
BuildRequires: pkgconfig(compositeproto)
|
|
BuildRequires: pkgconfig(damageproto) >= 1.1
|
|
BuildRequires: pkgconfig(dmx) >= 1.0.99.1
|
|
BuildRequires: pkgconfig(dri2proto)
|
|
BuildRequires: pkgconfig(dri3proto)
|
|
BuildRequires: pkgconfig(epoxy) >= 1.1
|
|
BuildRequires: pkgconfig(fixesproto) >= 4.1
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
BuildRequires: pkgconfig(fontenc)
|
|
BuildRequires: pkgconfig(fontsproto)
|
|
BuildRequires: pkgconfig(fontutil)
|
|
BuildRequires: pkgconfig(freetype2)
|
|
BuildRequires: pkgconfig(glproto)
|
|
BuildRequires: pkgconfig(ice)
|
|
BuildRequires: pkgconfig(inputproto) >= 1.9.99.902
|
|
BuildRequires: pkgconfig(kbproto) >= 1.0.3
|
|
BuildRequires: pkgconfig(libdrm)
|
|
BuildRequires: pkgconfig(openssl)
|
|
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
|
|
BuildRequires: pkgconfig(pixman-1) >= 0.24
|
|
BuildRequires: pkgconfig(presentproto)
|
|
BuildRequires: pkgconfig(randrproto) >= 1.2.99.3
|
|
BuildRequires: pkgconfig(renderproto) >= 0.11
|
|
BuildRequires: pkgconfig(resourceproto)
|
|
BuildRequires: pkgconfig(scrnsaverproto)
|
|
BuildRequires: pkgconfig(sm)
|
|
BuildRequires: pkgconfig(x11)
|
|
BuildRequires: pkgconfig(xau)
|
|
BuildRequires: pkgconfig(xaw7)
|
|
BuildRequires: pkgconfig(xcb-aux)
|
|
BuildRequires: pkgconfig(xcb-icccm)
|
|
BuildRequires: pkgconfig(xcb-image)
|
|
BuildRequires: pkgconfig(xcb-keysyms)
|
|
BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0
|
|
BuildRequires: pkgconfig(xdmcp)
|
|
BuildRequires: pkgconfig(xext) >= 1.0.99.4
|
|
BuildRequires: pkgconfig(xextproto) >= 7.1.99
|
|
BuildRequires: pkgconfig(xf86dgaproto)
|
|
BuildRequires: pkgconfig(xf86driproto)
|
|
BuildRequires: pkgconfig(xfixes)
|
|
BuildRequires: pkgconfig(xfont) >= 1.4.2
|
|
BuildRequires: pkgconfig(xi) >= 1.2.99.1
|
|
BuildRequires: pkgconfig(xineramaproto)
|
|
BuildRequires: pkgconfig(xkbfile)
|
|
BuildRequires: pkgconfig(xmu)
|
|
BuildRequires: pkgconfig(xorg-macros)
|
|
BuildRequires: pkgconfig(xp)
|
|
BuildRequires: pkgconfig(xpm)
|
|
BuildRequires: pkgconfig(xprintutil)
|
|
BuildRequires: pkgconfig(xproto) >= 7.0.17
|
|
BuildRequires: pkgconfig(xrender)
|
|
BuildRequires: pkgconfig(xres)
|
|
BuildRequires: pkgconfig(xshmfence)
|
|
BuildRequires: pkgconfig(xt)
|
|
BuildRequires: pkgconfig(xtrans) >= 1.3.1
|
|
BuildRequires: pkgconfig(xtst) >= 1.0.99.2
|
|
BuildRequires: pkgconfig(xv)
|
|
### udev support (broken on openSUSE 11.2, see also bnc #589997)
|
|
%if 0%{?suse_version} >= 1130
|
|
BuildRequires: pkgconfig(libudev) >= 143
|
|
%endif
|
|
|
|
Version: 7.6_%{dirsuffix}
|
|
Release: 0
|
|
Url: http://xorg.freedesktop.org/
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%ifnarch s390 s390x
|
|
Requires(pre): %fillup_prereq
|
|
%endif
|
|
Requires: pkgconfig
|
|
Requires: xkbcomp
|
|
Requires: xorg-x11-fonts-core
|
|
%ifnarch s390 s390x
|
|
Requires: libpixman-1-0 >= 0.24
|
|
%(cat %{SOURCE91})
|
|
%endif
|
|
Requires: Mesa
|
|
Provides: xorg-x11-Xvfb
|
|
Provides: xorg-x11-server-glx
|
|
Obsoletes: xorg-x11-Xvfb
|
|
Obsoletes: xorg-x11-server-glx
|
|
|
|
Provides: glamor = %{version}
|
|
Provides: glamor-egl = %{version}
|
|
Obsoletes: glamor < %{version}
|
|
Obsoletes: glamor-egl < %{version}
|
|
|
|
# Xvfb requires keyboard files as well (bnc#797124)
|
|
Requires: xkeyboard-config
|
|
|
|
# PATCH-FEATURE-OPENSUSE n_xorg-x11-server-rpmmacros.patch dimstar@opensuse.org -- Provide RPM macros to require correct ABI Versions.
|
|
Patch0: N_xorg-x11-server-rpmmacros.patch
|
|
Patch1: N_default-module-path.diff
|
|
Patch2: N_zap_warning_xserver.diff
|
|
Patch3: N_driver-autoconfig.diff
|
|
Patch4: N_fix_fglrx_screendepth_issue.patch
|
|
Patch6: N_fix-dpi-values.diff
|
|
|
|
Patch100: u_fbdevhw.diff
|
|
Patch101: u_confine_to_shape.diff
|
|
# PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions
|
|
Patch102: u_x86emu-include-order.patch
|
|
Patch103: u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch
|
|
Patch104: u_xorg-server-xdmcp.patch
|
|
Patch105: ux_xserver_xvfb-randr.patch
|
|
# PATCH-FIX-UPSTREAM u_exa-only-draw-valid-trapezoids.patch bnc#853846 msrb@suse.com -- Fixes possible crash of server using invalid trapezoids. 2013-12-12 patch is waiting in mailing list to be upstreamed.
|
|
Patch106: u_exa-only-draw-valid-trapezoids.patch
|
|
# PATCH-FIX-UPSTREAM u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch -- sent to ML 2014-02-24
|
|
Patch107: u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch
|
|
Patch110: u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch
|
|
Patch111: u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch
|
|
|
|
Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch
|
|
Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
|
|
Patch222: b_sync-fix.patch
|
|
Patch223: n_xserver-optimus-autoconfig-hack.patch
|
|
|
|
%description
|
|
This package contains the X.Org Server.
|
|
|
|
%package extra
|
|
Summary: Additional Xservers (Xdmx, Xephyr, Xnest)
|
|
Group: System/X11/Servers/XF86_4
|
|
Requires: Mesa
|
|
Requires: xkbcomp
|
|
Requires: xkeyboard-config
|
|
Requires: xorg-x11-fonts-core
|
|
Provides: xorg-x11-Xnest
|
|
Obsoletes: xorg-x11-Xnest
|
|
|
|
%description extra
|
|
This package contains additional Xservers (Xdmx, Xephyr, Xnest).
|
|
|
|
%package sdk
|
|
Summary: X
|
|
Group: System/Libraries
|
|
Requires: xorg-x11-server
|
|
Requires: pkgconfig(fontconfig)
|
|
Requires: pkgconfig(fontenc)
|
|
Requires: pkgconfig(freetype2)
|
|
Requires: pkgconfig(ice)
|
|
Requires: pkgconfig(libdrm)
|
|
Requires: pkgconfig(sm)
|
|
Requires: pkgconfig(x11)
|
|
Requires: pkgconfig(xau)
|
|
Requires: pkgconfig(xdmcp)
|
|
Requires: pkgconfig(xext)
|
|
Requires: pkgconfig(xfixes)
|
|
Requires: pkgconfig(xkbfile)
|
|
Requires: pkgconfig(xmu)
|
|
Requires: pkgconfig(xp)
|
|
Requires: pkgconfig(xpm)
|
|
Requires: pkgconfig(xprintutil)
|
|
Requires: pkgconfig(xrender)
|
|
Requires: pkgconfig(xt)
|
|
Requires: pkgconfig(xtrans)
|
|
Requires: pkgconfig(xv)
|
|
Provides: xorg-x11-sdk
|
|
Obsoletes: xorg-x11-sdk
|
|
Provides: glamor-devel = %{version}
|
|
Obsoletes: glamor-devel < %{version}
|
|
|
|
%description sdk
|
|
This package contains the X.Org Server SDK.
|
|
|
|
%prep
|
|
%setup -q -n xorg-server-%{dirsuffix} -a3
|
|
# Early verification if the ABI Defines are correct. Let's not waste build cycles if the Provides are wrong at the end.
|
|
sh %{SOURCE92} --verify . %{SOURCE91}
|
|
cp %{SOURCE90} .
|
|
%patch0 -p1
|
|
|
|
%patch1
|
|
%patch2 -p1
|
|
%patch3 -p0
|
|
%patch4 -p0
|
|
%patch6 -p0
|
|
#
|
|
%patch100
|
|
%patch101
|
|
%patch102 -p1
|
|
%patch103 -p1
|
|
%patch104 -p1
|
|
%patch105 -p1
|
|
%patch106 -p1
|
|
%patch107 -p1
|
|
%patch110 -p1
|
|
%patch111 -p1
|
|
|
|
### disabled for now
|
|
#%patch162 -p1
|
|
### disabled for now
|
|
#%patch211 -p1
|
|
### patch222 might not be applicable anymore
|
|
#%patch222 -p1
|
|
|
|
%patch223 -p1
|
|
|
|
%build
|
|
autoreconf -fi
|
|
%configure CFLAGS="%{optflags} -fno-strict-aliasing" \
|
|
--sysconfdir=/etc \
|
|
--enable-xdmcp \
|
|
--enable-xdm-auth-1 \
|
|
--enable-dri \
|
|
--enable-dri2 \
|
|
--enable-dri3 \
|
|
--enable-glamor \
|
|
--enable-dmx \
|
|
--enable-xnest \
|
|
--enable-kdrive \
|
|
--enable-kdrive-evdev \
|
|
--enable-xephyr \
|
|
--disable-xfake \
|
|
--disable-xfbdev \
|
|
--enable-record \
|
|
--enable-xcsecurity \
|
|
--with-sha1=libcrypto \
|
|
--disable-linux-acpi \
|
|
--disable-linux-apm \
|
|
%if 0%{?suse_version} > 1310
|
|
--enable-xwayland \
|
|
%else
|
|
--disable-xwayland \
|
|
%endif
|
|
%ifarch s390 s390x
|
|
--disable-xorg \
|
|
--disable-aiglx \
|
|
%else
|
|
--enable-xorg \
|
|
%if 0%{?suse_version} > 1120
|
|
--enable-config-udev \
|
|
%endif
|
|
%endif
|
|
--with-log-dir="/var/log" \
|
|
--with-os-name="openSUSE" \
|
|
--with-os-vendor="SUSE LINUX" \
|
|
--with-fontrootdir="/usr/share/fonts" \
|
|
--with-xkb-path="/usr/share/X11/xkb" \
|
|
--with-xkb-output="/var/lib/xkb/compiled" \
|
|
--with-default-font-path="/usr/share/fonts/misc:unscaled,\
|
|
/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,\
|
|
%if 0%{?suse_version} > 1210
|
|
/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/ghostscript/,\
|
|
%else
|
|
/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/URW/,\
|
|
%endif
|
|
/usr/share/fonts/cyrillic:unscaled,\
|
|
/usr/share/fonts/misc/sgi:unscaled,\
|
|
/usr/share/fonts/truetype/,built-ins"
|
|
make %{?_smp_mflags}
|
|
make -C hw/kdrive %{?_smp_mflags}
|
|
|
|
%install
|
|
%make_install
|
|
make -C hw/kdrive install DESTDIR=%{buildroot}
|
|
%ifnarch s390 s390x
|
|
# remove .la files
|
|
find %{buildroot}%{_libdir}/xorg/modules/ -name "*.la" | \
|
|
xargs rm
|
|
install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \
|
|
%{buildroot}%{_includedir}/xorg
|
|
# bnc #632737
|
|
chmod u-s %{buildroot}%{_bindir}/Xorg
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib/X11
|
|
ln -snf ../../../usr/bin/Xorg %{buildroot}%{_localstatedir}/lib/X11/X
|
|
ln -snf ../../var/lib/X11/X %{buildroot}%{_bindir}/X
|
|
%if 0%{?suse_version} > 1120
|
|
%ifnarch s390 s390x
|
|
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
|
|
cp %{buildroot}/%{_datadir}/X11/xorg.conf.d/10-evdev.conf %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/
|
|
%endif
|
|
%endif
|
|
mkdir -p %{buildroot}%{_libdir}/xorg/modules/updates/{fonts,input,linux,drivers,multimedia,extensions}
|
|
install -m 644 $RPM_SOURCE_DIR/README.updates %{buildroot}%{_libdir}/xorg/modules/updates
|
|
%else
|
|
rm -f %{buildroot}%{_datadir}/aclocal/*.m4
|
|
%endif
|
|
%ifarch s390 s390x
|
|
rm -f %{buildroot}%{_sysconfdir}/X11/10-evdev.conf
|
|
make -C hw/xfree86/parser
|
|
mkdir -p %{buildroot}%{_includedir}/xorg \
|
|
%{buildroot}%{_libdir}
|
|
install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \
|
|
%{buildroot}%{_includedir}/xorg
|
|
install -m 644 include/list.h \
|
|
%{buildroot}%{_includedir}/xorg
|
|
%endif
|
|
%ifnarch s390 s390x
|
|
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates
|
|
install -m 644 %_sourcedir/sysconfig.displaymanager.template \
|
|
%{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.displaymanager-%{name}
|
|
%endif
|
|
install -m 755 $RPM_SOURCE_DIR/xorg-backtrace %{buildroot}%{_bindir}/xorg-backtrace
|
|
install -D xorg-x11-server.macros %{buildroot}%{_sysconfdir}/rpm/macros.xorg-server
|
|
|
|
%post
|
|
%ifnarch s390 s390x
|
|
%{fillup_only -an displaymanager}
|
|
# Move SaX2 generated xorg.conf file to xorg.conf.sle11
|
|
#
|
|
# Only in very rare cases a static X configuration is still
|
|
# required on sle12. And, in some cases the migration from a
|
|
# static sle11 X configuration to a static sle12 X configuration
|
|
# is not possible at all, e.g. some video and input drivers
|
|
# are no longer available on sle12. In short, trying to migrate
|
|
# will result in more harm than benefit.
|
|
if [ -f etc/X11/xorg.conf -a ! -f etc/X11/xorg.conf.sle11 ]; then
|
|
echo "xorg.conf exists and xorg.conf.sle11 does not"
|
|
if grep -q "SaX generated X11 config file" etc/X11/xorg.conf; then
|
|
echo "move SaX generated xorg.conf to xorg.conf.sle11"
|
|
mv etc/X11/xorg.conf{,.sle11}
|
|
# remove dangling link (bnc#879360, comment#15)
|
|
rm -f etc/X11/XF86Config
|
|
# prevent %postun of NVIDIA/fglrx driver packages from restoring xorg.conf
|
|
# backup or running sax2 as fallback to create a new xorg.conf (bcn#877315)
|
|
rm -f etc/X11/xorg.conf.nvidia-post \
|
|
etc/X11/xorg.conf.fglrx-post
|
|
chmod -x usr/sbin/sax2
|
|
fi
|
|
fi
|
|
%endif
|
|
exit 0
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%ifnarch s390 s390x
|
|
%if 0%{?suse_version} > 1120
|
|
%dir %{_sysconfdir}/X11/xorg.conf.d
|
|
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/10-evdev.conf
|
|
%dir %{_datadir}/X11/xorg.conf.d
|
|
%{_datadir}/X11/xorg.conf.d/10-*.conf
|
|
%endif
|
|
%dir %{_localstatedir}/lib/X11
|
|
%endif
|
|
%dir %{_localstatedir}/lib/xkb
|
|
%dir %{_localstatedir}/lib/xkb/compiled
|
|
%dir %{_libdir}/xorg
|
|
%{_libdir}/xorg/protocol.txt
|
|
%{_mandir}/man1/*
|
|
%exclude %{_mandir}/man1/Xdmx.1*
|
|
%exclude %{_mandir}/man1/Xephyr.1*
|
|
%exclude %{_mandir}/man1/Xnest.1*
|
|
%{_localstatedir}/lib/xkb/compiled/README.compiled
|
|
%ifnarch s390 s390x
|
|
%{_bindir}/Xorg
|
|
%{_bindir}/X
|
|
|
|
%if 0%{?suse_version} > 1310
|
|
%{_bindir}/Xwayland
|
|
%endif
|
|
|
|
%{_bindir}/cvt
|
|
%{_bindir}/gtf
|
|
%{_libdir}/xorg/modules/
|
|
%{_mandir}/man4/*
|
|
%{_mandir}/man5/*
|
|
%{_localstatedir}/adm/fillup-templates/sysconfig.displaymanager-%{name}
|
|
%{_localstatedir}/lib/X11/X
|
|
%endif
|
|
%{_bindir}/Xvfb
|
|
%{_bindir}/xorg-backtrace
|
|
|
|
%files extra
|
|
%defattr(-,root,root)
|
|
%{_bindir}/Xephyr
|
|
%{_bindir}/Xnest
|
|
%{_bindir}/Xdmx
|
|
%{_bindir}/dmxaddinput
|
|
%{_bindir}/dmxaddscreen
|
|
%{_bindir}/dmxinfo
|
|
%{_bindir}/dmxreconfig
|
|
%{_bindir}/dmxresize
|
|
%{_bindir}/dmxrminput
|
|
%{_bindir}/dmxrmscreen
|
|
%{_bindir}/dmxtodmx
|
|
%{_bindir}/dmxwininfo
|
|
%{_bindir}/vdltodmx
|
|
%{_bindir}/xdmxconfig
|
|
%{_mandir}/man1/Xdmx.1*
|
|
%{_mandir}/man1/Xephyr.1*
|
|
%{_mandir}/man1/Xnest.1*
|
|
|
|
%files sdk
|
|
%defattr(-,root,root)
|
|
%{_includedir}/xorg/
|
|
%ifnarch s390 s390x
|
|
%{_libdir}/pkgconfig/*.pc
|
|
%{_datadir}/aclocal/*.m4
|
|
%endif
|
|
%{_sysconfdir}/rpm/macros.xorg-server
|
|
|
|
%changelog
|