X11:X11R7

Şuraya atla: kullan, ara

openSUSE is switching to X.Org X11 R7.1 for 10.2 - and this has started in factory now. This page gives an overview of changes.

Package Changes

Some hints for packagers to adjust their packages:


Changes in X.Org 7 (important for packagers)

  • X.Org libs: /usr/X11R6/%_lib --> %_libdir
sometimes you need to add '--x-libraries=%_libdir' configure option (if available); background: use "-L $x_libraries" in configure with care - if prefix is /usr, $x_libraries and $x_includes is empty. (A better fix is to make the package use AC_PATH_XTRA and $(X_LIBS) rather than AC_PATH_X and "-L $(x_libraries)".)
  • X.Org executables: /usr/X11R6/bin --> /usr/bin
adjust %files section accordingly when required, e.g. when package uses imake
  • X.Org manual path: /usr/X11R6/man --> %_mandir
adjust %files section accordingly
  • Xserver SDK package: xorg-x11-sdk --> xorg-x11-server-sdk
adjust your BuildRequires
  • X.Org pixmaps: /usr/X11R6/include/X11/pixmaps/ --> /usr/include/X11/pixmaps/
adjust %files section accordingly
  • X.Org Xserver modules: /usr/X11R6/%{_lib}/modules --> %_libdir/xorg/modules
adjust %files section accordingly
  • Mesa DRI drivers: /usr/X11R6/%{_lib}/modules/dri --> %_libdir/dri
adjust %files section accordingly
  • XKeysymDB: /usr/X11R6/lib/X11/XKeysmDB --> /usr/share/X11/XKeysymDB
make sure $XKEYSYMDB is *not* set to /usr/X11R6/lib/X11/XKeysmDB, but /usr/share/X11/XKeysymDB instead
  • nls/ directory: /usr/X11R6/lib/X11/nls --> /usr/share/X11/nls
only interesting for legacy apps
  • X.Org fonts: /usr/X11R6/lib/X11/fonts --> /usr/share/fonts
move fonts of other font packages as well? /usr/X11R6/lib/X11/fonts will still be allowed ...
  • Xserver include files: /usr/X11R6/lib/Server/include --> /usr/include/xorg
adjust configure options or Imakefiles/Makefiles
  • xkb files: /etc/X11/xkb --> /usr/share/X11/xkb
  • termcap files: /usr/X11R6/lib/X11/etc --> /usr/lib/X11/etc
  • /usr/lib/X11 is no longer a symlink to /usr/X11R6/lib/X11, but a real directory!
  • /usr/X11R6/lib/X11/app-defaults --> /usr/share/X11/app-defaults
/usr/X11R6/lib/X11/app-defaults is still read, but should we disallow the use of /usr/X11R6/lib/X11/app-defaults nevertheless in autobuild?

BuildRequires in specfile

In most cases for building X11 apps it should be enough to add 'xorg-x11-devel' to BuildRequires (as before). If you need Xvfb add also 'xorg-x11-server'. And if you're building external input/video drivers add 'xorg-x11-server-sdk'.


Build for X11R7 and X11R6

It's possible to build packages for X11R7 and X11R6, so these can still be built for SUSE 10.1 and older via the openSUSE build service. Set RPM macros, which you later use for configure options, the filelist, etc.

Example:

[...]
# xorg-x11-devel needs to be in BuildRequires
 %if "%(xft-config --prefix)" == "/usr"
%define _xorg7_prefix /usr
[...]
%else
%define _xorg7_prefix /usr/X11R6
[...]
%endif
%setup
[...]
%build
./configure --prefix=%_xorg7_prefix [...]
[...]
%files
%_xorg7_prefix/bin/xdemo
[...]

Package changes in Detail

package in 10.1 package in 10.2
xorg-x11 xorg-x11
+xorg-x11-fonts
+xorg-x11-fonts-devel
xorg-x11-Xnest same
xorg-x11-Xprt same
+xorg-x11-Xvfb xorg-x11-server
xorg-x11-Xvnc xorg-x11-Xvnc
xorg-x11-devel xorg-x11-devel
+xorg-x11-lib<foo>-devel
+xorg-x11-proto-devel
+xorg-x11-util-devel
+xorg-x11-xtrans-devel
xorg-x11-doc xorg-x11-doc
xorg-x11-driver-options (obsolete)
xorg-x11-driver-video
xorg-x11-driver-video-nvidia xorg-x11-driver-video
xorg-x11-fonts-100dpi
xorg-x11-fonts-75dpi
xorg-x11-fonts-cyrillic
xorg-x11-fonts-scalable
xorg-x11-fonts-syriac xorg-x11-fonts
xorg-x11-libs xorg-x11-libs
+xorg-x11-lib<foo>
xorg-x11-man xorg-x11-devel
+xorg-x11-lib<foo>-devel
xorg-x11-sdk xorg-x11-server-sdk
xorg-x11-server
xorg-x11-server-glx xorg-x11-server
+xorg-x11-driver-input
+xorg-x11-driver-video