[blfs-book] r11795 - in trunk: BOOK BOOK/general/genutils BOOK/general/sysutils BOOK/x/lib bootscripts bootscripts/blfs/init.d

bdubbs at higgs.linuxfromscratch.org bdubbs at higgs.linuxfromscratch.org
Sat Sep 7 21:56:57 PDT 2013


Author: bdubbs
Date: Sat Sep  7 21:56:57 2013
New Revision: 11795

Log:
Tag Qt4, Qt5, and qtchooser and add additional explanations.
Tag autofs and update it's boot script.

Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/general/genutils/qtchooser.xml
   trunk/BOOK/general/sysutils/autofs.xml
   trunk/BOOK/x/lib/qt4.xml
   trunk/BOOK/x/lib/qt5.xml
   trunk/bootscripts/ChangeLog
   trunk/bootscripts/blfs/init.d/autofs

Modified: trunk/BOOK/general.ent
==============================================================================
--- trunk/BOOK/general.ent	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/BOOK/general.ent	Sat Sep  7 21:56:57 2013	(r11795)
@@ -67,7 +67,7 @@
 <!ENTITY lfs-vim-version              "7.4">
 <!-- End LFS versions -->
 
-<!ENTITY blfs-bootscripts-version     "20130725">
+<!ENTITY blfs-bootscripts-version     "20130908">
 <!ENTITY blfs-bootscripts-download    "&downloads-root;/blfs-bootscripts-&blfs-bootscripts-version;.tar.bz2">
 
 <!ENTITY blfs-wiki                    "http://wiki.&lfs-domainname;/blfs/wiki">

Modified: trunk/BOOK/general/genutils/qtchooser.xml
==============================================================================
--- trunk/BOOK/general/genutils/qtchooser.xml	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/BOOK/general/genutils/qtchooser.xml	Sat Sep  7 21:56:57 2013	(r11795)
@@ -33,10 +33,11 @@
 
     <para>
       The <application>qtchooser</application> package contains a wrapper used to select
-      between <application>Qt</application> binary versions.
+      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>
 
-    &lfs73_checked;
+    &lfs74_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">

Modified: trunk/BOOK/general/sysutils/autofs.xml
==============================================================================
--- trunk/BOOK/general/sysutils/autofs.xml	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/BOOK/general/sysutils/autofs.xml	Sat Sep  7 21:56:57 2013	(r11795)
@@ -39,7 +39,7 @@
     other removable storage devices without requiring the system
     administrator to mount the devices.</para>
 
-    &lfs73_checked;
+    &lfs74_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">

Modified: trunk/BOOK/x/lib/qt4.xml
==============================================================================
--- trunk/BOOK/x/lib/qt4.xml	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/BOOK/x/lib/qt4.xml	Sat Sep  7 21:56:57 2013	(r11795)
@@ -105,8 +105,9 @@
       <xref linkend="mysql"/>,
       <xref linkend="postgresql"/>,
       <xref linkend="pulseaudio"/>,
-      <xref linkend="qtchooser"/> (if also installing Qt5), and
-      <xref linkend="unixodbc"/>
+      <xref linkend="unixodbc"/>, and
+      <xref linkend="qtchooser"/> (runtime, if also installing Qt5 and 
+      installing in /usr)
     </para>
 
     <para condition="html" role="usernotes">User Notes:
@@ -118,7 +119,6 @@
     <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
@@ -149,6 +149,16 @@
        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
@@ -158,26 +168,27 @@
        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> for testing.
+       <application>Qt4</application> or <application>Qt5</application>
+       for testing.
     </para>
 
-    <warning>
+    <caution>
       <para>
         If you did not install some of the recommended dependencies, examine
         <command>./configure --help</command> output to check how to disable
         them or use internal versions bundled in the source tarball.
       </para>
-    </warning>
+    </caution>
 
-    <caution>
+    <warning>
       <para>
-        If <application>Qt</application> is being reinstalled into the
+        If <application>Qt4</application> is being reinstalled into the
         same directory as an existing instance, run the
-        following commands from a console or non-Qt based window manager.
-        It overwrites <application>Qt</application> libraries that should
+        following commands from a console or non-Qt4 based window manager.
+        It overwrites <application>Qt4</application> libraries that should
         not be in use during the install process.
       </para>
-    </caution>
+    </warning>
 
     <note>
       <para>
@@ -191,10 +202,16 @@
     <bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
 
     <para>
