[blfs-book] r12783 - in trunk/BOOK: . archive general/genutils general/prog general/sysutils kde/core kde/intro multimedia/libdriv networking/netlibs postlfs/config x/lib xincludes

bdubbs at higgs.linuxfromscratch.org bdubbs at higgs.linuxfromscratch.org
Tue Feb 25 11:00:30 PST 2014


Author: bdubbs
Date: Tue Feb 25 11:00:30 2014
New Revision: 12783

Log:
Rewrite Qt pages
Add corrections for some paths (e.g. man pages)
Tags

Added:
   trunk/BOOK/archive/qtchooser.xml
      - copied unchanged from r12778, trunk/BOOK/general/genutils/qtchooser.xml
   trunk/BOOK/xincludes/qt-alternatives.xml   (contents, props changed)
   trunk/BOOK/xincludes/setqt.xml   (contents, props changed)
Deleted:
   trunk/BOOK/general/genutils/qtchooser.xml
Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/general/genutils/genutils.xml
   trunk/BOOK/general/prog/guile.xml
   trunk/BOOK/general/sysutils/udisks.xml
   trunk/BOOK/kde/core/phonon-backend-gstreamer.xml
   trunk/BOOK/kde/intro/pre-install-config.xml
   trunk/BOOK/multimedia/libdriv/libmpeg2.xml
   trunk/BOOK/networking/netlibs/glib-networking.xml
   trunk/BOOK/networking/netlibs/libsoup.xml
   trunk/BOOK/postlfs/config/profile.xml
   trunk/BOOK/x/lib/qt4.xml
   trunk/BOOK/x/lib/qt5.xml

Copied: trunk/BOOK/archive/qtchooser.xml (from r12778, trunk/BOOK/general/genutils/qtchooser.xml)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/BOOK/archive/qtchooser.xml	Tue Feb 25 11:00:30 2014	(r12783, copy of r12778, trunk/BOOK/general/genutils/qtchooser.xml)
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY qtchooser-git-revision "g4717841">
+
+  <!ENTITY qtchooser-download-http "http://macieira.org/qtchooser/qtchooser-&qtchooser-version;-&qtchooser-git-revision;.tar.gz">
+  <!ENTITY qtchooser-download-ftp  " ">
+  <!ENTITY qtchooser-md5sum        "fcf1b5e8373147e48ce72b9c1ffe3d10">
+  <!ENTITY qtchooser-size          "32 KB">
+  <!ENTITY qtchooser-buildsize     "1.6 MB">
+  <!ENTITY qtchooser-time          "less than 0.1 SBU">
+]>
+
+<sect1 id="qtchooser" xreflabel="qtchooser-&qtchooser-version;">
+  <?dbhtml filename="qtchooser.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>qtchooser-&qtchooser-version;</title>
+
+  <indexterm zone="qtchooser">
+    <primary sortas="a-qtchooser">qtchooser</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to qtchooser</title>
+
+    <para>
+      The <application>qtchooser</application> package contains a wrapper used to select
+      between <application>Qt</application> binary versions.  It is only needed if 
+      both Qt4 and Qt5 are installed for access via the /usr/bin directory.
+    </para>
+
+    &lfs74_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Download (HTTP): <ulink url="&qtchooser-download-http;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download (FTP): <ulink url="&qtchooser-download-ftp;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download MD5 sum: &qtchooser-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download size: &qtchooser-size;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated disk space required: &qtchooser-buildsize;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated build time: &qtchooser-time;
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">qtchooser Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Optional</bridgehead>
+    <para role="optional">
+      <xref linkend="qt4"/> (for the testsuite)
+    </para>
+
+    <para condition="html" role="usernotes">
+      User Notes: <ulink url="&blfs-wiki;/qtchooser"/>
+    </para>
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of qtchooser</title>
+
+    <warning>
+      <para>
+         If both <application>Qt4</application> and
+         <application>Qt5</application> are installed on the system,
+         then <application>Qt4</application> should be set as
+         default unless stated otherwise.
+      </para>
+    </warning>
+
+    <para>
+      Install <application>qtchooser</application> by running the following
+      commands:
+    </para>
+
+<screen><userinput>make</userinput></screen>
+
+    <para>
+      To test the results, issue: <command>make check</command>.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>make install &&
+install -m644 doc/qtchooser.1 /usr/share/man/man1</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring qtchooser</title>
+
+    <sect3 id="qtchooser-config">
+      <title>Config Files</title>
+      <para>
+        <filename>/etc/xdg/qtchooser/default.conf</filename>
+      </para>
+
+      <indexterm zone="qtchooser qtchooser-config">
+        <primary
+        sortas="e-etc-xdg-qtchooser-default.conf">/etc/xdg/qtchooser/default.conf</primary>
+      </indexterm>
+
+    </sect3>
+
+    <sect3>
+      <title>Configuration Information</title>
+
+      <para>
+        The <filename>/etc/xdg/qtchooser/default.conf</filename>
+        configuration file contains paths to the
+        <application>Qt</application> binaries and libraries which will
+        be used when the wrapper is run. It is ussually a symlink to a
+        package specific file, such as <filename>4.conf</filename> or
+        <filename>5.conf</filename>. In first case, when invoking the wrappers,
+        <application>Qt4</application> equivalents will be invoked. In second
+        case, <application>Qt5</application> equivalents will be invoked.
+      </para>
+
+      <para>
+        Create the configuration files by running the following commands as
+        the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>install -dm755 /etc/xdg/qtchooser &&
+cat > /etc/xdg/qtchooser/4.conf << "EOF"
+<literal>/usr/lib/qt4/bin
+/usr/lib</literal>
+EOF
+cat > /etc/xdg/qtchooser/5.conf << "EOF"
+<literal>/usr/lib/qt5/bin
+/usr/lib</literal>
+EOF</userinput></screen>
+
+      <para>
+        To set <application>Qt4</application> as the default, run the following
+        command as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>ln -sfv 4.conf /etc/xdg/qtchooser/default.conf</userinput></screen>
+
+      <para>
+        To set <application>Qt5</application> as the default, run the following
+        command as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>ln -sfv 5.conf /etc/xdg/qtchooser/default.conf</userinput></screen>
+
+      <para>
+        You can also select default <application>Qt</application> using an environment
+        variable.
+      </para>
+
+      <para>
+        To set <application>Qt4</application> as the default, run the following command:
+      </para>
+
+<screen><userinput>export QT_SELECT=4</userinput></screen>
+
+      <para>
+        To set <application>Qt5</application> as the default, run the following command:
+      </para>
+
+<screen><userinput>export QT_SELECT=5</userinput></screen>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>
+          assistant, designer, lconvert, linguist, lrelease, lupdate, moc,
+          pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer,
+          qdbusxml2cpp, qdoc, qdoc3, qglinfo, qhelpconverter, qhelpgenerator,
+          qmake, qml, qml1plugindump, qmlbundle, qmlmin, qmlplugindump,
+          qmlprofiler, qmlscene, qmltestrunner, qmlviewer, qtchooser,
+          qtconfig, rcc, uic, uic3, xmlpatterns, and xmlpatternsvalidator
+        </seg>
+        <seg>
+          None
+        </seg>
+        <seg>
+          None
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="qtchooser-prog">
+        <term><command>qtchooser</command></term>
+        <listitem>
+          <para>
+            is a wrapper used to select between <application>Qt</application>
+            binary versions.
+          </para>
+          <indexterm zone="qtchooser qtchooser-prog">
+            <primary sortas="b-qtchooser">qtchooser</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

Modified: trunk/BOOK/general.ent
==============================================================================
--- trunk/BOOK/general.ent	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/general.ent	Tue Feb 25 11:00:30 2014	(r12783)
@@ -1,12 +1,12 @@
 <!-- $LastChangedBy$ $Date$ -->
 
-<!ENTITY day          "23">                   <!-- Always 2 digits -->
+<!ENTITY day          "25">                   <!-- Always 2 digits -->
 <!ENTITY month        "02">                   <!-- Always 2 digits -->
 <!ENTITY year         "2014">
 <!ENTITY copyrightdate "2001-&year;">
 <!ENTITY copyholder   "The BLFS Development Team">
 <!ENTITY version      "&year;-&month;-&day;">
