Xorg6
Contents
Introduction to Xorg6
Project Homepage: Unknown
Dependencies
Required
Optional
Non-Multilib
The 15-xorg.sh from the Bash Startup Files is meant to be used with Xorg7. Replace that file with one meant for use with Xorg6:
cat > /etc/profile.d/15-xorg.sh << "EOF"
# Begin /etc/profile.d/15-xorg.sh
export XORG_PREFIX=/usr/X11R6
export PATH="${PATH}:${XORG_PREFIX}/bin"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}${XORG_PREFIX}/lib/pkgconfig"
# End /etc/profile.d/15-xorg.sh
EOF
source /etc/profile
Patch the source:
patch -Np1 -i ../xorg-6.9.0-luit_race-1.patch && patch -Np1 -i ../xorg-6.9.0-security-3.patch
If you would like to install Xorg6 into a prefix other then /usr/X11R6 correct a hard-coded path:
sed -i 's@/usr/X11R6@${XORG_PREFIX}@' programs/luit/parser.h
Xorg insists on putting its boot and profile scripts into the /etc directory even if specifically told not to compile anything Xprint server or client:
sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
Build the lndir program that is going to be used to create the shadow directory:
pushd config/util && make -f Makefile.ini lndir && popd
Create the shadow directory:
mkdir ../xcbuild && cd ../xcbuild && ../xc/config/util/lndir ../xc
Create a basic host.def file:
cat > config/cf/host.def << "EOF"
/* Begin Xorg host.def file */
/* System Related Information. If you read and configure only one
* section then it should be this one. The Intel architecture defaults
* are set for a i686 and higher. Axp is for the Alpha architecture
* and Ppc is for the Power PC. AMD64 is for the Opteron processor.
* Note that there have been reports that the Ppc optimization line
* causes segmentation faults during build. If that happens, try
* building without the DefaultGcc2PpcOpt line. ***********/
/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing -march=i686 */
/* #define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing */
/* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
/* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES
/* Uncomment the following define if you'd like
* xdm to use Linux-PAM
#define HasPam YES
*/
/*
* Which drivers to build. When building a static server, each of
* these will be included in it. When building the loadable server
* each of these modules will be built.
*
#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
neomagic i740 tdfx savage \
cirrus vmware tseng trident chips apm \
GlideDriver fbdev i128 \
ati DevelDrivers ark \
cyrix siliconmotion vesa vga \
XF86OSCardDrivers XF86ExtraCardDrivers
*/
/*
* Select the XInput devices you want by uncommenting this.
*
#define XInputDrivers mouse keyboard acecad calcomp citron \
digitaledge dmc dynapro elographics \
microtouch mutouch penmount spaceorb \
summa wacom void magictouch aiptek
*/
/* Most installs will only need this */
#define XInputDrivers mouse keyboard
/* Xterm is no longer built by default */
#define BuildXterm YES
/* Disable building Xprint server and clients until we get them figured
* out but build Xprint libraries to allow precompiled binaries such as
* Acrobat Reader to run.
*/
#define XprtServer NO
#define BuildXprintClients NO
/* Uncomment the following define if you would prefer to install X into
* /usr or change it to any other location that you prefer.
* The GL related defines disable compatibility symlinks (the links
* are not needed when X is installed in /usr).
#define ProjectRoot /usr
#define LinkGLToUsrInclude NO
#define LinkGLToUsrLib NO
*/
/* End Xorg host.def file */
EOF
If you're on a pure64 system add the following host.def.
cat >> config/cf/host.def << "EOF" /* On pure64 systems Xorg will attempt to install libraries into lib64. The * following will prevent this */ #define HaveLib64 NO EOF
Compile the package:
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
$(grep -lr linux/config.h *) &&
make World
Install the package:
make install && make install.man
Create the default links from where you've installed Xorg to /usr.
ln -v -s ../X11R6/bin /usr/bin/X11 && ln -v -s ../X11R6/lib/X11 /usr/lib/X11 && ln -v -s ../X11R6/include/X11 /usr/include/X11
The Xorg fonts have been installed outside of FontConfig's default search path of /usr/share/fonts:
install -v -d -m755 /usr/share/fonts && ln -svn /usr/X11R6/lib/X11/fonts/TTF /usr/share/fonts/X11-TTF
Multilib
The 15-xorg.sh from the Bash Startup Files is meant to be used with Xorg7. Replace that file with one meant for use with Xorg6:
cat > /etc/profile.d/15-xorg.sh << "EOF"
# Begin /etc/profile.d/15-xorg.sh
export XORG_PREFIX=/usr/X11R6
export PATH="${PATH}:${XORG_PREFIX}/bin"
export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${XORG_PREFIX}/lib/pkgconfig"
export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}${XORG_PREFIX}/lib32/pkgconfig"
export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}${XORG_PREFIX}/lib64/pkgconfig"
# End /etc/profile.d/15-xorg.sh
EOF
source /etc/profile
32Bit
Patch the source:
patch -Np1 -i ../xorg-6.9.0-luit_race-1.patch && patch -Np1 -i ../xorg-6.9.0-security-3.patch
If you would like to install Xorg6 into a prefix other then /usr/X11R6 correct a hard-coded path:
sed -i 's@/usr/X11R6@${XORG_PREFIX}@' programs/luit/parser.h
Xorg insists on putting its boot and profile scripts into the /etc directory even if specifically told not to compile anything Xprint server or client:
sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
Build the lndir program that is going to be used to create the shadow directory:
pushd config/util && make -f Makefile.ini lndir && popd
Create the shadow directory:
mkdir ../xcbuild && cd ../xcbuild && ../xc/config/util/lndir ../xc
Create a basic host.def file:
cat > config/cf/host.def << "EOF"
/* Begin Xorg host.def file */
/* System Related Information. If you read and configure only one
* section then it should be this one. The Intel architecture defaults
* are set for a i686 and higher. Axp is for the Alpha architecture
* and Ppc is for the Power PC. AMD64 is for the Opteron processor.
* Note that there have been reports that the Ppc optimization line
* causes segmentation faults during build. If that happens, try
* building without the DefaultGcc2PpcOpt line. ***********/
/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing -march=i686 */
/* #define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing */
/* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
/* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES
/* Uncomment the following define if you'd like
* xdm to use Linux-PAM
#define HasPam YES
*/
/*
* Which drivers to build. When building a static server, each of
* these will be included in it. When building the loadable server
* each of these modules will be built.
*
#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
neomagic i740 tdfx savage \
cirrus vmware tseng trident chips apm \
GlideDriver fbdev i128 \
ati DevelDrivers ark \
cyrix siliconmotion vesa vga \
XF86OSCardDrivers XF86ExtraCardDrivers
*/
/*
* Select the XInput devices you want by uncommenting this.
*
#define XInputDrivers mouse keyboard acecad calcomp citron \
digitaledge dmc dynapro elographics \
microtouch mutouch penmount spaceorb \
summa wacom void magictouch aiptek
*/
/* Most installs will only need this */
#define XInputDrivers mouse keyboard
/* Xterm is no longer built by default */
#define BuildXterm YES
/* Disable building Xprint server and clients until we get them figured
* out but build Xprint libraries to allow precompiled binaries such as
* Acrobat Reader to run.
*/
#define XprtServer NO
#define BuildXprintClients NO
/* Uncomment the following define if you would prefer to install X into
* /usr or change it to any other location that you prefer.
* The GL related defines disable compatibility symlinks (the links
* are not needed when X is installed in /usr).
#define ProjectRoot /usr
#define LinkGLToUsrInclude NO
#define LinkGLToUsrLib NO
*/
/* End Xorg host.def file */
EOF
Compile the package:
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
$(grep -lr linux/config.h *) &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" USE_ARCH=32 \
make CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" World
Install the package:
make install &&
make install.man &&
ln -v -s ../X11R6/lib/X11 /usr/lib/X11 &&
for prog in xft-config xcursor-config gccmakedep ccmakedep imake xmkmf; do
mv -v /usr/X11R6/bin/$prog{,-32}
done
N32
Patch the source:
patch -Np1 -i ../xorg-6.9.0-luit_race-1.patch && patch -Np1 -i ../xorg-6.9.0-security-3.patch
If you would like to install Xorg6 into a prefix other then /usr/X11R6 correct a hard-coded path:
sed -i 's@/usr/X11R6@${XORG_PREFIX}@' programs/luit/parser.h
Xorg insists on putting its boot and profile scripts into the /etc directory even if specifically told not to compile anything Xprint server or client:
sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
Build the lndir program that is going to be used to create the shadow directory:
pushd config/util && make -f Makefile.ini lndir && popd
Create the shadow directory:
mkdir ../xcbuild && cd ../xcbuild && ../xc/config/util/lndir ../xc
Create a basic host.def file:
cat > config/cf/host.def << "EOF"
/* Begin Xorg host.def file */
/* System Related Information. If you read and configure only one
* section then it should be this one. The Intel architecture defaults
* are set for a i686 and higher. Axp is for the Alpha architecture
* and Ppc is for the Power PC. AMD64 is for the Opteron processor.
* Note that there have been reports that the Ppc optimization line
* causes segmentation faults during build. If that happens, try
* building without the DefaultGcc2PpcOpt line. ***********/
/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing -march=i686 */
/* #define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing */
/* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
/* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES
/* Uncomment the following define if you'd like
* xdm to use Linux-PAM
#define HasPam YES
*/
/*
* Which drivers to build. When building a static server, each of
* these will be included in it. When building the loadable server
* each of these modules will be built.
*
#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
neomagic i740 tdfx savage \
cirrus vmware tseng trident chips apm \
GlideDriver fbdev i128 \
ati DevelDrivers ark \
cyrix siliconmotion vesa vga \
XF86OSCardDrivers XF86ExtraCardDrivers
*/
/*
* Select the XInput devices you want by uncommenting this.
*
#define XInputDrivers mouse keyboard acecad calcomp citron \
digitaledge dmc dynapro elographics \
microtouch mutouch penmount spaceorb \
summa wacom void magictouch aiptek
*/
/* Most installs will only need this */
#define XInputDrivers mouse keyboard
/* Xterm is no longer built by default */
#define BuildXterm YES
/* Disable building Xprint server and clients until we get them figured
* out but build Xprint libraries to allow precompiled binaries such as
* Acrobat Reader to run.
*/
#define XprtServer NO
#define BuildXprintClients NO
/* Uncomment the following define if you would prefer to install X into
* /usr or change it to any other location that you prefer.
* The GL related defines disable compatibility symlinks (the links
* are not needed when X is installed in /usr).
#define ProjectRoot /usr
#define LinkGLToUsrInclude NO
#define LinkGLToUsrLib NO
*/
/* End Xorg host.def file */
EOF
Compile the package:
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
$(grep -lr linux/config.h *) &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" USE_ARCH=n32 \
make CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" World
Install the package:
make install &&
make install.man &&
ln -v -s ../X11R6/lib32/X11 /usr/lib32/X11 &&
for prog in xft-config xcursor-config gccmakedep ccmakedep imake xmkmf; do
mv -v /usr/X11R6/bin/$prog{,-n32}
done
64Bit
Patch the source:
patch -Np1 -i ../xorg-6.9.0-luit_race-1.patch && patch -Np1 -i ../xorg-6.9.0-security-3.patch
If you would like to install Xorg6 into a prefix other then /usr/X11R6 correct a hard-coded path:
sed -i 's@/usr/X11R6@${XORG_PREFIX}@' programs/luit/parser.h
Xorg insists on putting its boot and profile scripts into the /etc directory even if specifically told not to compile anything Xprint server or client:
sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
Build the lndir program that is going to be used to create the shadow directory:
pushd config/util && make -f Makefile.ini lndir && popd
Create the shadow directory:
mkdir ../xcbuild && cd ../xcbuild && ../xc/config/util/lndir ../xc
Create a basic host.def file:
cat > config/cf/host.def << "EOF"
/* Begin Xorg host.def file */
/* System Related Information. If you read and configure only one
* section then it should be this one. The Intel architecture defaults
* are set for a i686 and higher. Axp is for the Alpha architecture
* and Ppc is for the Power PC. AMD64 is for the Opteron processor.
* Note that there have been reports that the Ppc optimization line
* causes segmentation faults during build. If that happens, try
* building without the DefaultGcc2PpcOpt line. ***********/
/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing -march=i686 */
/* #define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce \
-fno-strict-aliasing */
/* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
/* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES
/* Uncomment the following define if you'd like
* xdm to use Linux-PAM
#define HasPam YES
*/
/*
* Which drivers to build. When building a static server, each of
* these will be included in it. When building the loadable server
* each of these modules will be built.
*
#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
neomagic i740 tdfx savage \
cirrus vmware tseng trident chips apm \
GlideDriver fbdev i128 \
ati DevelDrivers ark \
cyrix siliconmotion vesa vga \
XF86OSCardDrivers XF86ExtraCardDrivers
*/
/*
* Select the XInput devices you want by uncommenting this.
*
#define XInputDrivers mouse keyboard acecad calcomp citron \
digitaledge dmc dynapro elographics \
microtouch mutouch penmount spaceorb \
summa wacom void magictouch aiptek
*/
/* Most installs will only need this */
#define XInputDrivers mouse keyboard
/* Xterm is no longer built by default */
#define BuildXterm YES
/* Disable building Xprint server and clients until we get them figured
* out but build Xprint libraries to allow precompiled binaries such as
* Acrobat Reader to run.
*/
#define XprtServer NO
#define BuildXprintClients NO
/* Uncomment the following define if you would prefer to install X into
* /usr or change it to any other location that you prefer.
* The GL related defines disable compatibility symlinks (the links
* are not needed when X is installed in /usr).
#define ProjectRoot /usr
#define LinkGLToUsrInclude NO
#define LinkGLToUsrLib NO
*/
/* End Xorg host.def file */
EOF
Compile the package:
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
$(grep -lr linux/config.h *) &&
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" USE_ARCH=64 \
make CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" World
Install the package:
make install &&
make install.man &&
ln -v -s ../X11R6/bin /usr/bin/X11 &&
ln -v -s ../X11R6/lib64/X11 /usr/lib64/X11 &&
ln -v -s ../X11R6/include/X11 /usr/include/X11 &&
for prog in xft-config xcursor-config gccmakedep ccmakedep imake xmkmf; do
mv -v /usr/X11R6/bin/$prog{,-64} &&
ln -sfv /usr/bin/multiarch_wrapper /usr/X11R6/bin/$prog
done
The Xorg fonts have been installed outside of FontConfig's default search path of /usr/share/fonts:
install -v -d -m755 /usr/share/fonts && ln -svn /usr/X11R6/lib64/X11/fonts/TTF /usr/share/fonts/X11-TTF