Author: bdubbs Date: Sun Mar 2 13:32:26 2014 New Revision: 10497 Log: LFS-7.5
Added: tags/7.5/ - copied from r10493, trunk/BOOK/ Replaced: tags/7.5/chapter01/changelog.xml - copied, changed from r10494, trunk/BOOK/chapter01/changelog.xml tags/7.5/chapter05/gettext.xml - copied unchanged from r10494, trunk/BOOK/chapter05/gettext.xml tags/7.5/general.ent - copied, changed from r10494, trunk/BOOK/general.ent tags/7.5/prologue/hostreqs.xml - copied unchanged from r10496, trunk/BOOK/prologue/hostreqs.xml tags/7.5/prologue/standards.xml - copied unchanged from r10494, trunk/BOOK/prologue/standards.xml Modified: tags/7.5/packages.ent Copied and modified: tags/7.5/chapter01/changelog.xml (from r10494, trunk/BOOK/chapter01/changelog.xml) ============================================================================== --- trunk/BOOK/chapter01/changelog.xml Sun Mar 2 10:29:21 2014 (r10494, copy source) +++ tags/7.5/chapter01/changelog.xml Sun Mar 2 13:32:26 2014 (r10497) @@ -39,6 +39,9 @@ <para>2014-03-02</para> <itemizedlist> <listitem> + <para>[bdubbs] - LFS-7.5 released.</para> + </listitem> + <listitem> <para>[bdubbs] - Update host system requirements to address possible host installation of inconsistent libraries.</para> </listitem> Copied: tags/7.5/chapter05/gettext.xml (from r10494, trunk/BOOK/chapter05/gettext.xml) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ tags/7.5/chapter05/gettext.xml Sun Mar 2 13:32:26 2014 (r10497, copy of r10494, trunk/BOOK/chapter05/gettext.xml) @@ -0,0 +1,103 @@ +<?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; +]> + +<sect1 id="ch-tools-gettext" role="wrap"> + <?dbhtml filename="gettext.html"?> + + <sect1info condition="script"> + <productname>gettext</productname> + <productnumber>&gettext-version;</productnumber> + <address>&gettext-url;</address> + </sect1info> + + <title>Gettext-&gettext-version;</title> + + <indexterm zone="ch-tools-gettext"> + <primary sortas="a-Gettext">Gettext</primary> + <secondary>tools</secondary> + </indexterm> + + <sect2 role="package"> + <title/> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../chapter06/gettext.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&gettext-ch5-sbu;</seg> + <seg>&gettext-ch5-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Gettext</title> + + <para>For our temporary set of tools, we only need to build and install + three programs from Gettext.</para> + + <para>Prepare Gettext for compilation:</para> + +<screen><userinput remap="configure">cd gettext-tools +EMACS="no" ./configure --prefix=/tools --disable-shared</userinput></screen> + + <variablelist> + <title>The meaning of the configure option:</title> + + <varlistentry> + <term><parameter>EMACS="no"</parameter></term> + <listitem> + <para>This prevents the configure script from determining where to + install Emacs Lisp files as the test is known to hang on some hosts. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>--disable-shared</parameter></term> + <listitem> + <para>We do not need to install any of the shared Gettext libraries at + this time, therefore there is no need to build them.</para> + </listitem> + </varlistentry> + + </variablelist> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make -C gnulib-lib +make -C src msgfmt +make -C src msgmerge +make -C src xgettext</userinput></screen> + + <para>As only three programs have been compiled, it is not possible to run the + test suite without compiling additional support libraries from the Gettext + package. It is therefore not recommended to attempt to run the test suite at + this stage.</para> + + <para>Install the <command>msgfmt</command>, <command>msgmerge</command> and + <command>xgettext</command> programs:</para> + +<screen><userinput remap="install">cp -v src/{msgfmt,msgmerge,xgettext} /tools/bin</userinput></screen> + + </sect2> + + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gettext" role="."/></para> + + </sect2> + +</sect1> Copied and modified: tags/7.5/general.ent (from r10494, trunk/BOOK/general.ent) ============================================================================== --- trunk/BOOK/general.ent Sun Mar 2 10:29:21 2014 (r10494, copy source) +++ tags/7.5/general.ent Sun Mar 2 13:32:26 2014 (r10497) @@ -1,8 +1,8 @@ -<!ENTITY version "SVN-20140302"> +<!ENTITY version "7.5"> <!ENTITY releasedate "March 2, 2014"> <!ENTITY copyrightdate "1999-2014"><!-- jhalfs needs a literal dash, not – --> <!ENTITY milestone "7.5"> -<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> +<!ENTITY generic-version "7.5"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> <!ENTITY lfs-root "http://www.linuxfromscratch.org/"> <!ENTITY blfs-root "&lfs-root;blfs/"> Modified: tags/7.5/packages.ent ============================================================================== --- trunk/BOOK/packages.ent Wed Feb 26 06:52:22 2014 (r10493) +++ tags/7.5/packages.ent Sun Mar 2 13:32:26 2014 (r10497) @@ -311,11 +311,11 @@ <!ENTITY less-ch6-sbu "less than 0.1 SBU"> <!ENTITY lfs-bootscripts-version "20130821"> <!-- Scripts depend on this format --> -<!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB"> <!-- Updated in Makefile --> +<!ENTITY lfs-bootscripts-size "34 KB"> <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2"> -<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM"> <!-- Updated in Makefile --> +<!ENTITY lfs-bootscripts-md5 "e908023fc44e613ad0c81241781289e7"> <!ENTITY lfs-bootscripts-home " "> -<!ENTITY lfs-bootscripts-ch7-du "BOOTSCRIPTS-INSTALL-KB KB"> <!-- Updated in Makefile --> +<!ENTITY lfs-bootscripts-ch7-du "260 KB"> <!ENTITY lfs-bootscripts-ch7-sbu "less than 0.1 SBU"> <!ENTITY libpipeline-version "1.2.6"> Copied: tags/7.5/prologue/hostreqs.xml (from r10496, trunk/BOOK/prologue/hostreqs.xml) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ tags/7.5/prologue/hostreqs.xml Sun Mar 2 13:32:26 2014 (r10497, copy of r10496, trunk/BOOK/prologue/hostreqs.xml) @@ -0,0 +1,209 @@ +<?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; +]> + +<sect1 id="pre-hostreqs" xreflabel="Host System Requirements"> + <?dbhtml filename="hostreqs.html"?> + + <title>Host System Requirements</title> + + <para>Your host system should have the following software with the + minimum versions indicated. This should not be an issue for most + modern Linux distributions. Also note that many distributions will + place software headers into separate packages, often in the form of + <quote><package-name>-devel</quote> or + <quote><package-name>-dev</quote>. Be sure to install those if + your distribution provides them.</para> + + <para>Earlier versions of the listed software packages may work, but has not + been tested.</para> + + <itemizedlist spacing="compact"> + + <listitem> + <para><emphasis role="strong">Bash-3.2</emphasis> (/bin/sh + should be a symbolic or hard link to bash)</para> + </listitem> + + <listitem> + <para><emphasis role="strong">Binutils-2.17</emphasis> (Versions + greater than &binutils-version; are not recommended as they have + not been tested)</para> + </listitem> + + <listitem> + <para><emphasis role="strong">Bison-2.3</emphasis> (/usr/bin/yacc + should be a link to bison or small script that executes bison)</para> + </listitem> + + <listitem> + <para><emphasis role="strong">Bzip2-1.0.4</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Coreutils-6.9</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Diffutils-2.8.1</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Findutils-4.2.31</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Gawk-4.0.1</emphasis> (/usr/bin/awk + should be a link to gawk)</para> + </listitem> + + <listitem> + <para><emphasis role="strong">GCC-4.1.2</emphasis> including the C++ + compiler, <command>g++</command> (Versions greater than &gcc-version; are + not recommended as they have not been tested)</para> + + <note><para>On some distributions, there have been reports that some + libraries used by gcc can be in an inconsistent state and that this + interferes with building some LFS packages. To check this, look in + /usr/lib and possibly /usr/lib64 for libgmp.la, libmpfr.la, and + libmpc.la. Either all three should be present or absent, but not only + one or two. If the problem exists on your system, either rename or + delete the .la files or install the appropriate missing + package.</para></note> + + </listitem> + + <listitem> + <para><emphasis role="strong">Glibc-2.5.1</emphasis> (Versions + greater than &glibc-version; are not recommended as they have + not been tested)</para> + </listitem> + + <listitem> + <para><emphasis role="strong">Grep-2.5.1a</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Gzip-1.3.12</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Linux Kernel-&min-kernel;</emphasis></para> + + <para>The reason for the kernel version requirement is that we specify + that version when building <application>glibc</application> in Chapter 6 + at the recommendation of the developers. It is also required by + udev.</para> + + <para>If the host kernel is earlier than &min-kernel; you will need to replace + the kernel with a more up to date version. There are two ways + you can go about this. First, see if your Linux vendor provides a &min-kernel; + or later kernel package. If so, you may wish to install it. If your + vendor doesn't offer an acceptable kernel package, or you would prefer not to + install it, you can compile a kernel yourself. Instructions for + compiling the kernel and configuring the boot loader (assuming the host + uses GRUB) are located in <xref linkend="chapter-bootable"/>.</para> + + </listitem> + + <listitem> + <para><emphasis role="strong">M4-1.4.10</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Make-3.81</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Patch-2.5.4</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Perl-5.8.8</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Sed-4.1.5</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Tar-1.18</emphasis></para> + </listitem> + + <listitem> + <para><emphasis role="strong">Xz-5.0.0</emphasis></para> + </listitem> + + </itemizedlist> + + <para>Note that the symlinks mentioned above are required to build an LFS + system using the instructions contained within this book. Symlinks that + point to other software (such as dash, mawk, etc.) may work, but are not + tested or supported by the LFS development team, and may require either + deviation from the instructions or additional patches to some + packages.</para> + + <!-- Use an empty sect2 element to prevent a pdf warning. --> + <sect2 id="version-check"> + <title> </title> + + <para >To see whether your host system has all the appropriate versions, and + the ability to compile programs, run the following:</para> + +<!-- ANY additional lines in the script cause a pdf rendering problem--> +<screen role="nodump"><userinput>cat > version-check.sh << "EOF" +<literal>#!/bin/bash +# Simple script to list version numbers of critical development tools + +export LC_ALL=C +bash --version | head -n1 | cut -d" " -f2-4 +echo "/bin/sh -> `readlink -f /bin/sh`" +echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- +bison --version | head -n1 +if [ -e /usr/bin/yacc ]; + then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; + else echo "yacc not found"; fi + +bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- +echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 +diff --version | head -n1 +find --version | head -n1 +gawk --version | head -n1 +if [ -e /usr/bin/awk ]; + then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; + else echo "awk not found"; fi + +gcc --version | head -n1 +g++ --version | head -n1 +ldd --version | head -n1 | cut -d" " -f2- # glibc version +grep --version | head -n1 +gzip --version | head -n1 +cat /proc/version +m4 --version | head -n1 +make --version | head -n1 +patch --version | head -n1 +echo Perl `perl -V:version` +sed --version | head -n1 +tar --version | head -n1 +xz --version | head -n1 + +echo 'main(){}' > dummy.c && g++ -o dummy dummy.c +if [ -x dummy ] + then echo "g++ compilation OK"; + else echo "g++ compilation failed"; fi +rm -f dummy.c dummy + +for lib in lib{gmp,mpfr,mpc}.la; do + echo $lib: $(if find /usr/lib* -name $lib| + grep -q $lib;then :;else echo not;fi) found +done +unset lib</literal> +EOF + +bash version-check.sh</userinput></screen> + +</sect2> +</sect1> Copied: tags/7.5/prologue/standards.xml (from r10494, trunk/BOOK/prologue/standards.xml) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ tags/7.5/prologue/standards.xml Sun Mar 2 13:32:26 2014 (r10497, copy of r10494, trunk/BOOK/prologue/standards.xml) @@ -0,0 +1,210 @@ +<?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; +]> + +<sect1 id="pre-standards"> + <?dbhtml filename="standards.html"?> + + <title>LFS and Standards</title> + + <!--<sect2> + <title/> --> + + <para>The structure of LFS follows Linux standards as closely as + possible. The primary standards are:</para> + + <itemizedlist> + <listitem> + <para><ulink url="http://pubs.opengroup.org/onlinepubs/9699919799/"> + POSIX.1-2008</ulink>.</para> + </listitem> + <listitem> + <para><ulink + url="http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs-30-draft-1"> + Filesystem Hierarchy Standard version 3.0 Draft 1 (FHS)</ulink></para> + + </listitem> + <listitem> + <para><ulink url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux + Standard Base (LSB) Specifications</ulink></para> + + <para>The LSB has five separate standards: Core, C++, Desktop, + Runtime Languages, and Printing. In addition to generic requirements + there are also architecture specific requirements. LFS attempts to + conform to the architectures discussed in the previous section.</para> + + <note><para>Many people do not agree with the requirements of the LSB. + The main purpose of defining it is to ensure that proprietary software + will be able to be installed and run properly on a compliant system. + Since LFS is source based, the user has complete control over what + packages are desired and many choose not to install some packages that + are specified by the LSB.</para></note> + + </listitem> + </itemizedlist> + + <para>Creating a complete LFS system capable of passing the LSB + certifications tests is possible, but not without many additional packages + that are beyond the scope of LFS. These additional packages have + installation instructions in BLFS. </para> + + <variablelist> + <bridgehead renderas="sect3">Packages supplied by LFS needed to + satisfy the LSB Requirements</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry> + <term><emphasis>LSB Core:</emphasis></term> + <listitem> + <para>Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, + Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed, + Shadow, Tar, Util-linux, Zlib</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB C++:</emphasis></term> + <listitem> + <para>Gcc</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Desktop:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Runtime Languages:</emphasis></term> + <listitem> + <para>Perl</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Printing:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Multimeda:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + </variablelist> + + <variablelist> + <bridgehead renderas="sect3">Packages supplied by BLFS needed to + satisfy the LSB Requirements</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry> + <term><emphasis>LSB Core:</emphasis></term> + <listitem> + <para>At, Batch (a part of At), Cpio, Ed, Fcrontab, Initd-tools, + Lsb_release, PAM, Sendmail (or Postfix or Exim) </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB C++:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Desktop:</emphasis></term> + <listitem> + <para>ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, + Glib2, GTK+2, Icon-naming-utils, Libjpeg, Libpng, Libxml2, + MesaLib, Pango, Qt4, Xorg</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Runtime Languages:</emphasis></term> + <listitem> + <para>Python</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Printing:</emphasis></term> + <listitem> + <para>CUPS</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Multimeda:</emphasis></term> + <listitem> + <para>Alsa Libraries, NSPR, NSS, OpenSSL, Java, Xdg-utils</para> + </listitem> + </varlistentry> + + </variablelist> + + <variablelist> + <bridgehead renderas="sect3">Packages not supplied by LFS or BLFS + needed to satisfy the LSB Requirements</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry> + <term><emphasis>LSB Core:</emphasis></term> + <listitem> + <para>time (executable) and pax</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB C++:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Desktop:</emphasis></term> + <listitem> + <para>Qt3</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Runtime Languages:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Printing:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis>LSB Multimeda:</emphasis></term> + <listitem> + <para>None</para> + </listitem> + </varlistentry> + + </variablelist> + +</sect1> + -- http://linuxfromscratch.org/mailman/listinfo/lfs-book FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page