-      Install <application>Qt</application> by running the
+      Install <application>Qt4</application> 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>sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
      config.tests/unix/libmng/libmng.cpp &&
 
@@ -263,7 +280,8 @@
 unset file</userinput></screen>
 
     <para>
-      Symlink the <application>Qt</application> executables into
+      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:
@@ -277,6 +295,16 @@
     <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.
+    </para>
+ 
+
+    <para>
       Install <application>Qt</application> in  /opt/qt-&qt4-version; 
       by running the following commands:
     </para>
@@ -444,7 +472,7 @@
    </para>
    
 <screen role="root"><userinput>cat >> /etc/ld.so.conf << EOF
-   <literal># Begin Qt addition
+<literal># Begin Qt addition
    
 /opt/qt/lib
    
@@ -453,7 +481,7 @@
 
 ldconfig</userinput></screen>
    
-   <indexterm zone="qt4 qtconfig-qt4">
+   <indexterm zone="qt4 qt4-config">
       <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
    </indexterm>
    
@@ -463,7 +491,7 @@
    </para>
    
 <screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
-   <literal># Begin /etc/profile.d/qt.sh
+<literal># Begin /etc/profile.d/qt.sh
    
 QTDIR=/opt/qt
    
@@ -476,7 +504,7 @@
 EOF</userinput></screen>
 
       <para>
-        For all methods, Create the menu entries for installed applications.
+        For all methods, create the menu entries for installed applications.
         As the <systemitem class="username">root</systemitem> user:
       </para>
 

Modified: trunk/BOOK/x/lib/qt5.xml
==============================================================================
--- trunk/BOOK/x/lib/qt5.xml	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/BOOK/x/lib/qt5.xml	Sat Sep  7 21:56:57 2013	(r11795)
@@ -41,7 +41,7 @@
       of <application>Qt</application> is <application>KDE</application>.
     </para>
 
-    &lfs73_checked;
+    &lfs74_checked;
 
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">
@@ -83,7 +83,6 @@
     <para role="required">
       <xref linkend="alsa-lib"/>,
       <xref linkend="mesalib"/>,
-      <xref linkend="qtchooser"/>,
       <xref linkend="xcb-util-image"/>,
       <xref linkend="xcb-util-keysyms"/>,
       <xref linkend="xcb-util-renderutil"/>, and
@@ -114,8 +113,10 @@
       <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
       <xref linkend="mysql"/>,
       <xref linkend="postgresql"/>,
-      <xref linkend="pulseaudio"/>, and
-      <xref linkend="unixodbc"/>
+      <xref linkend="pulseaudio"/>, 
+      <xref linkend="unixodbc"/>, and
+      <xref linkend="qtchooser"/> (runtime, if also installing Qt4 and
+      installing in /usr)
     </para>
 
     <para condition="html" role="usernotes">User Notes:
@@ -126,34 +127,104 @@
   <sect2 role="installation">
     <title>Installation of Qt</title>
 
-   <warning>
+    <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. 
+    </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
         <command>./configure --help</command> output to check how to disable
         them or use internal versions bundled in the source tarball.
       </para>
+    </caution>
+
+    <warning>
+      <para>
+        If <application>Qt5</application> is being reinstalled into the
+        same directory as an existing instance, run the
+        following commands from a console or non-Qt5 based window manager.
+        It overwrites <application>Qt5</application> libraries that should
+        not be in use during the install process.
+      </para>
     </warning>
+  
+    <bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
 
     <para>
-      Install <application>Qt</application> by running the
+      Install <application>Qt5</application> by running the
       following commands:
     </para>
 
+    <note><para>
+      If <emphasis>not</emphasis> also installing <application>Qt4</application>
+      into the /usr directory, change the entry for -bindir below to /usr/bin.
+    </para></note>
+
 <screen><userinput>sed -i "s:Context\* context}:&\n%lex-param {YYLEX_PARAM}:" \
      qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y &&
 
 sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
      qtimageformats/config.tests/libmng/libmng.cpp &&
 
-./configure -prefix /usr                \
-            -sysconfdir /etc/xdg        \
-            -bindir /usr/lib/qt5/bin    \
-            -headerdir /usr/include/qt5 \
-            -archdatadir /usr/lib/qt5   \
-            -datadir /usr/share/qt5     \
-            -docdir /usr/share/doc/qt5  \
+./configure -prefix         /usr               \
+            -sysconfdir     /etc/xdg           \
+            -bindir         /usr/lib/qt5/bin   \
+            -headerdir      /usr/include/qt5   \
+            -archdatadir    /usr/lib/qt5       \
+            -datadir        /usr/share/qt5     \
+            -docdir         /usr/share/doc/qt5 \
             -translationdir /usr/share/qt5/translations \