-<!ENTITY releasedate  "February 23rd, &year;">
+<!ENTITY releasedate  "February 25th, &year;">
 <!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
 <!ENTITY blfs-version "svn">                  <!-- svn|[release #] -->
 <!ENTITY lfs-version  "development">          <!-- version|testing|unstable|development] -->

Modified: trunk/BOOK/general/genutils/genutils.xml
==============================================================================
--- trunk/BOOK/general/genutils/genutils.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/general/genutils/genutils.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -33,7 +33,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iso-codes.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lsof.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pinentry.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qtchooser.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="rarian.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="rep-gtk.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="screen.xml"/>

Modified: trunk/BOOK/general/prog/guile.xml
==============================================================================
--- trunk/BOOK/general/prog/guile.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/general/prog/guile.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -98,9 +98,7 @@
       commands:
     </para>
 
-<screen><userinput>./configure --prefix=/usr    \
-            --disable-static \
-            --docdir=/usr/share/doc/guile-&guile-version; &&
+<screen><userinput>./configure --prefix=/usr --disable-static &&
 make      &&
 make html &&
 
@@ -108,6 +106,17 @@
 makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi</userinput></screen>
 
     <para>
+      If you have <xref linkend="texlive"/> installed and wish to build alternate
+      formats (PDF and postscript) of the documentation, issue the following
+      commands:
+    </para>
+
+<screen><userinput>for DIRNAME in r5rs ref; do
+   make -k -C doc/${DIRNAME} pdf ps
+done &&
+unset DIRNAME</userinput></screen>
+
+    <para>
       To test the results, issue: <command>make check</command>.
     </para>
 
@@ -115,21 +124,37 @@
       Now, as the <systemitem class="username">root</systemitem> user:
     </para>
 
