r375 - in trunk/BOOK: . chapter01 general x

manuel at linuxfromscratch.org manuel at linuxfromscratch.org
Thu Mar 10 12:35:22 PST 2005


Author: manuel
Date: 2005-03-10 13:35:22 -0700 (Thu, 10 Mar 2005)
New Revision: 375

Added:
   trunk/BOOK/x/xorg.xml
Modified:
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/general.ent
   trunk/BOOK/general/libpng.xml
   trunk/BOOK/template.xml
   trunk/BOOK/x/x.xml
Log:
Added Xorg. Updated the template.

Modified: trunk/BOOK/chapter01/changelog.xml
===================================================================
--- trunk/BOOK/chapter01/changelog.xml	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/chapter01/changelog.xml	2005-03-10 20:35:22 UTC (rev 375)
@@ -61,6 +61,7 @@
 <listitem><para>less-382</para></listitem>
 <listitem><para>lfs-bootscripts-3.1.0</para></listitem>
 <listitem><para>libol-0.3.15</para></listitem>
+<listitem><para>libpng-1.2.8</para></listitem>
 <listitem><para>libtool-1.5.14</para></listitem>
 <listitem><para>linux-2.6.10</para></listitem>
 <listitem><para>linux-libc-headers-2.6.10.0</para></listitem>
@@ -88,6 +89,7 @@
 <listitem><para>udev-050</para></listitem>
 <listitem><para>util-linux-2.12q</para></listitem>
 <listitem><para>vim-6.3</para></listitem>
+<listitem><para>xorg-6.8.2</para></listitem>
 <listitem><para>zlib-1.2.2</para></listitem>
 </itemizedlist>
 </listitem>
@@ -105,7 +107,7 @@
 -->
 
 <listitem><para>March 10th, 2005 [manuel]: Added a placeholder partintro in 
-Part IV - Beyond HLFS.</para></listitem>
+Part IV - Beyond HLFS. Added xorg.xml.</para></listitem>
 
 <listitem><para>March 9th, 2005 [manuel]: Updated the bzip2 download link.
 Added a template to add BHLFS packages. Created the BHLFS dirs structure.

Modified: trunk/BOOK/general/libpng.xml
===================================================================
--- trunk/BOOK/general/libpng.xml	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/general/libpng.xml	2005-03-10 20:35:22 UTC (rev 375)
@@ -12,7 +12,7 @@
 
 ]>
 
-<sect1 id="LibPNG" role="wrap">
+<sect1 id="LibPNG" role="wrap" xreflabel="LibPNG-&libpng-version;">
 <title>LibPNG-&libpng-version;</title>
 <?dbhtml filename="libpng.html"?>
 

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/general.ent	2005-03-10 20:35:22 UTC (rev 375)
@@ -5,6 +5,7 @@
 
 <!ENTITY lfs-root "http://www.linuxfromscratch.org/">
 <!ENTITY blfs-root "&lfs-root;blfs/">
+<!ENTITY blfs-book "&blfs-root;view/svn/">
 <!ENTITY hlfs-root "&lfs-root;hlfs/">
 <!ENTITY faq-root "&lfs-root;faq/">
 <!ENTITY hints-root "&lfs-root;hints/downloads/files/">

Modified: trunk/BOOK/template.xml
===================================================================
--- trunk/BOOK/template.xml	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/template.xml	2005-03-10 20:35:22 UTC (rev 375)
@@ -13,7 +13,7 @@
 <!ENTITY Lsad823-version "?.?.?">
 
 ]>
-<sect1 id="w786etY" role="wrap">
+<sect1 id="w786etY" role="wrap" xreflabel="w786etY-&Lsad823-version;">
 <title>w786etY-&Lsad823-version;</title>
 <?dbhtml filename="Lsad823.html"?>
 

Modified: trunk/BOOK/x/x.xml
===================================================================
--- trunk/BOOK/x/x.xml	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/x/x.xml	2005-03-10 20:35:22 UTC (rev 375)
@@ -9,5 +9,6 @@
 <?dbhtml filename="x.html"?>
 
 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="xorg.xml"/>
 
 </chapter>

