aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml9
-rw-r--r--chapter02/creatingfilesystem.xml8
-rw-r--r--chapter02/mounting.xml9
-rw-r--r--chapter03/patches.xml32
-rw-r--r--chapter06/db.xml4
-rw-r--r--chapter06/e2fsprogs.xml7
-rw-r--r--chapter06/glibc.xml16
-rw-r--r--chapter06/grub.xml4
-rw-r--r--chapter06/kernfs.xml2
-rw-r--r--chapter06/linux-libc-headers.xml5
-rw-r--r--chapter06/udev.xml3
-rw-r--r--chapter06/vim.xml22
-rw-r--r--chapter07/network.xml54
-rw-r--r--chapter07/symlinks.xml35
-rw-r--r--chapter08/fstab.xml13
-rw-r--r--chapter08/kernel.xml5
-rw-r--r--general.ent4
-rw-r--r--patches.ent19
-rw-r--r--stylesheets/pdf/lfs-mixed.xsl54
-rw-r--r--stylesheets/pdf/lfs-pagesetup.xsl5
20 files changed, 265 insertions, 45 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index faf07daa1..d988d1749 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -37,6 +37,15 @@
-->
<listitem>
+ <para>2006-08-03</para>
+ <itemizedlist>
+ <listitem>
+ <para>[manuel] - Ported updates from 6.2 branch.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
<para>2006-07-31</para>
<itemizedlist>
<listitem>
diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml
index b960019f6..7dbfb49ff 100644
--- a/chapter02/creatingfilesystem.xml
+++ b/chapter02/creatingfilesystem.xml
@@ -41,9 +41,11 @@
<screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable>&lt;xxx&gt;</replaceable></userinput></screen>
- <para>If the output contains features other than: <option>dir_index</option>;
- <option>filetype</option>; <option>large_file</option>;
- <option>resize_inode</option> or <option>sparse_super</option> then your host
+ <para>If the output contains features other than
+ <option>has_joural</option>, <option>dir_index</option>,
+ <option>filetype</option>, <option>large_file</option>,
+ <option>resize_inode</option>, <option>sparse_super</option> or
+ <option>needs_recovery</option>, then your host
system may have custom enhancements. In that case, to avoid later problems,
you should compile the stock E2fsprogs package and use the resulting binaries
to re-create the filesystem on your LFS partition:</para>
diff --git a/chapter02/mounting.xml b/chapter02/mounting.xml
index 3572e1861..4a26ae930 100644
--- a/chapter02/mounting.xml
+++ b/chapter02/mounting.xml
@@ -52,6 +52,15 @@ mount -v -t ext3 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/usr</userinput
<option>noatime</option> are set, the partition will need to be
remounted.</para>
+ <para>If you are using a <systemitem
+ class="filesystem">swap</systemitem> partition, ensure that it is enabled
+ using the <command>swapon</command> command:</para>
+
+<screen role="nodump"><userinput>/sbin/swapon -v /dev/<replaceable>&lt;zzz&gt;</replaceable></userinput></screen>
+
+ <para>Replace <replaceable>&lt;zzz&gt;</replaceable> with the name of the
+ <systemitem class="filesystem">swap</systemitem> partition.</para>
+
<para>Now that there is an established place to work, it is time to
download the packages.</para>
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index bdd6dc8a7..c1e5227db 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -67,6 +67,14 @@
</varlistentry>
<varlistentry>
+ <term>Database (Berkeley) Upstream Fixes Patch - <token>&db-fixes-patch-size;</token>:</term>
+ <listitem>
+ <para>Download: <ulink url="&patches-root;&db-fixes-patch;"/></para>
+ <para>MD5 sum: <literal>&db-fixes-patch-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>Diffutils Internationalization Fixes Patch - <token>&diffutils-i18n-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&diffutils-i18n-patch;"/></para>
@@ -107,6 +115,14 @@
</varlistentry>
<varlistentry>
+ <term>Glibc Inotify Syscall Functions Patch - <token>&glibc-inotify-patch-size;</token>:</term>
+ <listitem>
+ <para>Download: <ulink url="&patches-root;&glibc-inotify-patch;"/></para>
+ <para>MD5 sum: <literal>&glibc-inotify-patch-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>Grep RedHat Fixes Patch - <token>&grep-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&grep-fixes-patch;"/></para>
@@ -179,6 +195,14 @@
</varlistentry>
<varlistentry>
+ <term>Linux Libc Headers Inotify Patch - <token>&linux-inotify-patch-size;</token>:</term>
+ <listitem>
+ <para>Download: <ulink url="&patches-root;&linux-inotify-patch;"/></para>
+ <para>MD5 sum: <literal>&linux-inotify-patch-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>Mktemp Tempfile Patch - <token>&mktemp-tempfile-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&mktemp-tempfile-patch;"/></para>
@@ -299,6 +323,14 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>Vim Spellfile Patch - <token>&vim-spellfile-patch-size;</token>:</term>
+ <listitem>
+ <para>Download: <ulink url="&patches-root;&vim-spellfile-patch;"/></para>
+ <para>MD5 sum: <literal>&vim-spellfile-patch-md5;</literal></para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
<para>Total size of these patches: about <returnvalue/></para>
diff --git a/chapter06/db.xml b/chapter06/db.xml
index 367f85e65..e0a0cbfc1 100644
--- a/chapter06/db.xml
+++ b/chapter06/db.xml
@@ -55,6 +55,10 @@
<sect2 role="installation">
<title>Installation of Berkeley DB</title>
+ <para>Patch the package to eliminate potential trap events:</para>
+
+<screen><userinput>patch -Np1 -i ../&db-fixes-patch;</userinput></screen>
+
<para>Prepare Berkeley DB for compilation:</para>
<screen><userinput>cd build_unix &amp;&amp;
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index 7d27eefb5..ed8beb67e 100644
--- a/chapter06/e2fsprogs.xml
+++ b/chapter06/e2fsprogs.xml
@@ -94,6 +94,13 @@ cd build</userinput></screen>
<para>To test the results, issue:
<userinput>make check</userinput>.</para>
+ <para>One of the E2fsprogs tests will attempt to allocate 256 MB
+ of memory. If you do not have significantly more RAM than this, it
+ is recommended to enable sufficient swap space for the test. See
+ <xref linkend="space-creatingfilesystem"/> and
+ <xref linkend="space-mounting"/> for details on creating and enabling
+ swap space.</para>
+
<para>Install the binaries and documentation:</para>
<screen><userinput>make install</userinput></screen>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index eb6d8d080..0e010f9fd 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -57,8 +57,8 @@
<para>The glibc-libidn tarball adds support for internationalized domain
names (IDN) to Glibc. Many programs that support IDN require the full
- <filename class="libraryfile">libidn</filename> library (see
- <ulink url="&blfs-root;view/svn/general/libidn.html"/>), not this add-on.
+ <filename class="libraryfile">libidn</filename> library, not this add-on (see
+ <ulink url="&blfs-root;view/svn/general/libidn.html"/>).
Unpack the tarball from within the Glibc source directory:</para>
<screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>
@@ -69,6 +69,11 @@
<screen><userinput>patch -Np1 -i ../&glibc-linux_types-patch;</userinput></screen>
+ <para>Add a header to define syscall functions for the inotify feature
+ available in newer Linux kernels:</para>
+
+<screen><userinput>patch -Np1 -i ../&glibc-inotify-patch;</userinput></screen>
+
<para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop
at startup. It is unknown whether this is a <command>bash</command> bug or a
Glibc problem. Disable installation of this locale in order to avoid the
@@ -167,9 +172,14 @@ grep Error glibc-check-log</userinput></screen>
<screen><userinput>make install</userinput></screen>
+ <para>Install the inotify header to the system header location:</para>
+
+<screen><userinput>cp -v ../glibc-&glibc-version;/sysdeps/unix/sysv/linux/inotify.h \
+ /usr/include/sys</userinput></screen>
+
<para>The locales that can make the system respond in a different language
were not installed by the above command. None of the locales are required,
- but, if some of them are misssing, testuites of the future packages would
+ but if some of them are missing, testsuites of the future packages would
skip important testcases.</para>
<para>Individual locales can be installed using the
diff --git a/chapter06/grub.xml b/chapter06/grub.xml
index 8570a6ac2..2750c5442 100644
--- a/chapter06/grub.xml
+++ b/chapter06/grub.xml
@@ -42,8 +42,8 @@
unset them when building GRUB.</para>
<para>Start by applying the following patch to allow for better drive
- detection, fix some <application>GCC 4.x</application> issues, and provide
- better SATA support for some disk controllers:</para>
+ detection, fix some GCC 4.x issues, and provide better SATA support
+ for some disk controllers:</para>
<screen><userinput>patch -Np1 -i ../&grub-geometry-patch;</userinput></screen>
diff --git a/chapter06/kernfs.xml b/chapter06/kernfs.xml
index 034d60422..1570de4be 100644
--- a/chapter06/kernfs.xml
+++ b/chapter06/kernfs.xml
@@ -62,7 +62,7 @@ mknod -m 666 $LFS/dev/null c 1 3</userinput></screen>
<screen><userinput>mount --bind /dev $LFS/dev</userinput></screen>
</sect2>
-
+
<sect2 id="ch-system-kernfsmount">
<title>Mounting Virtual Kernel File Systems</title>
diff --git a/chapter06/linux-libc-headers.xml b/chapter06/linux-libc-headers.xml
index 9496c0b99..e1fed38f6 100644
--- a/chapter06/linux-libc-headers.xml
+++ b/chapter06/linux-libc-headers.xml
@@ -43,6 +43,11 @@
which was designed to maintain an API stable version of the Linux
headers.</para>
+ <para>Add a userspace header and syscall support for the inotify feature
+ available in newer Linux kernels:</para>
+
+<screen><userinput>patch -Np1 -i ../&linux-inotify-patch;</userinput></screen>
+
<para>Install the header files:</para>
<screen><userinput>install -dv /usr/include/asm
diff --git a/chapter06/udev.xml b/chapter06/udev.xml
index 516133d31..f73da536d 100644
--- a/chapter06/udev.xml
+++ b/chapter06/udev.xml
@@ -73,6 +73,9 @@ ln -sv /proc/kcore /lib/udev/devices/core</userinput></screen>
<para>To test the results, issue:
<userinput>make test</userinput>.</para>
+ <para>Note that the Udev testsuite will produce numerous messages in
+ the host system's logs. These are harmless and can be ignored.</para>
+
<para>Install the package:</para>
<screen><userinput>make DESTDIR=/ \
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index 4d67ad037..c8b613b6a 100644
--- a/chapter06/vim.xml
+++ b/chapter06/vim.xml
@@ -59,6 +59,12 @@
<screen><userinput>patch -Np1 -i ../&vim-mandir-patch;</userinput></screen>
+ <para>There is an issue introduced by one of the upstream patches that
+ creates a problem downloading spellfiles via HTTP. Until this is updated
+ by the developers, the following patch fixes the problem:</para>
+
+<screen><userinput>patch -Np1 -i ../&vim-spellfile-patch;</userinput></screen>
+
<para>Finally, change the default location of the
<filename>vimrc</filename> configuration file to <filename
class="directory">/etc</filename>:</para>
@@ -188,8 +194,20 @@ EOF</userinput></screen>
<note>
<para>By default, Vim only installs spell files for the English language.
- To install spell files for your preferred language, please read the README
- file located here: <ulink url="ftp://ftp.vim.org/pub/vim/runtime/spell/" /></para>
+ To install spell files for your preferred language, download the
+ <filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
+ files for your language and character encoding from <ulink
+ url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and and save them to
+ <filename class='directory'>/usr/share/vim/vim70/spell/</filename>.</para>
+
+ <para>To use these spell files, some configuration in
+ <filename>/etc/vimrc</filename> is needed, e.g.:</para>
+
+<screen><literal>set spelllang=en,ru
+set spell</literal></screen>
+
+ <para>For more information, see the appropriate README file located
+ at the the URL above.</para>
</note>
</sect2>
diff --git a/chapter07/network.xml b/chapter07/network.xml
index 884aeb94f..62f6f2c22 100644
--- a/chapter07/network.xml
+++ b/chapter07/network.xml
@@ -48,26 +48,31 @@
invent a descriptive name, such as <quote>realtek</quote>, and create
Udev rules similar to the following:</para>
-<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; "EOF"
-<literal>ACTION=="add", SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="<replaceable>00:e0:4c:12:34:56</replaceable>", NAME="<replaceable>realtek</replaceable>"
-ACTION=="add", SUBSYSTEM=="net", DRIVER=="?*", SYSFS{address}=="<replaceable>00:a0:c9:78:9a:bc</replaceable>", NAME="<replaceable>intel</replaceable>"</literal>
+<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
+<literal>ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:e0:4c:12:34:56</replaceable>", \
+ NAME="<replaceable>realtek</replaceable>"
+ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="<replaceable>00:a0:c9:78:9a:bc</replaceable>", \
+ NAME="<replaceable>intel</replaceable>"</literal>
EOF</userinput></screen>
- <para>The DRIVER=="?*" key prevents Udev from attempting to rename 8021Q
- VLAN interfaces (not available without the Vlan package from
- <ulink url="http://www.candelatech.com/~greear/vlan/"/>).
- This is necessary since VLANs have the same MAC address as
- the real network card.</para>
-
<!-- Yes, I know that VLANs are beyond BLFS. This is not the reason to get them
incorrect by default when every distro does this right. -->
-
+
+ <note>
+ <para>Although the examples in this book work properly, be aware
+ that Udev does not recognize the backslash for line continuation.
+ If modifying Udev rules with an editor, be sure to leave each rule
+ on one physical line.</para>
+ </note>
+
<para>If you are going to use the bus position as a key, create
Udev rules similar to the following:</para>
-<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; "EOF"
-<literal>ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0c.0</replaceable>", NAME="<replaceable>realtek</replaceable>"
-ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0d.0</replaceable>", NAME="<replaceable>intel</replaceable>"</literal>
+<screen role="nodump"><userinput>cat &gt; /etc/udev/rules.d/26-network.rules &lt;&lt; EOF
+<literal>ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0c.0</replaceable>", \
+ NAME="<replaceable>realtek</replaceable>"
+ACTION=="add", SUBSYSTEM=="net", BUS=="<replaceable>pci</replaceable>", ID=="<replaceable>0000:00:0d.0</replaceable>", \
+ NAME="<replaceable>intel</replaceable>"</literal>
EOF</userinput></screen>
<para>These rules will always rename the network cards to
@@ -79,6 +84,29 @@ EOF</userinput></screen>
of <quote>eth0</quote> in the network interface configuration files
below.</para>
+ <para>Note that the rules above don't work for every setup. For example,
+ MAC-based rules break when bridges or VLANs are used, because bridges and
+ VLANs have the same MAC address as the network card. One wants to rename
+ only the network card interface, not the bridge or VLAN interface, but the
+ example rule matches both. If you use such virtual interfaces, you have two
+ potential solutions. One is to add the DRIVER=="?*" key after
+ SUBSYSTEM=="net" in MAC-based rules which will stop matching the virtual
+ interfaces. This is known to fail with some older Ethernet cards because
+ they don't have the DRIVER variable in the uevent and thus the rule does
+ not match with such cards. Another solution is to switch to rules that use
+ the bus position as a key.</para>
+
+ <para>The second known non-working case is with wireless cards using the
+ MadWifi or HostAP drivers, because they create at least two interfaces with
+ the same MAC address and bus position. For example, the Madwifi driver
+ creates both an athX and a wifiX interface where X is a digit. To
+ differentiate these interfaces, add an appropriate KERNEL parameter such as
+ KERNEL=="ath*" after SUBSYSTEM=="net".</para>
+
+ <para>There may be other cases where the rules above don't work. Currently,
+ bugs on this topic are still being reported to Linux distributions, and no
+ solution that covers every case is available.</para>
+
</sect2>
<sect2>
diff --git a/chapter07/symlinks.xml b/chapter07/symlinks.xml
index c3e799867..5538aed27 100644
--- a/chapter07/symlinks.xml
+++ b/chapter07/symlinks.xml
@@ -32,14 +32,23 @@
location of the device on the bus. If you are going to use the first
approach, create a file similar to the following:</para>
-<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/82-cdrom.rules &lt;&lt;"EOF"
+<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
<literal>
# Custom CD-ROM symlinks
-SUBSYSTEM=="block", ENV{ID_MODEL}=="SAMSUNG_CD-ROM_SC-148F", ENV{ID_REVISION}=="PS05", SYMLINK+="cdrom"
-SUBSYSTEM=="block", ENV{ID_MODEL}=="PHILIPS_CDD5301", ENV{ID_SERIAL}=="5VO1306DM00190", SYMLINK+="cdrom1 dvd"
+SUBSYSTEM=="block", ENV{ID_MODEL}=="SAMSUNG_CD-ROM_SC-148F", \
+ ENV{ID_REVISION}=="PS05", SYMLINK+="cdrom"
+SUBSYSTEM=="block", ENV{ID_MODEL}=="PHILIPS_CDD5301", \
+ ENV{ID_SERIAL}=="5VO1306DM00190", SYMLINK+="cdrom1 dvd"
</literal>
EOF</userinput></screen>
+ <note>
+ <para>Although the examples in this book work properly, be aware
+ that Udev does not recognize the backslash for line continuation.
+ If modifying Udev rules with an editor, be sure to leave each rule
+ on one physical line.</para>
+ </note>
+
<para>This way, the symlinks will stay correct even if you move the drives
to different positions on the IDE bus, but the
<filename>/dev/cdrom</filename> symlink won't be created if you replace
@@ -49,17 +58,19 @@ EOF</userinput></screen>
<para>The SUBSYSTEM==&quot;block&quot; key is needed in order to avoid
matching SCSI generic devices. Without it, in the case with SCSI
- CD-ROMs, the symlinks will sometimes point to the correct
+ CD-ROMs, the symlinks will sometimes point to the correct
<filename>/dev/srX</filename> devices, and sometimes to
<filename>/dev/sgX</filename>, which is wrong.</para>
-
+
<para>The second approach yields:</para>
-<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/82-cdrom.rules &lt;&lt;"EOF"
+<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/82-cdrom.rules &lt;&lt; EOF
<literal>
# Custom CD-ROM symlinks
-SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", ENV{ID_PATH}=="pci-0000:00:07.1-ide-0:1", SYMLINK+="cdrom"
-SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", ENV{ID_PATH}=="pci-0000:00:07.1-ide-1:1", SYMLINK+="cdrom1 dvd"
+SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
+ ENV{ID_PATH}=="pci-0000:00:07.1-ide-0:1", SYMLINK+="cdrom"
+SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", \
+ ENV{ID_PATH}=="pci-0000:00:07.1-ide-1:1", SYMLINK+="cdrom1 dvd"
</literal>
EOF</userinput></screen>
@@ -105,11 +116,13 @@ EOF</userinput></screen>
<para>Then write rules that create the symlinks, e.g.:</para>
-<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/83-duplicate_devs.rules &lt;&lt;"EOF"
+<screen role="nodump"><userinput>cat &gt;/etc/udev/rules.d/83-duplicate_devs.rules &lt;&lt; EOF
<literal>
# Persistent symlinks for webcam and tuner
-KERNEL=="video*", SYSFS{idProduct}=="1910", SYSFS{idVendor}=="0d81", SYMLINK+="webcam"
-KERNEL=="video*", SYSFS{device}=="0x036f", SYSFS{vendor}=="0x109e", SYMLINK+="tvtuner"
+KERNEL=="video*", SYSFS{idProduct}=="1910", SYSFS{idVendor}=="0d81", \
+ SYMLINK+="webcam"
+KERNEL=="video*", SYSFS{device}=="0x036f", SYSFS{vendor}=="0x109e", \
+ SYMLINK+="tvtuner"
</literal>
EOF</userinput></screen>
diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml
index f5e1ba626..939f2c7f2 100644
--- a/chapter08/fstab.xml
+++ b/chapter08/fstab.xml
@@ -72,13 +72,16 @@ EOF</userinput></screen>
<screen>/dev/sda1 /media/flash vfat noauto,user,quiet,showexec,iocharset=utf8,codepage=866 0 0</screen>
- <note><para>In the latter case, the kernel emits the following message:</para>
+ <note>
+ <para>In the latter case, the kernel emits the following message:</para>
-<screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!</computeroutput></screen>
+<screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems,
+ filesystem will be case sensitive!</computeroutput></screen>
- <para>This negative recommendation should be ignored, since all other values
- of the <quote>iocharset</quote> option result in wrong display of filenames in
- UTF-8 locales.</para></note>
+ <para>This negative recommendation should be ignored, since all other values
+ of the <quote>iocharset</quote> option result in wrong display of filenames in
+ UTF-8 locales.</para>
+ </note>
<para>It is also possible to specify default codepage and iocharset values for
some filesystems during kernel configuration. The relevant parameters
diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml
index afb2df34b..4ef9bb44e 100644
--- a/chapter08/kernel.xml
+++ b/chapter08/kernel.xml
@@ -117,8 +117,8 @@
<para>Install the documentation for the Linux kernel:</para>
-<screen>install -d /usr/share/doc/linux-&linux-version; &amp;&amp;
-cp -r Documentation/* /usr/share/doc/linux-&linux-version;</screen>
+<screen><userinput>install -d /usr/share/doc/linux-&linux-version; &amp;&amp;
+cp -r Documentation/* /usr/share/doc/linux-&linux-version;</userinput></screen>
<para>It is important to note that the files in the kernel source
directory are not owned by <emphasis>root</emphasis>. Whenever a
@@ -154,7 +154,6 @@ cp -r Documentation/* /usr/share/doc/linux-&linux-version;</screen>
</sect2>
-
<sect2 id="contents-kernel" role="content">
<title>Contents of Linux</title>
diff --git a/general.ent b/general.ent
index 9c5c349ae..8ff63ea99 100644
--- a/general.ent
+++ b/general.ent
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20060731">
-<!ENTITY releasedate "July 31, 2006">
+<!ENTITY version "SVN-20060803">
+<!ENTITY releasedate "August 3, 2006">
<!ENTITY milestone "6.3">
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
diff --git a/patches.ent b/patches.ent
index 2361f4986..e7c82f1f3 100644
--- a/patches.ent
+++ b/patches.ent
@@ -28,6 +28,11 @@
<!ENTITY coreutils-uname-patch-size "4.6 KB">
+<!ENTITY db-fixes-patch "db-&db-version;-fixes-1.patch">
+<!ENTITY db-fixes-patch-md5 "32b28d1d1108dfcd837fe10c4eb0fbad">
+<!ENTITY db-fixes-patch-size "3.8 KB">
+
+
<!ENTITY diffutils-i18n-patch "diffutils-&diffutils-version;-i18n-1.patch">
<!ENTITY diffutils-i18n-patch-md5 "c8d481223db274a33b121fb8c25af9f7">
<!ENTITY diffutils-i18n-patch-size "18 KB">
@@ -52,6 +57,10 @@
<!ENTITY glibc-linux_types-patch-md5 "30ea59ae747478aa9315455543b5bb43">
<!ENTITY glibc-linux_types-patch-size "1.1 KB">
+<!ENTITY glibc-inotify-patch "glibc-&glibc-version;-inotify-1.patch">
+<!ENTITY glibc-inotify-patch-md5 "94f6d26ae50a0fe6285530fdbae90bbf">
+<!ENTITY glibc-inotify-patch-size "1.4 KB">
+
<!ENTITY grep-fixes-patch "grep-&grep-version;-redhat_fixes-2.patch">
<!ENTITY grep-fixes-patch-md5 "2c67910be2d0a54714f63ce350e6d8a6">
@@ -95,6 +104,11 @@
<!ENTITY linux-utf8-patch-size "11 KB">
+<!ENTITY linux-inotify-patch "linux-libc-headers-&linux-libc-headers-version;-inotify-3.patch">
+<!ENTITY linux-inotify-patch-md5 "8fd71a4bd3344380bd16caf2c430fa9b">
+<!ENTITY linux-inotify-patch-size "4.7 KB">
+
+
<!ENTITY mktemp-tempfile-patch "mktemp-&mktemp-version;-add_tempfile-3.patch">
<!ENTITY mktemp-tempfile-patch-md5 "65d73faabe3f637ad79853b460d30a19">
<!ENTITY mktemp-tempfile-patch-size "3.5 KB">
@@ -152,6 +166,7 @@
<!ENTITY util-linux-cramfs-patch-md5 "1c3f40b30e12738eb7b66a35b7374572">
<!ENTITY util-linux-cramfs-patch-size "2.8 KB">
+
<!ENTITY vim-fixes-patch "vim-&vim-version;-fixes-7.patch">
<!ENTITY vim-fixes-patch-md5 "d274219566702b0bafcb83ab4685bbde">
<!ENTITY vim-fixes-patch-size "42 KB">
@@ -159,3 +174,7 @@
<!ENTITY vim-mandir-patch "vim-&vim-version;-mandir-1.patch">
<!ENTITY vim-mandir-patch-md5 "b6426eb4192faba1e867ddd502323f5b">
<!ENTITY vim-mandir-patch-size "4.2 KB">
+
+<!ENTITY vim-spellfile-patch "vim-&vim-version;-spellfile-1.patch">
+<!ENTITY vim-spellfile-patch-md5 "98e59e34cb6e16a8d4671247cebd64ee">
+<!ENTITY vim-spellfile-patch-size "1.2 KB">
diff --git a/stylesheets/pdf/lfs-mixed.xsl b/stylesheets/pdf/lfs-mixed.xsl
index ac096e5c9..da3665909 100644
--- a/stylesheets/pdf/lfs-mixed.xsl
+++ b/stylesheets/pdf/lfs-mixed.xsl
@@ -16,6 +16,7 @@
and to remove vertical space in pachages and patches pages. -->
<xsl:template match="para">
<xsl:choose>
+ <xsl:when test="child::ulink[@url=' ']"/>
<xsl:when test="./@remap='verbatim'">
<fo:block wrap-option="no-wrap"
white-space-collapse="false"
@@ -254,4 +255,57 @@
</xsl:choose>
</xsl:template>
+ <!-- Total packages size calculation -->
+ <xsl:template match="returnvalue">
+ <xsl:call-template name="calculation">
+ <xsl:with-param name="scope" select="../../variablelist"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="calculation">
+ <xsl:param name="scope"/>
+ <xsl:param name="total">0</xsl:param>
+ <xsl:param name="position">1</xsl:param>
+ <xsl:variable name="tokens" select="count($scope/varlistentry)"/>
+ <xsl:variable name="token" select="$scope/varlistentry[$position]/term/token"/>
+ <xsl:variable name="size" select="substring-before($token,' KB')"/>
+ <xsl:variable name="rawsize">
+ <xsl:choose>
+ <xsl:when test="contains($size,',')">
+ <xsl:value-of select="concat(substring-before($size,','),substring-after($size,','))"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$size"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$position &lt;= $tokens">
+ <xsl:call-template name="calculation">
+ <xsl:with-param name="scope" select="$scope"/>
+ <xsl:with-param name="position" select="$position +1"/>
+ <xsl:with-param name="total" select="$total + $rawsize"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$total &lt; '1000'">
+ <xsl:value-of select="$total"/>
+ <xsl:text> KB</xsl:text>
+ </xsl:when>
+ <xsl:when test="$total &gt; '1000' and $total &lt; '5000'">
+ <xsl:value-of select="substring($total,1,1)"/>
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="substring($total,2)"/>
+ <xsl:text> KB</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="round($total div 1024)"/>
+ <xsl:text> MB</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
</xsl:stylesheet>
diff --git a/stylesheets/pdf/lfs-pagesetup.xsl b/stylesheets/pdf/lfs-pagesetup.xsl
index 7e19099ce..7194c3e6d 100644
--- a/stylesheets/pdf/lfs-pagesetup.xsl
+++ b/stylesheets/pdf/lfs-pagesetup.xsl
@@ -109,6 +109,11 @@
<xsl:param name="header.rule" select="0"></xsl:param>
<xsl:param name="footer.rule" select="0"></xsl:param>
<xsl:param name="marker.section.level" select="-1"></xsl:param>
+ <xsl:attribute-set name="compact.list.item.spacing">
+ <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+ <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+ <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+ </xsl:attribute-set>
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>