1
0
xorg-x11-server/xorg-x11-server.spec

486 lines
14 KiB
RPMSpec

#
# spec file for package xorg-x11-server
#
# Copyright (c) 2012 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.10.4
%define vnc 1
BuildRequires: Mesa-devel
BuildRequires: bison
BuildRequires: flex
BuildRequires: ghostscript-library
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: xorg-x11
BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0
BuildRequires: pkgconfig(damageproto) >= 1.1
BuildRequires: pkgconfig(dmx) >= 1.0.99.1
BuildRequires: pkgconfig(fixesproto) >= 4.1
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(fontenc)
BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(fontutil)
BuildRequires: pkgconfig(freetype2)
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.15.20
BuildRequires: pkgconfig(randrproto) >= 1.2.99.3
BuildRequires: pkgconfig(renderproto) >= 0.11
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xext) >= 1.0.99.4
BuildRequires: pkgconfig(xextproto) >= 7.1.99
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xfont) >= 1.4.2
BuildRequires: pkgconfig(xi) >= 1.2.99.1
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xp)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xprintutil)
BuildRequires: pkgconfig(xproto) >= 7.0.17
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xtrans) >= 1.2.2
BuildRequires: pkgconfig(xtst) >= 1.0.99.2
BuildRequires: pkgconfig(xv)
### udev support (broken on openSUSE 11.2, see also bnc #589997)
%if %suse_version >= 1130
BuildRequires: pkgconfig(libudev) >= 143
%endif
%if %vnc
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig(vncproto)
%endif
Url: http://xorg.freedesktop.org/
Version: 7.6_%{dirsuffix}
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifnarch s390 s390x
PreReq: %fillup_prereq
%endif
Requires: pkgconfig xorg-x11-fonts-core xorg-x11
%ifnarch s390 s390x
Provides: VIDEO_ABI_VERSION = 10
Provides: INPUT_ABI_VERSION = 12
Requires: libpixman-1-0 >= 0.15.2
%endif
Provides: xorg-x11-server-glx xorg-x11-Xvfb
Obsoletes: xorg-x11-server-glx xorg-x11-Xvfb
Summary: X.Org Server
License: GPL-2.0+ ; MIT
Group: System/X11/Servers/XF86_4
Source: xorg-server-%{dirsuffix}.tar.bz2
Source1: sysconfig.displaymanager.template
Source3: README.updates
Source4: xorgcfg.tar.bz2
Source5: modprobe.nvidia
Source7: xorg-docs-1.6.tar.bz2
Source8: xorg-backtrace
Patch2: p_default-module-path.diff
Patch6: pu_fixes.diff
Patch13: u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch
Patch16: p_xnest-ignore-getimage-errors.diff
%if %vnc
Patch17: N-VNC-Add-support-for-VNC.patch
Patch18: N-VNC-Readd-timeout-when-vnc-viewer-connection-breaks.patch
Patch19: N-VNC-Fix-crash-when-no-depth-translation-is-required.patch
Patch20: N-VNC-Don-t-let-VNC-access-the-framebuffer-directly-an.patch
Patch21: N-VNC-Enable-use-of-all-keyboard-layouts-independent-o.patch
Patch22: N-VNC-Fix-crash-due-to-unset-input-device-names.patch
Patch23: Xvnc-pthread.diff
%endif
Patch45: bug-197858_dpms.diff
Patch77: fbdevhw.diff
Patch79: edid_data_sanity_check.diff
Patch101: zap_warning_xserver.diff
Patch103: confine_to_shape.diff
Patch106: randr1_1-sig11.diff
Patch112: fix-dpi-values.diff
Patch123: vidmode-sig11.diff
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
Patch127: dpms_screensaver.diff
Patch128: pci-legacy-mem-fallback.diff
Patch129: bug474071-fix1.diff
Patch143: autoconfig_fallback_fbdev_first.diff
Patch145: driver-autoconfig.diff
Patch162: cache-xkbcomp-output-for-fast-start-up.patch
Patch163: xserver-bg-none-root.patch
Patch164: xorg-detect-psb.patch
Patch200: bug534768-prefer_local_symbols.patch
Patch202: 0001-Check-harder-for-primary-PCI-device.patch
Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch
Patch206: fix_fglrx_screendepth_issue.patch
Patch210: pio_ia64.diff
Patch211: 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
Patch213: xorg-server-xdmcp.patch
Patch220: Use-external-tool-for-creating-backtraces-on-crashes.patch
Patch222: sync-fix.patch
Patch223: U_Don-t-call-deleted-Block-WakeupHandler.patch
Patch224: u_record-fix-sig11.patch
Patch225: U_dix-send-focus-events-to-the-immediate-parent-44079.patch
Patch226: U_dix-on-PointerRootWin-send-a-FocusIn-to-the-sprite-w.patch
%description
This package contains the X.Org Server.
%package extra
Summary: Additional Xservers (Xdmx, Xephyr, Xnest)
Group: System/X11/Servers/XF86_4
Provides: xorg-x11-Xnest
Obsoletes: xorg-x11-Xnest
Requires: xorg-x11-fonts-core xorg-x11 Mesa
Requires: xkeyboard-config
%description extra
This package contains additional Xservers (Xdmx, Xephyr, Xnest).
%package sdk
Summary: X.Org Server SDK
Group: System/Libraries
Provides: xorg-x11-sdk
Obsoletes: xorg-x11-sdk
Requires: xorg-x11-proto-devel pkgconfig(xtrans)
Requires: pkgconfig(xau) pkgconfig(xdmcp)
Requires: pkgconfig(x11) pkgconfig(xext)
Requires: pkgconfig(xp) pkgconfig(xpm)
Requires: pkgconfig(xrender) pkgconfig(ice)
Requires: pkgconfig(sm) pkgconfig(xt)
Requires: pkgconfig(xmu) pkgconfig(xfixes)
Requires: pkgconfig(xkbfile) pkgconfig(fontenc)
Requires: pkgconfig(xv) pkgconfig(xprintutil)
Requires: pkgconfig(freetype2) pkgconfig(fontconfig)
Requires: pkgconfig(libdrm) xorg-x11-server
%description sdk
This package contains the X.Org Server SDK.
%if %vnc
%package -n xorg-x11-Xvnc
Summary: VNC Server for the X Window System
Group: System/X11/Servers/XF86_4
Requires: xorg-x11-fonts-core xorg-x11 xkeyboard-config
Provides: vnc:/usr/X11R6/bin/Xvnc XFree86-Xvnc
Obsoletes: XFree86-Xvnc
%ifarch ia64
Provides: vnc-x86
Obsoletes: vnc-x86
%endif
%description -n xorg-x11-Xvnc
An X Window System server for Virtual Network Computing (VNC).
%endif
%prep
%setup -q -n xorg-server-%{dirsuffix} -a4 -a7
%patch2
%patch6
%patch13 -p1
%patch16 -p2
%if %vnc
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%endif
%patch45 -p0
pushd xorg-docs-*
popd
%patch77
%patch79 -p1
%patch101 -p1
%patch103
%patch106 -p1
%patch112 -p0
%patch123 -p0
### disabled for now
#%patch125 -p1
%patch127 -p1
%patch128
pushd hw/xfree86/os-support/bus
%patch129 -p0
popd
%patch143 -p0
%patch145 -p0
### disabled for now
#%patch162 -p1
### disabled for now
#%patch163 -p1
%patch164 -p1
%patch200 -p1
%patch202 -p1
%patch203 -p1
%patch206 -p0
%patch210 -p1
### disabled for now
#%patch211 -p1
%patch213 -p1
# Disable backtrace generation patch for now
#%patch220 -p1
%patch222 -p1
%patch223 -p2
%patch224 -p1
%patch225 -p1
%patch226 -p1
%build
pushd xorg-docs-*
autoreconf -fi
%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
make %{?_smp_mflags}
popd
autoreconf -fi
%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
--sysconfdir=/etc \
--enable-builddocs \
--enable-install-libxf86config \
--enable-xdmcp \
--enable-xdm-auth-1 \
--enable-dri \
--enable-dri2 \
--enable-dmx \
--enable-xnest \
--enable-kdrive \
--enable-kdrive-evdev \
--enable-xephyr \
--disable-xfake \
--disable-xfbdev \
--enable-record \
--enable-xcsecurity \
--with-sha1=libcrypto \
%ifarch s390 s390x
--disable-xorg \
--disable-aiglx \
%else
--enable-xorg \
%if %suse_version > 1120
--enable-config-udev \
%endif
%endif
%if %vnc
--disable-xcliplist \
%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,\
/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/URW/,\
/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 -C xorg-docs-* install DESTDIR=$RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
make -C hw/kdrive install DESTDIR=$RPM_BUILD_ROOT
%ifnarch s390 s390x
# remove .la files
find $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/ -name "*.la" | \
xargs rm
install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \
$RPM_BUILD_ROOT/usr/include/xorg
# bnc #632737
chmod u-s $RPM_BUILD_ROOT/usr/bin/Xorg
mkdir -p $RPM_BUILD_ROOT/var/lib/X11
ln -snf ../../../usr/bin/Xorg $RPM_BUILD_ROOT/var/lib/X11/X
ln -snf ../../var/lib/X11/X $RPM_BUILD_ROOT/usr/bin/X
%if %suse_version > 1120
%ifnarch s390 s390x
mkdir -p $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
cp $RPM_BUILD_ROOT/%{_datadir}/X11/xorg.conf.d/10-evdev.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/
%endif
%endif
mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates/{fonts,input,linux,drivers,multimedia,extensions}
install -m 644 $RPM_SOURCE_DIR/README.updates $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia $RPM_BUILD_ROOT/etc/modprobe.d/50-nvidia.conf
%else
rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4
%endif
%if %vnc
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services
cat > $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/%{name} << EOF
## Name: VNC Server
## Description: Opens ports for VNC Server
TCP="5801 5901"
EOF
%endif
%ifarch s390 s390x
rm -f $RPM_BUILD_ROOT/etc/X11/10-evdev.conf
make -C hw/xfree86/parser
mkdir -p $RPM_BUILD_ROOT/usr/include/xorg \
$RPM_BUILD_ROOT/usr/%{_lib}
install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \
$RPM_BUILD_ROOT/usr/include/xorg
install -m 644 include/list.h \
$RPM_BUILD_ROOT/usr/include/xorg
if [ -f hw/xfree86/parser/.libs/libxf86config.a ] ; then
install -m 644 hw/xfree86/parser/.libs/libxf86config.a \
$RPM_BUILD_ROOT//usr/%{_lib}
else
install -m 644 hw/xfree86/parser/libxf86config.a \
$RPM_BUILD_ROOT//usr/%{_lib}
fi
%endif
%ifnarch s390 s390x
mkdir -p %buildroot/var/adm/fillup-templates
install -m 644 %_sourcedir/sysconfig.displaymanager.template \
%buildroot/var/adm/fillup-templates/sysconfig.displaymanager-%name
%endif
install -m 755 $RPM_SOURCE_DIR/xorg-backtrace $RPM_BUILD_ROOT/usr/bin/xorg-backtrace
%ifnarch s390 s390x
%verifyscript
%verify_permissions -e /usr/bin/Xorg
%endif
%post
%ifnarch s390 s390x
%{fillup_only -an displaymanager}
%run_permissions
if [ -f etc/X11/xorg.conf ]; then
# Document how to restore previous input driver behaviour in xorg.conf files created
# on openSUSE <= 11.1
if ! grep -q "will be disabled unless 'Option \"AutoAddDevices\" \"off\"'" etc/X11/xorg.conf; then
if ! grep -q "\"AutoAddDevices\" \"off\"" etc/X11/xorg.conf; then
sed -i '
/Section "ServerFlags"/{
h
g
a\
# Uncomment the following option to reenable kbd/mouse driver input sections. \
# Otherwise evdev driver is used. \
#Option "AutoAddDevices" "off"
}
' etc/X11/xorg.conf
fi
fi
fi
%endif
exit 0
%files
%defattr(-,root,root)
%ifnarch s390 s390x
%if %suse_version > 1120
%dir /etc/X11/xorg.conf.d
%config(noreplace) /etc/X11/xorg.conf.d/10-evdev.conf
%dir %{_datadir}/X11/xorg.conf.d
%{_datadir}/X11/xorg.conf.d/10-evdev.conf
%endif
%dir /etc/modprobe.d
%dir /var/lib/X11
%endif
%dir /var/lib/xkb
%dir /var/lib/xkb/compiled
%dir /usr/%{_lib}/xorg
/usr/%{_lib}/xorg/protocol.txt
%{_mandir}/man1/*
%{_mandir}/man7/*
%doc %{_datadir}/doc/xorg-docs/
%exclude %{_mandir}/man1/Xdmx.1*
%exclude %{_mandir}/man1/Xephyr.1*
%exclude %{_mandir}/man1/Xnest.1*
%exclude %{_mandir}/man7/Standards.7*
%exclude %{_mandir}/man7/Consortium.7*
%exclude %{_mandir}/man7/XProjectTeam.7*
%exclude %{_mandir}/man7/XOrgFoundation.7*
/var/lib/xkb/compiled/README.compiled
%ifnarch s390 s390x
/etc/modprobe.d/50-nvidia.conf
%verify(not mode) /usr/bin/Xorg
/usr/bin/X
/usr/bin/cvt
/usr/bin/gtf
/usr/%{_lib}/xorg/modules/
%{_mandir}/man4/*
%{_mandir}/man5/*
/var/adm/fillup-templates/sysconfig.displaymanager-%name
/var/lib/X11/X
%endif
/usr/bin/Xvfb
/usr/bin/xorg-backtrace
%files extra
%defattr(-,root,root)
/usr/bin/Xephyr
/usr/bin/Xnest
/usr/bin/Xdmx
/usr/bin/dmxaddinput
/usr/bin/dmxaddscreen
/usr/bin/dmxinfo
/usr/bin/dmxreconfig
/usr/bin/dmxresize
/usr/bin/dmxrminput
/usr/bin/dmxrmscreen
/usr/bin/dmxtodmx
/usr/bin/dmxwininfo
/usr/bin/vdltodmx
/usr/bin/xdmxconfig
%{_mandir}/man1/Xdmx.1*
%{_mandir}/man1/Xephyr.1*
%{_mandir}/man1/Xnest.1*
%files sdk
%defattr(-,root,root)
/usr/include/xorg/
/usr/%{_lib}/*.a
%ifnarch s390 s390x
%exclude /usr/%{_lib}/libxf86config.la
/usr/%{_lib}/pkgconfig/*.pc
/usr/share/aclocal/*.m4
%endif
%if %vnc
%files -n xorg-x11-Xvnc
%defattr(-, root, root)
/etc/sysconfig/SuSEfirewall2.d/services/%{name}
/usr/bin/Xvnc
%endif
%changelog