-<screen role="root"><userinput>make install      &&
-make install-html &&
+<screen role="root"><userinput>make install &&
+
+find examples -name "Makefile*" -delete      &&
+install -v -dm755 /usr/share/doc/guile-&guile-version; &&
+cp -vR examples   /usr/share/doc/guile-&guile-version; &&
+
+for DIRNAME in r5rs ref; do
+  install -v -dm755 /usr/share/doc/guile-&guile-version;/${DIRNAME} &&
+  
+  install -v -m644  doc/${DIRNAME}/*.txt \
+                    /usr/share/doc/guile-&guile-version;/${DIRNAME} &&
+  
+  if [ -d           doc/${DIRNAME}/${DIRNAME}.html ]; then
+    cp -Rv          doc/${DIRNAME}/${DIRNAME}.html \
+                    /usr/share/doc/guile-&guile-version;/${DIRNAME}
+  fi
+done
 
-mv /usr/share/doc/guile-&guile-version;/{guile.html,ref} &&
-mv /usr/share/doc/guile-&guile-version;/r5rs{.html,}     &&
+cp -vR doc/ref/guile.html /usr/share/doc/guile-&guile-version;/ref</userinput></screen>
 
-find examples -name "Makefile*" -exec rm {} \; &&
-cp -vR examples   /usr/share/doc/guile-&guile-version;   &&
+    <para>
+      If you built the alternate formats of the documentation, install them
+      using the following commands issued by the
+      <systemitem class="username">root</systemitem> user:
+    </para>
 
-for DIRNAME in r5rs ref
+<screen role="root"><userinput>for DIRNAME in r5rs ref
 do
-  install -v -m644  doc/${DIRNAME}/*.txt \
-                    /usr/share/doc/guile-&guile-version;/${DIRNAME}
-done &&
-unset DIRNAME</userinput></screen>
+  install -v -m644 doc/${DIRNAME}/*.{pdf,ps,dvi} \
+                   /usr/share/doc/guile-&guile-version;/${DIRNAME}
+done</userinput></screen>
 
   </sect2>
 

Modified: trunk/BOOK/general/sysutils/udisks.xml
==============================================================================
--- trunk/BOOK/general/sysutils/udisks.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/general/sysutils/udisks.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -116,7 +116,7 @@
       Now, as the <systemitem class="username">root</systemitem> user:
     </para>
 
-<screen role="root"><userinput>make install</userinput></screen>
+<screen role="root"><userinput>make profiledir=/etc/bash_completion.d install</userinput></screen>
 
   </sect2>
 

Modified: trunk/BOOK/kde/core/phonon-backend-gstreamer.xml
==============================================================================
--- trunk/BOOK/kde/core/phonon-backend-gstreamer.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/kde/core/phonon-backend-gstreamer.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -32,7 +32,7 @@
     <para>This package provides a <application>Phonon</application> backend which
     utilizes the <application>GStreamer</application> media framework.</para>
 
-    &lfs74_checked;
+    &lfs75_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">

Modified: trunk/BOOK/kde/intro/pre-install-config.xml
==============================================================================
--- trunk/BOOK/kde/intro/pre-install-config.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/kde/intro/pre-install-config.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -38,7 +38,7 @@
     additional configuration changes. Best practice is to add those to your
     system or personal profile:</para>
 
-<screen><userinput>cat > /etc/profile.d/kde.sh << EOF
+<screen><userinput>cat > /etc/profile.d/kde.sh << 'EOF'
 <literal># Begin /etc/profile.d/kde.sh
 
 &kde-dir-var;=/opt/kde

Modified: trunk/BOOK/multimedia/libdriv/libmpeg2.xml
==============================================================================
--- trunk/BOOK/multimedia/libdriv/libmpeg2.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/multimedia/libdriv/libmpeg2.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -36,7 +36,7 @@
     This is useful for programs and applications needing to decode MPEG-2 and
     MPEG-1 video streams.</para>
 
-    &lfs74_checked;
+    &lfs75_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">

Modified: trunk/BOOK/networking/netlibs/glib-networking.xml
==============================================================================
--- trunk/BOOK/networking/netlibs/glib-networking.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/networking/netlibs/glib-networking.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -11,7 +11,7 @@
   <!ENTITY glib-networking-md5sum        "99293f58a8256214b2b9b331afeb1aee">
   <!ENTITY glib-networking-size          "356 KB">
   <!ENTITY glib-networking-buildsize     "8.5 MB">
-  <!ENTITY glib-networking-time          "0.15 SBU">
+  <!ENTITY glib-networking-time          "0.1 SBU">
 ]>
 
 <sect1 id="glib-networking" xreflabel="glib-networking-&glib-networking-version;">

Modified: trunk/BOOK/networking/netlibs/libsoup.xml
==============================================================================
--- trunk/BOOK/networking/netlibs/libsoup.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/networking/netlibs/libsoup.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -11,7 +11,7 @@
   <!ENTITY libsoup-md5sum        "92aa3667357157e8f3489bcca287f2fa">
   <!ENTITY libsoup-size          "732 KB">
   <!ENTITY libsoup-buildsize     "27 MB (additional 2 MB to run the test suite)">
-  <!ENTITY libsoup-time          "0.55 SBU (additional 0.16 SBU to run the test suite)">
+  <!ENTITY libsoup-time          "0.5 SBU (additional 0.2 SBU to run the test suite)">
 ]>
 
 <sect1 id="libsoup" xreflabel="libsoup-&libsoup-version;">
@@ -35,7 +35,7 @@
       The <application>libsoup</application> is HTTP client/server library for
       <application>GNOME</application>. It uses GObject and the GLib main loop
       to integrate with <application>GNOME</application> applications and
-      it also has asynchronous API for use in threaded applications.
+      it also has an asynchronous API for use in threaded applications.
     </para>
 
     &lfs75_checked;

Modified: trunk/BOOK/postlfs/config/profile.xml
==============================================================================
--- trunk/BOOK/postlfs/config/profile.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/postlfs/config/profile.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -128,6 +128,7 @@
         export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
 }
 
+export -f pathremove pathprepend pathappend
 
 # Set the initial path
 export PATH=/bin:/usr/bin
@@ -157,9 +158,6 @@
         fi
 done
 
-# Now to clean up
-unset pathremove pathprepend pathappend
-
 # End /etc/profile</literal>
 EOF</userinput></screen>
 

Modified: trunk/BOOK/x/lib/qt4.xml
==============================================================================
--- trunk/BOOK/x/lib/qt4.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/x/lib/qt4.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -105,10 +105,8 @@
       <xref linkend="gst-plugins-base"/> (For QtWebKit HTML5 Video),
       <xref linkend="mariadb"/> or <xref linkend="mysql"/>,
       <xref linkend="postgresql"/>,
-      <xref linkend="pulseaudio"/>,
-      <xref linkend="unixodbc"/>, and
-      <xref linkend="qtchooser"/> (runtime, if also installing Qt5 and 
-      installing in /usr)
+      <xref linkend="pulseaudio"/>, and
+      <xref linkend="unixodbc"/>
     </para>
 
     <para condition="html" role="usernotes">User Notes:
@@ -116,63 +114,11 @@
     </para>
   </sect2>
 
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../xincludes/qt-alternatives.xml"/>
+
   <sect2 role="installation">
     <title>Installation of Qt</title>
 
-    <para>
-       There are several ways to install a complicated package such as
-       <application>Qt</application>. The files are not completely position
-       independent. Installation procedures execute the program
-       <command>pkg-config</command> to determine the location of package
-       executables, libraries, headers, and other files. For
-       <application>Qt</application>, <command>pkg-config</command> will look
-       for the appropriate <filename>lib/pkgconfig/Qt*.pc</filename> files
-       which must be modified if relocating the package. These files are set up
-       correctly by the build process.
-    </para>
-    
-    <para>
-       The default installation places the files in <filename
-       class='directory'>/usr/local/qt/</filename>. Many commercial
-       distributions place the files in the system's <filename
-       class='directory'>/usr</filename> hierarchy. The package can also be
-       installed in an arbitrary directory.
-    </para>
-    
-    <para>
-       The advantage of installing in <filename
-       class='directory'>/usr</filename> is that no updates to the
-       <filename>/etc/ld.so.conf</filename> or
-       <filename>/etc/man_db.conf</filename> files are required. The package
-       files are distributed within several subdirectories of the <filename
-       class='directory'>/usr</filename> hierarchy.  This is the method that
-       most commercial distributions use.  It is also supported by the 
-       optional <application>qtchooser</application> application.
-    </para>
-
-       <para>
-       The disadvantage of installing in <filename
-       class='directory'>/usr</filename> is that the executable filenames
-       for  <application>Qt4</application> and <application>Qt5</application>
-       conflict if both packages are installed in the
-       same directory.  The instructions below give a workaround for
-       this problem using the helper program <xref linkend='qtchooser'/>.
-       This requires renaming the Qt executables with a version suffix.
-    </para>
-
-    <para>
-       The advantage of installing <application>Qt4</application> in a custom
-       directory such as <filename
-       class='directory'>/opt/qt-&qt4-version;</filename> is that it keeps all
-       the package files consolidated in a dedicated directory hierarchy. By
-       using this method, an update can be made without overwriting a previous
-       installation and users can easily revert to a previous version by
-       changing one symbolic link or merely changing the PATH variable.  It
-       also allows a developer to maintain multiple versions of 
-       <application>Qt4</application> or <application>Qt5</application>
-       for testing.
-    </para>
-
     <caution>
       <para>
         If you did not install some of the recommended dependencies, examine
@@ -200,26 +146,25 @@
       </para>
     </note>
 
+<!-- ==== Method 1 ====== -->
     <bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
 
     <para>
-      Install <application>Qt4</application> by running the
-      following commands:
+      Install <application>Qt4</application> into the <filename
+      class='directory'>/usr</filename> hierarchy by running the following
+      commands:
     </para>
 
-    <note><para>
-      If <emphasis>not</emphasis> also installing <application>Qt5</application>
-      into the /usr directory, change the entry for -bindir below to /usr/bin.
-    </para></note>
-
+<screen><userinput>export QTLINK=/usr
 
-<screen><userinput>sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
+sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
      config.tests/unix/libmng/libmng.cpp &&
+
 sed -i '/CONFIG -/ a\isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..' \
      src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro &&
 
 ./configure -prefix         /usr                 \
-            -bindir         /usr/lib/qt4/bin     \
+            -bindir         /usr/bin             \
             -plugindir      /usr/lib/qt4/plugins \
             -importdir      /usr/lib/qt4/imports \
             -headerdir      /usr/include/qt4     \
@@ -257,22 +202,10 @@
 
 <screen><userinput>find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;</userinput></screen>
 
-    <para>
-      Now, as the <systemitem class="username">root</systemitem> user:
-    </para>
+    <para>Now as the <systemitem class="username">root</systemitem> user:</para>
 
 <screen role="root"><userinput>make install &&
-rm -rf /usr/tests &&
-install -v -Dm644 src/gui/dialogs/images/qtlogo-64.png \
-                  /usr/share/pixmaps/qt4logo.png       &&
-install -v -Dm644 tools/assistant/tools/assistant/images/assistant-128.png \
-                  /usr/share/pixmaps/assistant-qt4.png &&
-install -v -Dm644 tools/designer/src/designer/images/designer.png \
-                  /usr/share/pixmaps/designer-qt4.png  &&
-install -v -Dm644 tools/linguist/linguist/images/icons/linguist-128-32.png \
-                  /usr/share/pixmaps/linguist-qt4.png  &&
-install -v -Dm644 tools/qdbus/qdbusviewer/images/qdbusviewer-128.png \
-                  /usr/share/pixmaps/qdbusviewer-qt4.png</userinput></screen>
+rm -rf /usr/tests</userinput></screen>
 
     <para>
       Remove references to the build directory from installed files by
@@ -282,51 +215,32 @@
 
 <screen role="root"><userinput>for file in 3Support CLucene Core DBus Declarative DesignerComponents \
             Designer Gui Help Multimedia Network OpenGL Script \
-            ScriptTools Sql Svg Test UiTools WebKit XmlPatterns Xml phonon
-do
-  [ -e /usr/lib/libQt${file}.prl ] && sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' \
-                                              /usr/lib/libQt${file}.prl
+            ScriptTools Sql Svg Test UiTools WebKit XmlPatterns Xml phonon; do
+
+     [ -e /usr/lib/libQt${file}.prl ] && 
+     sed -r '/^QMAKE_PRL_BUILD_DIR/d;s/(QMAKE_PRL_LIBS =).*/\1/' \
+         -i /usr/lib/libQt${file}.prl
 done
 unset file</userinput></screen>
 
