# apt-get source XFree86
# cd /usr/src/redhat/SOURCES
# wget http://voidmain.is-a-geek.net/files/pat ... line.patch
# cd /usr/src/redhat/SPECS
# vi XFree86.spec
Add this line:
- Code: Select all
Patch20006: XFree86-underline.patch
right under the line that starts out "Patch20005:" then save and exit (:wq).
Then run the prep stage to make sure the patches applied ok:
# rpmbuild -bp XFree86.spec
You may get an error because dependent development packages are not installed. If you do, install the dependent packages (it told me I needed to have "Glide3-devel" installed so I did a "apt-get install Glide3-devel" and then reran the rpmbuild command that finished up looking something like this:
- Code: Select all
Patch #20004 (XFree86-4.2.0-tdfx-disable-dri-on-16Mb-cards-in-hires.patch):
+ patch -p0 -b --suffix .tdfx-disable-dri-on-16Mb-cards-in-hires -s
+ echo 'Patch #20005 (underline.patch):'
Patch #20005 (underline.patch):
+ patch -p0 -b --suffix .mkfontdir-perms -s
+ pwd
/usr/src/redhat/BUILD/XFree86-4.3.0
+ export 'RPM_OPT_FLAGS=-O2 -pipe -march=i386 -mcpu=i686'
+ RPM_OPT_FLAGS=-O2 -pipe -march=i386 -mcpu=i686
+ cat
+ exit 0
Above you can see the tail end of my output and see that the last two patches have been applied (one of which is the underline.patch).
The above "rpmbuild -bp" is sort of a waste of time because now it will be done again as part of the next command, I just wanted to show you that your patch will be applied. Now build the new binary RPMS that are identical to the ones that come with RH9 except for the addition of your underline.patch:
# rpmbuild -bb XFree86.spec
This may take a while and use a lot of disk space because XFree is a really large chunk of code. When it finishes you should have some RPMS in your /usr/src/redhat/RPMS/i386 directory that you can install. Here's the list:
- Code: Select all
XFree86-100dpi-fonts-4.3.0-2.i386.rpm
XFree86-4.3.0-2.i386.rpm
XFree86-75dpi-fonts-4.3.0-2.i386.rpm
XFree86-base-fonts-4.3.0-2.i386.rpm
XFree86-cyrillic-fonts-4.3.0-2.i386.rpm
XFree86-devel-4.3.0-2.i386.rpm
XFree86-doc-4.3.0-2.i386.rpm
XFree86-font-utils-4.3.0-2.i386.rpm
XFree86-ISO8859-14-100dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-14-75dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-15-100dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-15-75dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-2-100dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-2-75dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-9-100dpi-fonts-4.3.0-2.i386.rpm
XFree86-ISO8859-9-75dpi-fonts-4.3.0-2.i386.rpm
XFree86-libs-4.3.0-2.i386.rpm
XFree86-libs-data-4.3.0-2.i386.rpm
XFree86-Mesa-libGL-4.3.0-2.i386.rpm
XFree86-Mesa-libGLU-4.3.0-2.i386.rpm
XFree86-syriac-fonts-4.3.0-2.i386.rpm
XFree86-tools-4.3.0-2.i386.rpm
XFree86-truetype-fonts-4.3.0-2.i386.rpm
XFree86-twm-4.3.0-2.i386.rpm
XFree86-xauth-4.3.0-2.i386.rpm
XFree86-xdm-4.3.0-2.i386.rpm
XFree86-xfs-4.3.0-2.i386.rpm
XFree86-Xnest-4.3.0-2.i386.rpm
XFree86-Xvfb-4.3.0-2.i386.rpm
Surely not all of them would have to be installed but I am not sure which packages are affected by the patch (and I'm not willing to dig that far into it at this point). Assuming that directory was clean prior to building the XFree86 RPMs you would:
# cd /usr/src/redhat/RPMS/i386
# rpm -Uvh *.rpm --force
Now, if you are running nVidia's drivers from their web site you will want to reinstall them if you used the above command (or take care not to install the *GL* and *GLU* rpms above as the nVidia driver comes with replacements to these libraries).
Restart X and you now should be running a patched copy.
Good luck!


