Building XFree86 4.3 RPMs on RH8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've read through a lot of the discussion on this list about upgrading
to RH9 to get XFree86 4.3. Unfortunately, that is not an option for
someone I am working with due to commercial application dependencies on
RH8. Since no one seemed to find a solution, I thought I would give it a
shot myself.

I poked & prodded at the rawhide source RPMs for a while. After a day or
so, I managed to get an apparently working combination that maintains
dependencies in RPM and seems to work fine. I thought others might find
this useful, so here's how I did it.

YMMV, of course.

-chuck


1/ Download freetype, fontconfig & XFree86 source RPMs:


These are the ones I used:

ftp://rpmfind.net/linux/rawhide/1.0/SRPMS/SRPMS/freetype-2.1.3-6.src.rpm
ftp://rpmfind.net/linux/rawhide/1.0/SRPMS/SRPMS/fontconfig-2.1-9.src.rpm
ftp://rpmfind.net/linux/rawhide/1.0/SRPMS/SRPMS/XFree86-4.3.0-10.src.rpm

2/ Build the freetype & fontconfig RPMs:

# rpmbuild --rebuild freetype-2.1.3-6.src.rpm
# rpmbuild --rebuild fontconfig-2.1-9.src.rpm

3/ Install the new freetype & fontconfig RPMs:

# cd /usr/src/redhat/RPMS/i386
# rpm -Uhv fontconfig-2.1-9.i386.rpm fontconfig-devel-2.1-9.i386.rpm
# rpm -Uhv freetype-2.1.3-6.i386.rpm freetype-devel-2.1.3-6.i386.rpm

4/ Install Xfree86 4.3 source RPM:

# rpm -ihv XFree86-4.3.0-10.src.rpm

5/ Edit the XFree86.spec (see attached diff):

Apparently, Xft was merged into XFree86 and the previously separate Xft
package was made obsolete. Unfortunately, just about every GNOME & KDE
RPM is dependent on Xft. The solution I found was to include Xft and
Xft-devel in the "Provides" sections of the spec file. If you build
XFree86 without these changes & force-install the RPMs, the dependencies
on all the previously mentioned GNOME & KDE RPMs will be broken.

6/ Build XFree86-4.3 RPMS using the modified spec file:

# cd /usr/src/redhat/SPECS
# rpmbuild -bb XFree86.spec

7/ Install the new RPMs:

# cd /usr/src/redhat/RPMS
# rpm -Uhv XFree86*

8/ Update the dynamic linker cache:

This allows apps linked against Xft to find the new version in
/usr/X11R6/lib instead of /usr/lib.

# /sbin/ldconfig

9/ Restart any/all X clients/servers.



*** XFree86.spec	2003-05-06 17:25:47.000000000 -0400
--- XFree86.spec.new	2003-05-29 18:55:42.000000000 -0400
***************
*** 510,517 ****
  Group: Development/Libraries
  Requires: XFree86-libs = %{version}-%{release}
! Obsoletes: xpm-devel, Mesa-devel, Xft-devel
! Conflicts: Xft-devel
  Provides: xpm-devel, Mesa-devel
! #Provides: Xft-devel
  Requires: fontconfig-devel pkgconfig

--- 510,516 ----
  Group: Development/Libraries
  Requires: XFree86-libs = %{version}-%{release}
! Obsoletes: xpm-devel, Mesa-devel
  Provides: xpm-devel, Mesa-devel
! Provides: Xft-devel
  Requires: fontconfig-devel pkgconfig

***************
*** 570,575 ****
  Group: System Environment/Libraries
  # Now that Xft2 is part of XFree86 4.3.0, we obsolete the old standalone one
- Obsoletes: Xft
- Conflicts: Xft
  Requires: freetype >= 2.1.3-4
  %if %{with_freetype2}
--- 569,572 ----
***************
*** 578,582 ****
  %endif
  Provides: xpm
! #Provides: Xft
  Requires: XFree86-libs-data = %{version}-%{release}
  #Requires(post,postun,verify): /sbin/ldconfig grep textutils
--- 575,579 ----
  %endif
  Provides: xpm
! Provides: Xft
  Requires: XFree86-libs-data = %{version}-%{release}
  #Requires(post,postun,verify): /sbin/ldconfig grep textutils


[Red Hat General]     [Red Hat Watch]     [Red Hat Development]     [Kernel Development]     [Yosemite Camping]

  Powered by Linux