Added: trunk/BOOK/x/xorg.xml
===================================================================
--- trunk/BOOK/x/xorg.xml	2005-03-10 18:45:26 UTC (rev 374)
+++ trunk/BOOK/x/xorg.xml	2005-03-10 20:35:22 UTC (rev 375)
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+
+<!-- Don't forget to time the build and check build size, etc.-->
+
+<!ENTITY xorg-download-http "http://www.x.org/download.cgi?rel=&xorg-version;">
+<!ENTITY xorg-download-ftp "ftp://ftp.opengroup.org/pub/x.org/pub/X11R&xorg-version;/src-single/X11R&xorg-version;-src.tar.bz2">
+<!ENTITY xorg-size "?? KB">
+<!ENTITY xorg-buildsize "?? MB">
+<!ENTITY xorg-time "?? SBU">
+<!ENTITY xorg-version "6.8.2">
+
+]>
+<sect1 id="Xorg" role="wrap" xreflabel="Xorg-&xorg-version;">
+<title>Xorg-&xorg-version;</title>
+<?dbhtml filename="xorg.html"?>
+
+<indexterm zone="Xorg"><primary sortas="a-Xorg">Xorg</primary></indexterm>
+
+<sect2 role="package"><title/>
+
+<para><application>Xorg</application> is a freely redistributable open-source
+implementation of the <application>X</application> Window System. This 
+application provides a client/server interface between display hardware (the 
+mouse, keyboard, and video displays) and the desktop environment, while also 
+providing both the windowing infrastructure and a standardized application 
+interface (<acronym>API</acronym>).</para>
+
+<segmentedlist>
+<segtitle>Download (HTTP)</segtitle>
+<segtitle>Download (FTP)</segtitle>
+<segtitle>Download size</segtitle>
+<segtitle>&buildtime;</segtitle>
+<segtitle>&diskspace;</segtitle>
+<seglistitem>
+<seg><ulink url="&xorg-download-http;"/></seg>
+<seg><ulink url="&xorg-download-ftp;"/></seg>
+<seg>&xorg-size;</seg>
+<seg>&xorg-time;</seg>
+<seg>&xorg-buildsize;</seg>
+</seglistitem>
+</segmentedlist>
+
+<bridgehead renderas="sect3">Additional downloads</bridgehead>
+<itemizedlist>
+<listitem><para><ulink
+url="&patches-root;xorg-&xorg-version;-nonow-1.patch"/></para></listitem>
+<listitem><para><ulink
+url="&patches-root;xorg-&xorg-version;-libGL_PIC-1.patch"/></para></listitem>
+<listitem><para><ulink
+url="&patches-root;xorg-&xorg-version;-BUSmemcpy_PIC-1.patch"/></para></listitem>
+</itemizedlist>
+
+<bridgehead renderas="sect3">Dependencies</bridgehead>
+<segmentedlist>
+<segtitle>Required</segtitle>
+<segtitle>Optional</segtitle>
+<seglistitem>
+<seg><xref linkend="LibPNG"/> and <ulink 
+url="&blfs-book;general/fontconfig.html">Fontconfig</ulink></seg>
+<seg><ulink url="&blfs-book;postlfs/linux_pam.html">Linux-PAM</ulink></seg>
+</seglistitem>
+</segmentedlist>
+
+</sect2>
+
+<sect2 role="installation">
+<title>Installation of Xorg</title>
+
+<para>Xorg can't use <command>ld -z now</command>. This patch adds 
+<parameter>-nonow</parameter> to the compile flags of the Xorg server 
+and modules:</para>
+
+<screen><userinput>patch -Np1 -i ../xorg-&xorg-version;-nonow-1.patch</userinput></screen>
+
+<para>Xorg has one non-pic module, and a bit of the server code is not pic. These
+patches fix both problems:</para>
+
+<screen><userinput>patch -Np1 -i ../xorg-&xorg-version;-libGL_PIC-1.patch
+patch -Np1 -i ../xorg-&xorg-version;-BUSmemcpy_PIC-1.patch</userinput></screen>
+
+<para>This will add <parameter>-fpie</parameter> to some programs by adding 
+<envar>CFLAGS+=</envar> to the top of <filename>Imakefile</filename> files. 
+This affects 156 <filename>Imakefile</filename> files. The <filename>Imakefile</filename>
+files in <filename class="directory">programs/Xserver</filename> are ignored 
+because many of them are for modules:</para>
+
+<screen><userinput>find programs/ -type f -name Imakefile | sed -e '/Xserver/d' | \
+    xargs sed -e '1,0s/^/CFLAGS+=-pie -fpie\n&/' -i</userinput></screen>
+
+<para>But the Xorg binary itself is good for <parameter>-fpie</parameter>:</para>
+
+<screen><userinput>sed -e '1,0s/^/CFLAGS+=-pie -fpie\n&/' -i programs/Xserver/Imakefile</userinput></screen>
+
+<para>Xterm seems to use a GNU style <command>configure</command> 
+and <filename>Makefile.in</filename>:</para>
+
+<screen><userinput>sed -e 's/^CFLAGS.*$/& -pie -fpie/' -i programs/xterm/Makefile.in</userinput></screen>
+
+<para>This supressed Xprint from using <filename class="directory">/etc</filename>:</para>
+
+<screen><userinput>sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile</userinput></screen>
+
+<para condition="uclibc">Fix some issues when compiling against uClibc:</para>
+
+<screen condition="uclibc"><userinput>sed -i -e "s/-DNEEDCEILF//g" lib/GLU/libnurbs/internals/Imakefile
+sed -i -e 's:GLXCLIENTDIRS = glxinfo glxgears:GLXCLIENTDIRS = :' \
+    programs/Imakefile</userinput></screen>
+
+<para>Then build and install <command>lndir</command>(1):</para>
+
+<screen><userinput>sed -e 's/^CFLAGS .*$/& -pie -fpie/' -i config/util/Makefile.ini
+pushd config/util
+make -f Makefile.ini lndir
+install lndir /usr/bin/
+popd</userinput></screen>
+
+<para>Create the shadow tree:</para>
+
+<screen><userinput>mkdir ../xcbuild
+cd ../xcbuild
+lndir ../xc</userinput></screen>
+
+<para>Create a config file. Read the BLFS page for comments. Edit this to add
+your card driver, report any problems to the hlfs-dev list:</para>
+
+<screen><userinput>cat > config/cf/host.def << "EOF"
+<literal>#define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
+        -fno-strict-aliasing -march=i686
+
+#define MakeDllModules    YES
+#define HardenedGccSpecs  YES
+#define ProPoliceSupport  YES
+
+#define HasFreetype2    YES
+#define HasFontconfig   YES
+#define HasExpat    YES
+#define HasLibpng   YES
+#define HasZlib     YES
+#define HasLibCrypt   YES
+#define HasBasename   YES
+#define TermcapLibrary    -lncurses
+#define HasPosixThreads         YES
+#define ThreadsLibraries        -lpthread
+
+#define XF86CardDrivers   vga
+#define XInputDrivers   mouse keyboard
+
+#define XprtServer    NO
+#define BuildXprintClients  NO</literal>
+EOF</userinput></screen>
+
+<para>Build Xorg:</para>
+
+<screen><userinput>sed -i -e "s@^#include <linux/config.h>@/* & */@" \
+    `grep -lr linux/config.h *`
+( make World 2>&1 | tee xorg-compile.log && exit $PIPESTATUS )</userinput></screen>
+
+<para>Then, as the root user, install Xorg:</para>
+
+<screen><userinput>make install
+make install.man
+ln -sf ../X11R6/bin /usr/bin/X11
+ln -sf ../X11R6/lib/X11 /usr/lib/X11
+ln -sf ../X11R6/include/X11 /usr/include/X11</userinput></screen>
+
+<para>Remove all the static libraries:</para>
+
+<screen><userinput>rm /usr/X11R6/lib/lib{Xau,Xdmcp,oldX,XprintUtil,XprintAppUtil}.a
+rm /usr/X11R6/lib/lib{OSMesa,dmx,Xfont,fntstubs,xf86config}.a</userinput></screen>
+
+<para>Add the new libraries to <filename>ld.so.conf</filename>:</para>
+
+<screen><userinput>echo "/usr/X11R6/lib" >> /etc/ld.so.conf</userinput></screen>
+
+<para>Update <filename>ld.so.cache</filename>:</para>
+
+<screen><userinput>ldconfig</userinput></screen>
+
+<para>Some applications depend on this file, and Xorg starts faster if it exists.
+This will create it on boot:</para>
+
+<screen><userinput>cat >> /etc/sysconfig/createfiles << "EOF"
+<literal>/tmp/.ICE-unix dir 1777 root root</literal>
+EOF</userinput></screen>
+
+<para>For configuring X, see <ulink url="&blfs-book;x/installing.html#xorg-config"/>.</para>
+
+</sect2>
+
+
+<sect2 role="content"><title>Contents of Xorg</title>
+
+<note><para>The following lists are not comprehensive. The
+full list of programs is in <filename class="directory">/usr/X11R6/bin</filename>.  For 
+additional information about these programs, see the respective man 
+page.</para></note>
+
+<segmentedlist>
+<segtitle>Installed Programs</segtitle>
+<segtitle>Installed Libraries</segtitle>
+<seglistitem><seg>Xorg, xforgconfig, xorgcfg, startx, xinit, twm, xterm, xwininfo, 
+x11perf, xlsfonts, xvidtune, xload, xcalc, xclock, oclock, xmodmap</seg>
+<seg>libGL.so, libGLU.so, libSM.so, libXi.so, libXrender.so, libXt.so, libXfont.so</seg></seglistitem>
+</segmentedlist>
+
+<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
+<?dbfo list-presentation="list"?>
+<?dbhtml list-presentation="table"?>
+
+<varlistentry id="xorg">
+<term><command>Xorg</command></term>
+<listitem>
+<para>Is the Xorg implementation of the <application>X</application> Window System server</para>
+<indexterm zone="Xorg xorg">
+<primary sortas="b-Xorg">Xorg</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xorgconfig">
+<term><command>xorgconfig</command></term>
+<listitem>
+<para>Is an interactive program for generating an <filename>xorg.conf</filename> file for use with
+<application>Xorg</application> <application>X</application> servers</para>
+<indexterm zone="Xorg xorgconfig">
+<primary sortas="b-xorgconfig">xorgconfig</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xorgcfg">
+<term><command>xorgcfg</command></term>
+<listitem>
+<para>Is a tool to configure <application>Xorg</application> that can be used to either write the
+initial configuration file or make customizations to the current configuration</para>
+<indexterm zone="Xorg xorgcfg">
+<primary sortas="b-xorgcfg">xorgcfg</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="startx">
+<term><command>startx</command></term>
+<listitem>
+<para>Is a script to initialize the <application>X</application> session. It 
+runs <command>xinit</command></para>
+<indexterm zone="Xorg startx">
+<primary sortas="b-startx">startx</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xinit">
+<term><command>xinit</command></term>
+<listitem>
+<para>Is used to start the <application>X</application> Window System server</para>
+<indexterm zone="Xorg xinit">
+<primary sortas="b-xinit">xinit</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="twm">
+<term><command>twm</command></term>
+<listitem>
+<para>(Tab Window Manager) is a window manager included with the 
+<application>X</application> Window System</para>
+<indexterm zone="Xorg twm">
+<primary sortas="b-twm">twm</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xterm">
+<term><command>xterm</command></term>
+<listitem>
+<para>Is a terminal emulator for <application>X</application></para>
+<indexterm zone="Xorg xterm">
+<primary sortas="b-xterm">xterm</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xwininfo">
+<term><command>xwininfo</command></term>
+<listitem>
+<para>Is a window information utility for <application>X</application></para>
+<indexterm zone="Xorg xwininfo">
+<primary sortas="b-xwininfo">xwininfo</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="x11perf">
+<term><command>x11perf</command></term>
+<listitem>
+<para>Is an <application>X</application>11 server performance test program</para>
+<indexterm zone="Xorg x11perf">
+<primary sortas="b-x11perf">x11perf</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xlsfonts">
+<term><command>xlsfonts</command></term>
+<listitem>
+<para>Is a program to list fonts available to the <application>X</application> server</para>
+<indexterm zone="Xorg xlsfonts">
+<primary sortas="b-xlsfonts">xlsfonts</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xvidtune">
+<term><command>xvidtune</command></term>
+<listitem>
+<para>Is a video mode tuner for <application>Xorg</application></para>
+<indexterm zone="Xorg xvidtune">
+<primary sortas="b-xvidtune">xvidtune</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xload">
+<term><command>xload</command></term>
+<listitem>
+<para>Is a system load average display for <application>X</application></para>
+<indexterm zone="Xorg xload">
+<primary sortas="b-xload">xload</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xcalc">
+<term><command>xcalc</command></term>
+<listitem>
+<para>Is a scientific calculator for <application>X</application></para>
+<indexterm zone="Xorg xcalc">
+<primary sortas="b-xcalc">xcalc</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xclock">
+<term><command>xclock</command></term>
+<listitem>
+<para>Is a clock program for <application>X</application></para>
+<indexterm zone="Xorg xclock">
+<primary sortas="b-xclock">xclock</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="oclock">
+<term><command>oclock</command></term>
+<listitem>
+<para>Is a clock program for <application>X</application></para>
+<indexterm zone="Xorg oclock">
+<primary sortas="b-oclock">oclock</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+<varlistentry id="xmodmap">
+<term><command>xmodmap</command></term>
+<listitem>
+<para>Is a utility for modifying keymaps and pointer button mappings in 
+<application>X</application></para>
+<indexterm zone="Xorg xmodmap">
+<primary sortas="b-xmodmap">xmodmap</primary>
+</indexterm>
+</listitem>
+</varlistentry>
+
+</variablelist> 
+
+</sect2>
+
+</sect1>


Property changes on: trunk/BOOK/x/xorg.xml
___________________________________________________________________
Name: svn:keywords
   + "Author Date Revision Id"




More information about the hlfs-book mailing list