XFree86 4.3.0 rawhide information and rebuilding for other distro releases

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

 



The current XFree86 in rawhide has many improvements over what
shipped in RHL 9, including bug fixes, updated drivers, libGL
optimizations and many other things.  While binary rpms generated
from the src.rpm are generally only runtime compatible with the
version of the OS that they were compiled for, I've went to
rather great lengths to keep the XFree86.spec file compatible 
with Red Hat Linux 8.0 and above, and I will attempt to continue 
keeping the spec file compatible with 8.0 and later releases as 
long as I can sanely do so without having maintenance hell.

In order to make it easier for people to use XFree86 4.3.0 in 
whatever Red Hat Linux release or beta they're using, I've made 
it easy to recompile the src.rpm for these releases by defining 
new spec file defines at the top of the spec file which can be 
set to choose which OS version to build for.  If you look at the 
top of XFree86.spec after installing the src.rpm, you will find:

%define build_maintainer_mode   %( hostname -f |grep -q capslock.lan && echo 1 || echo 0)
%if ! %{build_maintainer_mode}
# These 4 build target defines are currently not all implemented, only the
# build_taroon target is implemented.  As time permits I will be making the
# other ones work properly also, to aide people in rebuilding XFree86 4.3.0
# for Red Hat Linux 8.0, 9, cambridge, and taroon.
%define build_taroon            0
%define build_cambridge         1
# Red Hat Linux 9 (Shrike)
%define build_shrike            0
# Red Hat Linux 8.0 (Psyche)
%define build_psyche            0
%else
# This section is reserved exclusively for mharris, do not change 
it.
%define build_taroon            0
%define build_cambridge         0
%define build_shrike            0
%define build_psyche            1
%endif


The build_maintainer_mode basically is used to autodetect 
one of my own personal systems which I use to do throwaway 
build tests.  Ignore that.  Under the first commented area, set 
one of the 4 build target options to 1, and the rest to 0.  The 
default rawhide src.rpm defaults to building for cambridge, so if 
you're building for RHL 9 or 8.0, set shrike or psyche to 1 
instead.

It is rather important if you rebuild XFree86 from my src.rpms 
that you modify the "Release:" field for your own benefit by 
adding ".custom" or ".yourname" or something to it.  That allows 
you to know which of our builds that yours is based on, and also 
allows you to be able to upgrade to new releases in the future, 
be they mine or your own.  If I were to be rebuilding it for 
myself for example, I would change release "30" to "30.mh.1" and 
rebuild.

Rebuilding in Red Hat Linux 9 should work without anything
special.  There should be no other rawhide dependancies needed 
that I can think of.  Anything that is rawhide specific in the 
build is specially wrapped with build_cambridge and/or 
build_taroon everywhere to keep src.rpm compatibility as high as 
possible.

Rebuilding in Red Hat Linux 8.0 however will require some extra 
effort.  For 8.0, you will need to download the src.rpm packages 
from Red Hat Linux 9 for expat, freetype, fontconfig, and 
possibly other things I've forgotten long ago.  You'll need to 
rebuild those first and install them, then rebuild XFree86 4.3.0.  
If it needs anything else it'll complain and you can download the 
RHL 9 src.rpms of those items and rebuild them too first.

You'll need to also compile your own XFree86 4.3.0 kernel DRM 
modules if you use 4.3.0 in Red Hat Linux 8.0, as the RHL 8.0 
kernel is not compatible DRM with 4.3.0.

Note:  I've made it possible to rebuild X in this manner purely
as a convenience to the community.  Red Hat does not support user 
recompiled software packages, only official Red Hat supplied 
binary packages.  Do not file bugs in bugzilla against XFree86 if 
you're using your own XFree86 builds, unless you can test my own 
binary builds from rawhide on a Severn beta system that has been 
updated to current rawhide, or if the bug is so obvious that it's 
definitely going to affect all builds no matter what, such as a 
missing BuildRequires or somesuch.

Feel free to discuss any problems you encounter here, and I will 
attempt to answer anything tha comes up.  I'll also add more 
comments to the spec file to make it more self documenting if 
people have confusion or problems recompiling.

Enjoy.


-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat


_______________________________________________
xfree86-list mailing list
xfree86-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/xfree86-list
IRC: #xfree86 on irc.redhat.com

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

  Powered by Linux