[blfs-dev] [blfs-book] r11616 - trunk/BOOK/x/lib

Armin K. krejzi at email.com
Sun Aug 11 14:35:06 PDT 2013


On 11.8.2013 23:24, bdubbs at higgs.linuxfromscratch.org wrote:
> Author: bdubbs
> Date: Sun Aug 11 14:24:18 2013
> New Revision: 11616
>
> Log:
> Add alternate Qt5 build instructions
>
> Modified:
>     trunk/BOOK/x/lib/qt5.xml
>
> Modified: trunk/BOOK/x/lib/qt5.xml
> ==============================================================================
> --- trunk/BOOK/x/lib/qt5.xml	Sun Aug 11 13:14:23 2013	(r11615)
> +++ trunk/BOOK/x/lib/qt5.xml	Sun Aug 11 14:24:18 2013	(r11616)
> @@ -96,7 +96,7 @@
>         <xref linkend="qtchooser"/>,
>         <xref linkend="xcb-util-image"/>,
>         <xref linkend="xcb-util-keysyms"/>,
> -      <xref linkend="xcb-util-renderutil"/> and
> +      <xref linkend="xcb-util-renderutil"/>, and
>         <xref linkend="xcb-util-wm"/>
>       </para>
>
> @@ -112,7 +112,7 @@
>         <xref linkend="libpng"/>,
>         <xref linkend="libtiff"/>,
>         <xref linkend="openssl"/>,
> -      <xref linkend="pcre"/> and
> +      <xref linkend="pcre"/>, and
>         <xref linkend="sqlite"/>
>       </para>
>
> @@ -123,7 +123,7 @@
>         <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
>         <xref linkend="mysql"/>,
>         <xref linkend="postgresql"/>,
> -      <xref linkend="pulseaudio"/> and
> +      <xref linkend="pulseaudio"/>, and
>         <xref linkend="unixodbc"/>
>       </para>
>
> @@ -149,25 +149,26 @@
>       </para>
>
>   <screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &&
> -./configure -confirm-license \
> -            -opensource \
> -            -prefix /usr \
> -            -bindir /usr/lib/qt5/bin \
> -            -headerdir /usr/include/qt5 \
> -            -archdatadir /usr/lib/qt5 \
> -            -datadir /usr/share/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  \

Please don't do this. It's way too ugly to read. I have no problems with 
extra spaces after the parameter, but I do have a lot against spaces in 
the middle of it.

>               -translationdir /usr/share/qt5/translations \
> -            -sysconfdir /etc/xdg \
> -            -docdir /usr/share/doc/qt5 \
> -            -examplesdir /usr/share/doc/qt5/examples \
> -            -dbus-linked \
> -            -openssl-linked \
> -            -system-sqlite \
> +            -examplesdir    /usr/share/doc/qt5/examples \
> +            -confirm-license   \
> +            -opensource        \
> +            -dbus-linked       \
> +            -openssl-linked    \
> +            -system-sqlite     \
>               -plugin-sql-sqlite \
> -            -no-nis \
> -            -nomake examples \
> -            -opengl es2 \
> -            -optimized-qmake &&
> +            -no-nis            \
> +            -nomake examples   \
> +            -opengl es2        \
> +            -optimized-qmake   &&
>   make</userinput></screen>
>
>       <para>
> @@ -220,6 +221,86 @@
>
>     </sect2>
>
> +  <sect2 role="installation">
> +    <title>Alternate Qt Installation Instructions</title>
> +
> +    <para>This section provides an alternate way to install Qt 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
> +    the existing installation and entire Qt5 instances can be easily removed.
> +    However, it has the disadvantage of needing some extra configuration.</para>
> +
> +<screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &&
> +
> +QT5DIR=/opt/qt-&qt5-version;
> +
> +./configure -prefix     $QT5DIR  \
> +            -sysconfdir /etc/xdg \
> +            -confirm-license     \
> +            -opensource          \
> +            -dbus-linked         \
> +            -openssl-linked      \
> +            -system-sqlite       \
> +            -plugin-sql-sqlite   \
> +            -no-nis              \
> +            -nomake examples     \
> +            -opengl es2          \
> +            -optimized-qmake     &&
> +make</userinput></screen>
> +
> +    <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>
> +
> +    <para>
> +      Remove references to the build directory from installed files by
> +      running the following commands as the
> +      <systemitem class="username">root</systemitem> user:
> +    </para>
> +
> +<screen role="root"><userinput>find $QT5DIR -name qt_lib_bootstrap.pri \
> +   -exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; &&
> +
> +find $QT5DIR -name \*.prl \
> +   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
> +
> +    <para>
> +      Symlink the <application>Qt</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>ln -svf $QT5DIR /opt/qt5  &&
> +
> +for file in /opt/qt5/bin/*; do
> +  ln -sfv $file /usr/bin/$(basename $file)-qt5
> +done</userinput></screen>
> +

I still have no idea why you added these instructions when you still 
symlink the binaries into /usr/bin. I find it pointless. Since yet 
nothing uses Qt5 (no desktop and such), it can be easily overwriten 
without any problems in /usr.

Also, qtchooser won't work for this one.

> +    <para>At this point is is useful to add some configuration items as
> +    the <systemitem class="username">root</systemitem> user:</para>
> +
> +<screen role="root"><userinput>echo /opt/qt5 >> /etc/ld.so.conf &&
> +ldconfig                         &&
> +
> +cat >> /etc/profile.d/qt5.sh << "EOF"
> +pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
> +EOF</userinput></screen>
> +
> +  </sect2>
> +
>     <sect2 role="commands">
>       <title>Command Explanations</title>
>
>




More information about the blfs-dev mailing list