-    <para>
-      If also installing Qt5 into /usr, 
-      symlink the <application>Qt4</application> executables into
-      <filename class="directory">/usr/bin</filename> by running the
-      following commands as the
-      <systemitem class="username">root</systemitem> user:
-    </para>
-
-<screen role="root"><userinput>for file in /usr/lib/qt4/bin/*
-do
-  ln -sfv ../lib/qt4/bin/$(basename $file) /usr/bin/$(basename $file)-qt4
-done</userinput></screen>
-
+<!-- ==== Method 2 ====== -->
     <bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt4-version;</bridgehead>
 
     <para>
-      This section provides an alternate way to install Qt4 by installing
-      almost all of the files in the <filename class="directory">/opt</filename>
-      directory. This allows management of all Qt4 related files in one unit.
-      For instance, a new version of Qt4 can be installed without over-writing
-      the existing installation and entire Qt4 instances can be easily removed.
-      However, it has the disadvantage of needing some extra configuration.
+      This section provides for installing Qt4 almost all of the files in the
+      <filename class="directory">/opt</filename> directory.
     </para>
- 
 
-    <para>
-      Install <application>Qt</application> in  /opt/qt-&qt4-version; 
-      by running the following commands:
-    </para>
+<screen><userinput>export QTDIR=/opt/qt-&qt4-version; &&
+export QTLINK=/opt/qt &&
 
-<screen><userinput>sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
+sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
      config.tests/unix/libmng/libmng.cpp &&
+
 sed -i '/CONFIG -/ a\isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..' \
      src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro &&
 
-export QTDIR=/opt/qt-&qt4-version;
-
-./configure -prefix     $QTDIR   \
+./configure -prefix $QTDIR       \
             -sysconfdir /etc/xdg \
             -confirm-license     \
             -opensource          \
@@ -349,46 +263,114 @@
       Now, as the <systemitem class="username">root</systemitem> user:
     </para>
 
-<screen role="root"><userinput>make install &&
+<screen role="root"><userinput>make install
+ln -svfn $QTDIR /opt/qt</userinput></screen>
+
+    <para>
+      Remove references to the build directory from installed files by
+      running the following command as the
+      <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>for file in `basename -a -s .prl $QTDIR/lib/lib*.prl`; do
+   sed -r '/^QMAKE_PRL_BUILD_DIR/d'    \
+       -r 's/(QMAKE_PRL_LIBS =).*/\1/' \
+       -i $QTDIR/lib/${file}.prl
+
+   perl -pi -e "s, -L$PWD/?\S+,,g" $QTDIR/lib/pkgconfig/${file##lib}.pc
+done
+
+unset file</userinput></screen>
+
+<!-- ==== Common  ====== -->
+    <bridgehead renderas="sect3">Continuing for Both Methods</bridgehead>
+
+      <para>
+        For all methods, install images and create the menu entries 
+        for installed applications.  Be sure that the <envar>QTLINK</envar>
+        variable is defined in root's environment and 
+        as the <systemitem class="username">root</systemitem> user:
+      </para>
 
-install -v -dm755 /usr/share/pixmaps/                 && 
-install -v -Dm644 src/gui/dialogs/images/qtlogo-64.png \
+<screen role="root"><userinput>install -v -Dm644 src/gui/dialogs/images/qtlogo-64.png \
                   /usr/share/pixmaps/qt4logo.png       &&
+
 install -v -Dm644 tools/assistant/tools/assistant/images/assistant-128.png \
                   /usr/share/pixmaps/assistant-qt4.png &&
+
 install -v -Dm644 tools/designer/src/designer/images/designer.png \
                   /usr/share/pixmaps/designer-qt4.png  &&
+
 install -v -Dm644 tools/linguist/linguist/images/icons/linguist-128-32.png \
                   /usr/share/pixmaps/linguist-qt4.png  &&
+
 install -v -Dm644 tools/qdbus/qdbusviewer/images/qdbusviewer-128.png \
-                  /usr/share/pixmaps/qdbusviewer-qt4.png</userinput></screen>
+                  /usr/share/pixmaps/qdbusviewer-qt4.png &&
 
-    <para>
-      Remove references to the build directory from installed files by
-      running the following command as the
-      <systemitem class="username">root</systemitem> user:
-    </para>
+install -dm755 /usr/share/applications &&
 
-<screen role="root"><userinput>for file in `basename -a -s .prl $QTDIR/lib/lib*.prl`; do
-  sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' \
-       $QTDIR/lib/${file}.prl
-  perl -pi -e "s, -L$PWD/?\S+,,g" $QTDIR/lib/pkgconfig/${file##lib}.pc
-done
+cat > /usr/share/applications/assistant-qt4.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt4 Assistant 
+Comment=Shows Qt4 documentation and examples
+Exec=$QTLINK/bin/assistant
+Icon=assistant-qt4.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Documentation;</literal>
+EOF
 
-unset file</userinput></screen>
+cat > /usr/share/applications/designer-qt4.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt4 Designer
+Comment=Design GUIs for Qt4 applications
+Exec=$QTLINK/bin/designer
+Icon=designer-qt4.png
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;</literal>
+EOF
 
-    <para>
-      Symlink the <application>Qt4</application> executables into
-      <filename class="directory">/usr/bin</filename> by running the
-      following commands as the
-      <systemitem class="username">root</systemitem> user:
-    </para>
+cat > /usr/share/applications/linguist-qt4.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt4 Linguist 
+Comment=Add translations to Qt4 applications
+Exec=$QTLINK/bin/linguist
+Icon=linguist-qt4.png
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;</literal>
+EOF
 
-<screen role="root"><userinput>ln -svf $QTDIR /opt/qt &&
+cat > /usr/share/applications/qdbusviewer-qt4.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt4 QDbusViewer 
+GenericName=D-Bus Debugger
+Comment=Debug D-Bus applications
+Exec=$QTLINK/bin/qdbusviewer
+Icon=qdbusviewer-qt4.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Debugger;</literal>
+EOF
 
-for file in /opt/qt/bin/*; do
-  ln -sfvn $file /usr/bin/$(basename $file)-qt4
-done</userinput></screen>
+cat > /usr/share/applications/qtconfig-qt4.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt4 Config 
+Comment=Configure Qt4 behavior, styles, fonts
+Exec=$QTLINK/bin/qtconfig-qt4
+Icon=qt4logo.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Settings;</literal>
+EOF</userinput></screen>
 
   </sect2>
 
@@ -398,7 +380,7 @@
     <para>
       <command>sed -i ...</command>: First command fixes detection of
       <application>libmng</application> 2.0 and second one prevents configure
-      script to write in root directory if building as privileged user.
+      script from writing to the root directory if building as privileged user.
     </para>
 
     <para>
@@ -419,7 +401,7 @@
     <para>
       <parameter>-nomake examples -nomake demos</parameter>:
       These switches disable building programs that are only of
-      interest to a <application>Qt</application> developer.
+      interest to a developer using <application>Qt</application>.
     </para>
 
     <para>
@@ -483,7 +465,6 @@
 <literal># Begin /etc/profile.d/qt.sh
 
 QTDIR=/usr
-
 export QTDIR
 
 # End /etc/profile.d/qt.sh</literal>
@@ -532,78 +513,11 @@
 # End /etc/profile.d/qt.sh</literal>
 EOF</userinput></screen>
 
-      <para>
-        For all methods, create the menu entries for installed applications.
-        As the <systemitem class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>install -dm755 /usr/share/applications
-
-cat > /usr/share/applications/qtconfig-qt4.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt4 Config 
-Comment=Configure Qt4 behavior, styles, fonts
-Exec=qtconfig-qt4
-Icon=qt4logo
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Settings;</literal>
-EOF
-
-cat > /usr/share/applications/assistant-qt4.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt4 Assistant 
-Comment=Shows Qt4 documentation and examples
-Exec=assistant-qt4
-Icon=assistant-qt4
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Documentation;</literal>
-EOF
-
-cat > /usr/share/applications/designer-qt4.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt4 Designer
-Comment=Design GUIs for Qt4 applications
-Exec=designer-qt4
-Icon=designer-qt4
-MimeType=application/x-designer;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;</literal>
-EOF
-
-cat > /usr/share/applications/linguist-qt4.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt4 Linguist 
-Comment=Add translations to Qt4 applications
-Exec=linguist-qt4
-Icon=linguist-qt4
-MimeType=text/vnd.trolltech.linguist;application/x-linguist;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;</literal>
-EOF
-
-cat > /usr/share/applications/qdbusviewer-qt4.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt4 QDbusViewer 
-GenericName=D-Bus Debugger
-Comment=Debug D-Bus applications
-Exec=qdbusviewer-qt4
-Icon=qdbusviewer-qt4
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Debugger;</literal>
-EOF</userinput></screen>
 
     </sect3>
-
+   
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
+                href="../../xincludes/setqt.xml"/>
   </sect2>
 
   <sect2 role="content">
@@ -616,13 +530,13 @@
 
       <seglistitem>
         <seg>
-          assistant-qt4, designer-qt4, lconvert-qt4, linguist-qt4,
-          lrelease-qt4, lupdate-qt4, moc-qt4, pixeltool-qt4,
-          qcollectiongenerator-qt4, qdbuscpp2xml-qt4, qdbus-qt4,
-          qdbusviewer-qt4, qdbusxml2cpp-qt4, qdoc3-qt4, qhelpconverter-qt4,
-          qhelpgenerator-qt4, qmake-qt4, qmlplugindump-qt4, qmlviewer-qt4,
-          qt3to4-qt4, qtconfig-qt4, qttracereplay-qt4, rcc-qt4, uic3-qt4,
-          uic-qt4, xmlpatterns-qt4 and xmlpatternsvalidator-qt4
+          assistant, designer, lconvert, linguist,
+          lrelease, lupdate, moc, pixeltool,
+          qcollectiongenerator, qdbuscpp2xml, qdbus,
+          qdbusviewer, qdbusxml2cpp, qdoc3, qhelpconverter,
+          qhelpgenerator, qmake, qmlplugindump, qmlviewer,
+          qt3to4, qtconfig, qttracereplay, rcc, uic3,
+          uic, xmlpatterns, and xmlpatternsvalidator
         </seg>
         <seg>
           libQt3Support.so, libQtCLucene.so, libQtCore.so, libQtDBus.so,
@@ -630,14 +544,16 @@
           libQtDesigner.so, libQtGui.so, libQtHelp.so, libQtMultimedia.so,
           libQtNetwork.so, libQtOpenGL.so, libQtScript.so, libQtScriptTools.so,
           libQtSql.so, libQtSvg.so, libQtTest.so, libQtWebKit.so,
-          libQtXmlPatterns.so and libQtXml.so
+          libQtXmlPatterns.so, and libQtXml.so
         </seg>
         <seg>
           /usr/include/qt4,
           /usr/lib/qt4,
           /usr/share/doc/qt4, and
-          /usr/share/qt4 (OR $QTDIR)
-          (OR $QTDIR)
+          /usr/share/qt4 
+          OR 
+          /opt/qt and 
+          /opt/qt-&qt4-version;
         </seg>
       </seglistitem>
     </segmentedlist>
@@ -648,19 +564,19 @@
       <?dbhtml list-presentation="table"?>
 
       <varlistentry id="assistant-qt4">
-        <term><command>assistant-qt4</command></term>
+        <term><command>assistant</command></term>
         <listitem>
           <para>
             is a tool for presenting on-line documentation.
           </para>
           <indexterm zone="qt4 assistant-qt4">
-            <primary sortas="b-assistant-qt4">assistant-qt4</primary>
+            <primary sortas="b-assistant-qt4">assistant</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="designer-qt4">
-        <term><command>designer-qt4</command></term>
+        <term><command>designer</command></term>
         <listitem>
           <para>
             is a full-fledged GUI builder. It includes
@@ -669,39 +585,39 @@
             property editor.
           </para>
           <indexterm zone="qt4 designer-qt4">
-            <primary sortas="b-designer-qt4">designer-qt4</primary>
+            <primary sortas="b-designer-qt4">designer</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="linguist-qt4">
-        <term><command>linguist-qt4</command></term>
+        <term><command>linguist</command></term>
         <listitem>
           <para>
             provides support for translating applications into
             local languages.
           </para>
           <indexterm zone="qt4 linguist-qt4">
-            <primary sortas="b-linguist-qt4">linguist-qt4</primary>
+            <primary sortas="b-linguist-qt4">linguist</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="lrelease-qt4">
-        <term><command>lrelease-qt4</command></term>
+        <term><command>lrelease</command></term>
         <listitem>
           <para>
             is a simple command line tool. It reads a Qt project
             file and produces message files used by the application.
           </para>
           <indexterm zone="qt4 lrelease-qt4">
-            <primary sortas="b-lrelease-qt4">lrelease-qt4</primary>
+            <primary sortas="b-lrelease-qt4">lrelease</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="lupdate-qt4">
-        <term><command>lupdate-qt4</command></term>
+        <term><command>lupdate</command></term>
         <listitem>
           <para>
             reads a Qt project file, finds the translatable
@@ -710,38 +626,38 @@
             files listed in the project file.
           </para>
           <indexterm zone="qt4 lupdate-qt4">
-            <primary sortas="b-lupdate-qt4">lupdate-qt4</primary>
+            <primary sortas="b-lupdate-qt4">lupdate</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="moc-qt4">
-        <term><command>moc-qt4</command></term>
+        <term><command>moc</command></term>
         <listitem>
           <para>
             generates Qt meta object support code.
           </para>
           <indexterm zone="qt4 moc-qt4">
-            <primary sortas="b-moc-qt4">moc-qt4</primary>
+            <primary sortas="b-moc-qt4">moc</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="pixeltool-qt4">
-        <term><command>pixeltool-qt4</command></term>
+        <term><command>pixeltool</command></term>
         <listitem>
           <para>
             is a desktop magnifier and as you move your mouse around
             the screen it will show the magnified contents in its window.
           </para>
           <indexterm zone="qt4 pixeltool-qt4">
-            <primary sortas="b-pixeltool-qt4">pixeltool-qt4</primary>
+            <primary sortas="b-pixeltool-qt4">pixeltool</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="qmake-qt4">
-        <term><command>qmake-qt4</command></term>
+        <term><command>qmake</command></term>
         <listitem>
           <para>
             uses information stored in project files to
@@ -749,61 +665,61 @@
             generates.
           </para>
           <indexterm zone="qt4 qmake-qt4">
-            <primary sortas="b-qmake-qt4">qmake-qt4</primary>
+            <primary sortas="b-qmake-qt4">qmake</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="qt3to4-qt4">
-        <term><command>qt3to4-qt4</command></term>
+        <term><command>qt3to4</command></term>
         <listitem>
           <para>
             qt3to4 is a tool to help update Qt3 code to Qt4.
           </para>
           <indexterm zone="qt4 qt3to4-qt4">
-            <primary sortas="b-qt3to4-qt4">qt3to4-qt4</primary>
+            <primary sortas="b-qt3to4-qt4">qt3to4</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="qtconfig-qt4">
-        <term><command>qtconfig-qt4</command></term>
+        <term><command>qtconfig</command></term>
         <listitem>
           <para>
             is used to customize the appearance of Qt applications.
           </para>
           <indexterm zone="qt4 qtconfig-qt4">
-            <primary sortas="b-qtconfig-qt4">qtconfig-qt4</primary>
+            <primary sortas="b-qtconfig-qt4">qtconfig</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="rcc-qt4">
-        <term><command>rcc-qt4</command></term>
+        <term><command>rcc</command></term>
         <listitem>
           <para>
             is a resource compiler used in conjunction with designer.
           </para>
           <indexterm zone="qt4 rcc-qt4">
-            <primary sortas="b-rcc-qt4">rcc-qt4</primary>
+            <primary sortas="b-rcc-qt4">rcc</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="uic-qt4">
-        <term><command>uic-qt4</command></term>
+        <term><command>uic</command></term>
         <listitem>
           <para>
             is a Qt user interface compiler.
           </para>
           <indexterm zone="qt4 uic-qt4">
-            <primary sortas="b-uic-qt4">uic-qt4</primary>
+            <primary sortas="b-uic-qt4">uic</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="uic3-qt4">
-        <term><command>uic3-qt4</command></term>
+        <term><command>uic3</command></term>
         <listitem>
           <para>
             is a tool to generate Qt4 code out of
@@ -811,7 +727,7 @@
             version of designer.
           </para>
           <indexterm zone="qt4 uic3-qt4">
-            <primary sortas="b-uic3-qt4">uic3-qt4</primary>
+            <primary sortas="b-uic3-qt4">uic3</primary>
           </indexterm>
         </listitem>
       </varlistentry>

Modified: trunk/BOOK/x/lib/qt5.xml
==============================================================================
--- trunk/BOOK/x/lib/qt5.xml	Tue Feb 25 04:04:57 2014	(r12782)
+++ trunk/BOOK/x/lib/qt5.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -38,11 +38,10 @@
       with a graphical user interface (GUI) (in which cases
       <application>Qt5</application> is classified as a widget toolkit), and
       also used for developing non-GUI programs such as command-line tools
-      and consoles for servers. One of the major users of
-      <application>Qt5</application> is <application>KDE Frameworks 5</application>.
+      and consoles for servers. 
     </para>
 
-    &lfs74_checked;
+    &lfs75_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">
@@ -97,7 +96,7 @@
       <xref linkend="dbus"/>,
       <xref linkend="glib2"/>,
       <xref linkend="gst-plugins-base"/>,<!--
-      <xref linkend="harfbuzz"/>, Doesn't have all the features that the shipped one has. -->
+      <xref linkend="harfbuzz"/>, Doesn't have all the features that the included one has. -->
       <xref linkend="icu"/>,
       <xref linkend="libjpeg"/>,
       <xref linkend="libmng"/>,
@@ -122,75 +121,17 @@
       <xref linkend="unixodbc"/>
     </para>
 
-    <bridgehead renderas="sect4">Required (Runtime)</bridgehead>
-    <para role="required">
-      <xref linkend="qtchooser"/> (if installing both
-      <application>Qt4</application> and <application>Qt5</application>
-      and installing in <filename class="directory">/usr</filename>)
-    </para>
-
     <para condition="html" role="usernotes">User Notes:
       <ulink url="&blfs-wiki;/qt5"/>
     </para>
   </sect2>
 
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
+               href="../../xincludes/qt-alternatives.xml"/>
+
   <sect2 role="installation">
     <title>Installation of Qt5</title>
 
-    <para>
-       There are several ways to install a complicated package such as
-       <application>Qt5</application>. The files are not completely position
-       independent. Installation procedures execute the program
-       <command>pkg-config</command> to determine the location of package
-       executables, libraries, headers, and other files. For
-       <application>Qt5</application>, <command>pkg-config</command> will look
-       for the appropriate <filename>lib/pkgconfig/Qt5*.pc</filename> files
-       which must be modified if relocating the package. These files are set up
-       correctly by the build process.
-    </para>
-
-    <para>
-       The default installation places the files in <filename
-       class="directory">/usr/local/qt</filename>. Many
-       distributions place the files in the system's <filename
-       class="directory">/usr</filename> hierarchy. The package can
-       also be installed in an arbitrary directory.
-    </para>
-
-    <para>
-       The advantage of installing in <filename
-       class="directory">/usr</filename> is that no updates to the
-       <filename>/etc/ld.so.conf</filename> or
-       <filename>/etc/man_db.conf</filename> files are required. The package
-       files are distributed within several subdirectories of the <filename
-       class="directory">/usr</filename> hierarchy. This is the method that
-       most distributions use.
-    </para>
-
-    <para>
-       The disadvantage of installing in <filename
-       class="directory">/usr</filename> is that the executable filenames 
-       for  <application>Qt4</application> and <application>Qt5</application>
-       conflict if both packages are installed in the 
-       same directory. The instructions below give a workaround for 
-       this problem using the helper programs from <xref linkend="qtchooser"/>.
-       <!-- renaming is not required because of this, only using a different
-       bindir is -->
-    </para>
-
-    <para>
-       The advantage of installing <application>Qt5</application> in a custom
-       directory such as <filename
-       class="directory">/opt/qt-&qt5-version;</filename> is that it keeps all
-       the package files consolidated in a dedicated directory hierarchy. By
-       using this method, an update can be made without overwriting a previous
-       installation and users can easily revert to a previous version by
-       changing one symbolic link or merely changing the <envar>PATH</envar>
-       variable.  It also allows a developer to maintain multiple versions of
-       <application>Qt4</application> or <application>Qt5</application> 
-       for testing.
-    </para>
- 
     <caution>
       <para>
         If you did not install some of the recommended dependencies, examine
@@ -208,7 +149,7 @@
         not be in use during the install process.
       </para>
     </warning>
-  
+<!-- ==== Method 1 ====== -->
     <bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
 
     <para>
@@ -217,7 +158,8 @@
     </para>
 
     <!-- This is rather a bad idea. Most apps that I've seen using Qt5 look for -qt5
-         suffixed programs.
+         suffixed programs.  On the other hand, the developer is used to running
+         qmake, linguist, etc from the command line.  
 
     <note>
       <para>
@@ -226,9 +168,11 @@
       </para>
     </note> -->
 
-<screen><userinput>./configure -prefix         /usr               \
+<screen><userinput>export QTLINK=/usr
+
+./configure -prefix         /usr               \
             -sysconfdir     /etc/xdg           \
-            -bindir         /usr/lib/qt5/bin   \
+            -bindir         /usr/bin           \
             -headerdir      /usr/include/qt5   \
             -archdatadir    /usr/lib/qt5       \
             -datadir        /usr/share/qt5     \
@@ -248,6 +192,10 @@
 make</userinput></screen>
 
     <para>
+      This package does not come with a test suite.
+    </para>
+
+    <para>
       Remove references to the build directory from the
       <filename class="extension">.pc</filename> files by running
       the following command:
@@ -256,22 +204,10 @@
 <screen><userinput>find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;</userinput></screen>
 
     <para>
-      This package does not come with a test suite.
-    </para>
-
-    <para>
       Now, as the <systemitem class="username">root</systemitem> user:
     </para>
 
-<screen role="root"><userinput>make install &&
-install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
-                  /usr/share/pixmaps/assistant-qt5.png &&
-install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
-                  /usr/share/pixmaps/designer-qt5.png &&
-install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
-                  /usr/share/pixmaps/linguist-qt5.png &&
-install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
-                  /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
+<screen role="root"><userinput>make install</userinput></screen>
 
     <para>
       Remove references to the build directory from installed files by
@@ -279,39 +215,24 @@
       <systemitem class="username">root</systemitem> user:
     </para>
 
-<screen role="root"><userinput>sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
-    /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri &&
-find /usr/lib/lib{qgsttools_p,Qt5*}.prl -exec sed -i -e \
-     '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
+<screen role="root"><userinput>
+sed -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
+    -i /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri &&
 
-    <para>
-      <!-- If you didn't modify the -bindir switch above, -->Symlink the
-      <application>Qt5</application> executables into
-      <filename class="directory">/usr/bin</filename> by running the
-      following commands as the
-      <systemitem class="username">root</systemitem> user:
-    </para>
+find /usr/lib/lib{qgsttools_p,Qt5*}.prl -exec sed -i -r \
+     '/^QMAKE_PRL_BUILD_DIR/d;s/(QMAKE_PRL_LIBS =).*/\1/' {} \;</userinput></screen>
 
-<screen role="root"><userinput>for file in /usr/lib/qt5/bin/*
-do
-  ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
-done</userinput></screen>
+<!-- ==== Method 2 ====== -->
 
   <bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt5-version;</bridgehead>
 
-    <para>
-      This section provides an alternate way to install <application>Qt5</application>
-      by installing  almost all of the files in the <filename
-      class="directory">/opt</filename> directory. This allows management of all
-      <application>Qt5</application> related files in one unit. For instance, a new
-      version of <application>Qt5</application> can be installed without over-writing 
-      the existing installation and entire <application>Qt5</application> instances can
-      be easily removed. However, it has the disadvantage of needing some extra
-      configuration and you need to switch manually between <application>Qt4</application>
-      and <application>Qt5</application> executables when needed.
-    </para>
+  <para>
+        This section provides for installing Qt4 almost all of the files in the
+        <filename class="directory">/opt</filename> directory.
+   </para>
 
-<screen><userinput>export QT5DIR=/opt/qt-&qt5-version;
+<screen><userinput>export QT5DIR=/opt/qt-&qt5-version; &&
+export QTLINK=/opt/qt5 &&
 
 ./configure -prefix     $QT5DIR  \
             -sysconfdir /etc/xdg \
@@ -332,16 +253,7 @@
     </para>
 
 <screen role="root"><userinput>make install &&
-
-install -v -dm755 /usr/share/pixmaps/                  &&
-install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
-                  /usr/share/pixmaps/assistant-qt5.png &&
-install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
-                  /usr/share/pixmaps/designer-qt5.png  &&
-install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
-                  /usr/share/pixmaps/linguist-qt5.png  &&
-install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
-                  /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
+ln -svfn $QT5DIR /opt/qt5</userinput></screen>
 
     <para>
       Remove references to the build directory from installed files by
@@ -355,8 +267,7 @@
 find $QT5DIR -name \*.prl \
    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
 
-<!-- This is useful for packages looking explicitly for Qt apps with -qt5 suffix,
-     and is *required* for the desktop files below to work correctly. -->
+<!-- This is useful for packages looking explicitly for Qt apps with -qt5 suffix.
 
     <para>
       Symlink the <application>Qt5</application> executables into
@@ -369,7 +280,85 @@
 
 for file in /opt/qt5/bin/*; do
   ln -sfv $file /usr/bin/$(basename $file)-qt5
-done</userinput></screen>
+done</userinput></screen> -->
+
+<!-- ==== Common  ====== -->
+    <bridgehead renderas="sect3">Continuing for Both Methods</bridgehead>
+
+    <para>
+      For all methods, install images and create the menu entries
+      for installed applications.  Be sure that the <envar>QTLINK</envar>
+      variable is defined in root's environment and
+      as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>install -v -dm755 /usr/share/pixmaps/                  &&
+
+install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
+                  /usr/share/pixmaps/assistant-qt5.png &&
+
+install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
+                  /usr/share/pixmaps/designer-qt5.png  &&
+
+install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
+                  /usr/share/pixmaps/linguist-qt5.png  &&
+
+install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
+                  /usr/share/pixmaps/qdbusviewer-qt5.png &&
+
+install -dm755 /usr/share/applications &&
+
+cat > /usr/share/applications/assistant-qt5.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt5 Assistant 
+Comment=Shows Qt5 documentation and examples
+Exec=$QTLINK/bin/assistant
+Icon=assistant-qt5.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Documentation;</literal>
+EOF
+
+cat > /usr/share/applications/designer-qt5.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt5 Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt5 applications
+Exec=$QTLINK/bin/designer
+Icon=designer-qt5.png
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;</literal>
+EOF
+
+cat > /usr/share/applications/linguist-qt5.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt5 Linguist
+Comment=Add translations to Qt5 applications
+Exec=$QTLINK/bin/linguist
+Icon=linguist-qt5.png
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;</literal>
+EOF
+
+cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF
+<literal>[Desktop Entry]
+Name=Qt5 QDbusViewer 
+GenericName=D-Bus Debugger
+Comment=Debug D-Bus applications
+Exec=$QTLINK/bin/qdbusviewer
+Icon=qdbusviewer-qt5.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Debugger;</literal>
+EOF</userinput></screen>
 
   </sect2>
 
@@ -455,58 +444,6 @@
         user:
       </para>
 
-<screen role="root"><userinput>install -dm755 /usr/share/applications
-cat > /usr/share/applications/assistant-qt5.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt5 Assistant 
-Comment=Shows Qt5 documentation and examples
-Exec=assistant-qt5
-Icon=assistant-qt5
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Documentation;</literal>
-EOF
-cat > /usr/share/applications/designer-qt5.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt5 Designer
-GenericName=Interface Designer
-Comment=Design GUIs for Qt5 applications
-Exec=designer-qt5
-Icon=designer-qt5
-MimeType=application/x-designer;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;</literal>
-EOF
-cat > /usr/share/applications/linguist-qt5.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt5 Linguist
-Comment=Add translations to Qt5 applications
-Exec=linguist-qt5
-Icon=linguist-qt5
-MimeType=text/vnd.trolltech.linguist;application/x-linguist;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;</literal>
-EOF
-cat > /usr/share/applications/qdbusviewer-qt5.desktop << "EOF"
-<literal>[Desktop Entry]
-Name=Qt5 QDbusViewer 
-GenericName=D-Bus Debugger
-Comment=Debug D-Bus applications
-Exec=qdbusviewer-qt5
-Icon=qdbusviewer-qt5
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Debugger;</literal>
-EOF</userinput></screen>
-
-<!-- No package uses this at the moment.
-
       <para>
         If you installed <application>Qt5</application> in
         <filename class="directory">/usr</filename>, create an
@@ -518,22 +455,11 @@
 <literal># Begin /etc/profile.d/qt5.sh
 
 QTDIR=/usr
-
 export QT5DIR
 
 # End /etc/profile.d/qt5.sh</literal>
 EOF</userinput></screen>
 
--->
-
-      <note>
-        <para>
-          If you have installed <application>Qt5</application> in
-          <filename class="directory">/usr</filename>, you can skip
-          rest of this section.
-        </para>
-      </note>
-
       <para>
         If you installed <application>Qt5</application> in a location other
         than <filename class="directory">/usr</filename>, you need to update the
@@ -579,19 +505,10 @@
 # End /etc/profile.d/qt5.sh</literal>
 EOF</userinput></screen>
 
-      <note>
-        <para>
-          If you also installed <application>Qt4</application> and need to use
-          the <application>Qt5</application> version of an executable such as
-          <command>qmake</command> for building a program, make sure that 
-          the <application>Qt5</application> bin directory is listed prior to
-          the <application>Qt5</application> bin directory in the
-          <envar>PATH</envar> variable.
-        </para>
-      </note>
-
     </sect3>
 
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
+               href="../../xincludes/setqt.xml"/>
   </sect2>
 
   <sect2 role="content">
@@ -604,13 +521,13 @@
 
       <seglistitem>
         <seg>
-          assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5,
-          lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5, qdbuscpp2xml-qt5,
-          qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5, qhelpconverter-qt5,
-          qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5, qmlbundle-qt5,
-          qmlimportscanner-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qml-qt5,
-          qmlscene-qt5, qmltestrunner-qt5, qmlviewer-qt5, qtpaths-qt5, rcc-qt5,
-          syncqt.pl-qt5, uic-qt5, xmlpatterns-qt5, and xmlpatternsvalidator-qt5
+          assistant, designer, lconvert, linguist, lrelease,
+          lupdate, moc, pixeltool, qcollectiongenerator, qdbuscpp2xml,
+          qdbus, qdbusviewer, qdbusxml2cpp, qdoc, qhelpconverter,
+          qhelpgenerator, qmake, qml1plugindump, qmlbundle,
+          qmlimportscanner, qmlmin, qmlplugindump, qmlprofiler, qml,
+          qmlscene, qmltestrunner, qmlviewer, qtpaths, rcc,
+          syncqt.pl, uic, xmlpatterns, and xmlpatternsvalidator
         </seg>
         <seg>
           libqgsttools_p.so, libQt5Bluetooth.so, libQt5Bootstrap.a, libQt5CLucene.so,
@@ -630,6 +547,9 @@
           /usr/lib/qt5,
           /usr/share/doc/qt5, and
           /usr/share/qt5
+          OR
+          /opy/qt5 and
+          /opt/qt-&qt5-version;
         </seg>
       </seglistitem>
     </segmentedlist>
@@ -640,19 +560,19 @@
       <?dbhtml list-presentation="table"?>
 
       <varlistentry id="assistant-qt5">
-        <term><command>assistant-qt5</command></term>
+        <term><command>assistant</command></term>
         <listitem>
           <para>
             is a tool for presenting on-line documentation.
           </para>
           <indexterm zone="qt5 assistant-qt5">
-            <primary sortas="b-assistant-qt5">assistant-qt5</primary>
+            <primary sortas="b-assistant-qt5">assistant</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="designer-qt5">
-        <term><command>designer-qt5</command></term>
+        <term><command>designer</command></term>
         <listitem>
           <para>
             is a full-fledged GUI builder. It includes
@@ -661,39 +581,39 @@
             property editor.
           </para>
           <indexterm zone="qt5 designer-qt5">
-            <primary sortas="b-designer-qt5">designer-qt5</primary>
+            <primary sortas="b-designer-qt5">designer</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="linguist-qt5">
-        <term><command>linguist-qt5</command></term>
+        <term><command>linguist</command></term>
         <listitem>
           <para>
             provides support for translating applications into
             local languages.
           </para>
           <indexterm zone="qt5 linguist-qt5">
-            <primary sortas="b-linguist-qt5">linguist-qt5</primary>
+            <primary sortas="b-linguist-qt5">linguist</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="lrelease-qt5">
-        <term><command>lrelease-qt5</command></term>
+        <term><command>lrelease</command></term>
         <listitem>
           <para>
             is a simple command line tool. It reads a Qt project
             file and produces message files used by the application.
           </para>
           <indexterm zone="qt5 lrelease-qt5">
-            <primary sortas="b-lrelease-qt5">lrelease-qt5</primary>
+            <primary sortas="b-lrelease-qt5">lrelease</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="lupdate-qt5">
-        <term><command>lupdate-qt5</command></term>
+        <term><command>lupdate</command></term>
         <listitem>
           <para>
             reads a Qt project file, finds the translatable
@@ -702,38 +622,38 @@
             files listed in the project file.
           </para>
           <indexterm zone="qt5 lupdate-qt5">
-            <primary sortas="b-lupdate-qt5">lupdate-qt5</primary>
+            <primary sortas="b-lupdate-qt5">lupdate</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="moc-qt5">
-        <term><command>moc-qt5</command></term>
+        <term><command>moc</command></term>
         <listitem>
           <para>
             generates Qt meta object support code.
           </para>
           <indexterm zone="qt5 moc-qt5">
-            <primary sortas="b-moc-qt5">moc-qt5</primary>
+            <primary sortas="b-moc-qt5">moc</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="pixeltool-qt5">
-        <term><command>pixeltool-qt5</command></term>
+        <term><command>pixeltool</command></term>
         <listitem>
           <para>
             is a desktop magnifier and as you move your mouse around
             the screen it will show the magnified contents in its window.
           </para>
           <indexterm zone="qt5 pixeltool-qt5">
-            <primary sortas="b-pixeltool-qt5">pixeltool-qt5</primary>
+            <primary sortas="b-pixeltool-qt5">pixeltool</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="qmake-qt5">
-        <term><command>qmake-qt5</command></term>
+        <term><command>qmake</command></term>
         <listitem>
           <para>
             uses information stored in project files to
@@ -741,31 +661,31 @@
             generates.
           </para>
           <indexterm zone="qt5 qmake-qt5">
-            <primary sortas="b-qmake-qt5">qmake-qt5</primary>
+            <primary sortas="b-qmake-qt5">qmake</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="rcc-qt5">
-        <term><command>rcc-qt5</command></term>
+        <term><command>rcc</command></term>
         <listitem>
           <para>
             is a resource compiler used in conjunction with designer.
           </para>
           <indexterm zone="qt5 rcc-qt5">
-            <primary sortas="b-rcc-qt5">rcc-qt5</primary>
+            <primary sortas="b-rcc-qt5">rcc</primary>
           </indexterm>
         </listitem>
       </varlistentry>
 
       <varlistentry id="uic-qt5">
-        <term><command>uic-qt5</command></term>
+        <term><command>uic</command></term>
         <listitem>
           <para>
             is a Qt user interface compiler.
           </para>
           <indexterm zone="qt5 uic-qt5">
-            <primary sortas="b-uic-qt5">uic-qt5</primary>
+            <primary sortas="b-uic-qt5">uic</primary>
           </indexterm>
         </listitem>
       </varlistentry>

Added: trunk/BOOK/xincludes/qt-alternatives.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/BOOK/xincludes/qt-alternatives.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [    
+   <!ENTITY % general-entities SYSTEM "../general.ent">
+   %general-entities;
+]>
+
+<!-- $LastChangedBy: $
+     $Date: $ -->
+
+<sect2>
+    <title>Qt Installation Alternatives</title>
+
+    <para>The installation of <application>Qt</application> presents 
+    several challenges and choices. Complicating the Qt installation is the fact
+    that there are two versions,  <application>Qt4</application> and 
+    <application>Qt5</application>, that have executable programs with
+    identical names.  If both packages are installed on one system,
+    the only methods to manage which set of programs is used is to
+    either control the users' <envar>PATH</envar> or to rename files
+    either directly or via symbolic links.  Both packages cannot
+    be installed in the same directory.
+    </para>
+
+    <para>If you are only going to install one of the Qt versions, 
+    the choice of installation methods is easier.  You can either 
+    install the components in the several directories of the <filename
+    class='directory'>/usr</filename> hierarchy or install the 
+    entire package in a separate directory of your choice.  We
+    refer to these options below as "Method 1: Installing in /usr" 
+    and "Method 2: Installing in /opt".</para>
+
+    <para>If both versions of Qt are to be installed, one or both versions need
+    to be installed in a separate directory.  For the purposes here we use the
+    <filename class='directory'>/opt</filename> directory.  The selection of
+    which version is being used by individual users on a system is controlled
+    by the <envar>PATH</envar> variable.  Other systems can be designed, but
+    the BLFS editors find the <envar>PATH</envar> method easiest.</para>
+
+    <para> The advantage of installing in <filename
+    class='directory'>/usr</filename> is that no updates to the
+    <filename>/etc/ld.so.conf</filename> or
+    <filename>/etc/man_db.conf</filename> files are required. The package files
+    are distributed within several subdirectories of the <filename
+    class='directory'>/usr</filename> hierarchy.  This is the method that most
+    commercial distributions use.  The disadvantage for BLFS users is that this
+    Qt instance cannot be upgraded while it is in use.  For instance, it cannot
+    be upgraded from a running KDE environment.  It also precludes having
+    multiple versions of Qt on your system and does not allow reverting to 
+    an existing, known working instance of Qt.</para>
+
+    <para> The advantage of installing <application>Qt</application> in a
+    custom directory such as 
+    <filename class='directory'>/opt/qt-&qt4-version;</filename> or 
+    <filename class='directory'>/opt/qt-&qt5-version;</filename> or 
+    is that it keeps all the
+    package files consolidated in a dedicated directory hierarchy. By using
+    this method, an update can be made without overwriting a previous
+    installation and users can easily revert to a previous version by changing
+    one symbolic link or merely changing the PATH variable.  It also allows a
+    developer to maintain multiple versions of <application>Qt4</application>
+    or <application>Qt5</application> for testing.  </para>
+
+</sect2>

Added: trunk/BOOK/xincludes/setqt.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/BOOK/xincludes/setqt.xml	Tue Feb 25 11:00:30 2014	(r12783)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [    
+   <!ENTITY % general-entities SYSTEM "../general.ent">
+   %general-entities;
+]>
+
+<!-- $LastChangedBy: $
+     $Date: $ -->
+
+<sect3>
+    <title>Choosing Qt Program Versions</title>
+
+    <para>If you install both Qt4 and Qt5, you can use some simple
+    scripts to select the currently active set of Qt programs.  As the 
+    <systemitem class="username">root</systemitem> user, create
+    the following scripts:</para>
+
+<screen role="root"><userinput>cat > /usr/bin/setqt4 << 'EOF'
+<literal>if [ "x$QT5DIR" != "x/usr" ]; then pathremove  $QT5DIR/bin; fi
+if [ "x$QTDIR"  != "x/usr" ]; then pathprepend $QTDIR/bin;  fi
+echo $PATH</literal>
+EOF</userinput></screen>
+
+<screen role="root"><userinput>cat > /usr/bin/setqt5 << 'EOF'
+<literal>if [ "x$QTDIR"  != "x/usr" ]; then pathremove  $QTDIR/bin;  fi
+if [ "x$QT5DIR" != "x/usr" ]; then pathprepend $QT5DIR/bin; fi
+echo $PATH</literal>
+EOF</userinput></screen>
+
+    <para>You should now be able to use the appropriate Qt version by running
+    <command>source setqt4</command> or <command>source setqt4</command> as
+    desired. (Setting the PATH wont work in a subshell.) Another technique that
+    can be used is to create appropriate alias additions to your ~/.bashrc like
+    <command>alias setqt4='source setqt4'</command>.</para>
+
+</sect3>



More information about the blfs-book mailing list