X11:X11R7
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.
İçindekiler
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 |