-            -examplesdir /usr/share/doc/qt5/examples    \
+            -examplesdir    /usr/share/doc/qt5/examples \
             -confirm-license   \
             -opensource        \
             -dbus-linked       \
@@ -203,7 +274,8 @@
      '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
 
     <para>
-      Symlink the <application>Qt</application> executables into
+      If also installing Qt4 into /usr,
+      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:
@@ -214,13 +286,10 @@
   ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
 done</userinput></screen>
 
-  </sect2>
-
-  <sect2 role="installation">
-    <title>Alternate Qt Installation Instructions</title>
+  <bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt5-version;</bridgehead>
 
     <para>
-      This section provides an alternate way to install Qt by installing 
+      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 Qt related files in one unit.
       For instance, a new version of Qt5 can be installed without over-writing 
@@ -371,10 +440,69 @@
       <title>Configuration Information</title>
 
       <para>
-        Create the menu entries for installed applications.
+        If you installed <application>Qt</application> in /usr,
+        create an environment variable needed by certain packages.
         As the <systemitem class="username">root</systemitem> user:
       </para>
 
+<screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
+<literal># Begin /etc/profile.d/qt.sh
+
+QTDIR=/usr
+
+export QT5DIR
+
+# End /etc/profile.d/qt.sh</literal>
+EOF</userinput></screen>
+
+   <para>
+      If you installed <application>Qt5</application> in a location other
+      than /usr, you need to update the following configuration files so
+      that <application>Qt5</application> is correctly found by other packages
+      and system processes.</para>
+
+      <para>As the <systemitem class="username">root</systemitem> user, update
+      the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
+      run-time cache file:
+   </para>
+
+<screen role="root"><userinput>cat >> /etc/ld.so.conf << EOF
+<literal># Begin Qt addition
+
+/opt/qt5/lib
+
+# End Qt addition</literal>
+EOF
+
+ldconfig</userinput></screen>
+
+   <indexterm zone="qt5 qt5-config">
+      <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
+   </indexterm>
+
+   <para>
+      As the <systemitem class="username">root</systemitem> user, create
+      the <filename>/etc/profile.d/qt.sh</filename> file:
+   </para>
+
+<screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
+<literal># Begin /etc/profile.d/qt.sh
+
+QT5DIR=/opt/qt5
+
+pathappend /opt/qt5/bin           PATH
+pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
+
+export QT5DIR
+
+# 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/assistant-qt5.desktop << "EOF"
 <literal>[Desktop Entry]
@@ -445,7 +573,7 @@
           qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
           qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
           qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
-          xmlpatterns-qt5 and xmlpatternsvalidator-qt5
+          xmlpatterns-qt5, and xmlpatternsvalidator-qt5
         </seg>
         <seg>
           libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
@@ -457,12 +585,12 @@
           libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
           libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
           libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
-          libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so
+          libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so, and libQt5Xml.so
         </seg>
         <seg>
           /usr/include/qt5,
           /usr/lib/qt5,
-          /usr/share/doc/qt5 and
+          /usr/share/doc/qt5, and
           /usr/share/qt5
         </seg>
       </seglistitem>

Modified: trunk/bootscripts/ChangeLog
==============================================================================
--- trunk/bootscripts/ChangeLog	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/bootscripts/ChangeLog	Sat Sep  7 21:56:57 2013	(r11795)
@@ -1,3 +1,6 @@
+2013-09-08 Bruce Dubbs <bdubbs at linuxfromscratch.org>
+   * Update location of autostart in autofs script
+
 2013-07-25 Igor Živković <contact at igor-zivkovic.from.hr>
    * Added restore state to alsa bootscript
 

Modified: trunk/bootscripts/blfs/init.d/autofs
==============================================================================
--- trunk/bootscripts/blfs/init.d/autofs	Sat Sep  7 19:03:18 2013	(r11794)
+++ trunk/bootscripts/blfs/init.d/autofs	Sat Sep  7 21:56:57 2013	(r11795)
@@ -26,7 +26,7 @@
 #
 # Location of the automount daemon and the init directory
 #
-DAEMON=/usr/sbin/automount
+DAEMON=/sbin/automount
 prog=`basename $DAEMON`
 MODULE="autofs4"
 DEVICE="autofs"



More information about the blfs-book mailing list