Building XFree86 4.3 RPMs on RH8
Chuck Slivkoff <[email protected]>
| Newsgroups | gmane.linux.redhat.xfree86 |
|---|---|
| Message-ID | <[email protected]> |
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-4.3.spec.diff.txt
(text/plain, 1.2 KB)
*** 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