This commit was manufactured by cvs2svn to create tag 'v5_1_1'.

git-svn-id: http://svn.linuxfromscratch.org/LFS/tags/v5_1_1/BOOK@3757 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
lfs-dev 2004-06-22 19:48:30 +00:00
parent 673b0d84ba
commit 2ec64b3132
56 changed files with 1864 additions and 393 deletions

23
INSTALL
View File

@ -9,7 +9,7 @@ document. Instead, you need to read the LFS Editor's Manual. See the LFS
website at http://www.linuxfromscratch.org for more information.
-------------------------------------------------------------------------------
If all you want to do is convert XML to HTML perform the following:
If all you want to do is convert XML to HTML install the following:
* libxml2
- http://www.linuxfromscratch.org/blfs/view/cvs/general/libxml2.html
@ -18,15 +18,26 @@ If all you want to do is convert XML to HTML perform the following:
- http://www.linuxfromscratch.org/blfs/view/cvs/general/libxslt.html
* DocBook DTD
- http://www.linuxfromscratch.org/blfs/view/cvs/pst/DocBook.html
- http://www.linuxfromscratch.org/blfs/view/cvs/pst/xml.html
* DocBook XSL Stylesheets
- http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-xsl.html
* HTML Tidy - http://tidy.sourceforge.net/src/tidy_src.tgz
/bin/sh build/gnuauto/setup.sh &&
./configure --prefix=/usr &&
make &&
su -c "make install"
-------------------------------------------------------------------------------
If you want to be able to convert the book into PDF as well, then you will need
the FOP package. This takes an XSL-FO file (created with libxslt which you
already installed) and converts it to PDF:
already installed) and converts it to PDF. Additionally you will need
the Java Advanced Imaging (JAI) library from
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
(you'll need either the JDK .bin or JRE .bin file dependent on your
particular Java setup).
- http://www.apache.org/dist/xml/fop/fop-0.20.5-bin.tar.gz
@ -36,4 +47,10 @@ already installed) and converts it to PDF:
tar -xzvf /usr/src/fop-0.20.5-bin.tar.gz &&
mv fop-0.20.5 fop
Install JAI by running:
chmod u+x /path/to/jai-1_1_2-lib-linux-i586-jdk.bin &&
cd $JAVA_HOME &&
/path/to/jai-1_1_2-lib-linux-i586-jdk.bin
Now set JAVA_HOME, FOP_HOME and PATH to values appropriate to your system.

View File

@ -1,29 +1,47 @@
BASEDIR=~/lfs-book/
BASEDIR=~/lfs-book
CHUNK_QUIET=0
PDF_OUTPUT=LFS-BOOK.pdf
PRINT_OUTPUT=LFS-BOOK-PRINTABLE.pdf
NOCHUNKS_OUTPUT=LFS-BOOK.html
lfs:
xsltproc --xinclude --nonet -stringparam base.dir $(BASEDIR) \
stylesheets/lfs-chunked.xsl index.xml
xsltproc --xinclude --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \
-stringparam base.dir $(BASEDIR)/ stylesheets/lfs-chunked.xsl \
index.xml
if [ ! -e $(BASEDIR)stylesheets ]; then \
mkdir -p $(BASEDIR)stylesheets; \
if [ ! -e $(BASEDIR)/stylesheets ]; then \
mkdir -p $(BASEDIR)/stylesheets; \
fi;
cp stylesheets/lfs.css $(BASEDIR)stylesheets
cp stylesheets/lfs.css $(BASEDIR)/stylesheets
if [ ! -e $(BASEDIR)images ]; then \
mkdir -p $(BASEDIR)images; \
if [ ! -e $(BASEDIR)/images ]; then \
mkdir -p $(BASEDIR)/images; \
fi;
cp /usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/*.png \
$(BASEDIR)images
cd $(BASEDIR); sed -i -e "s@../stylesheets@stylesheets@" \
$(BASEDIR)/images
cd $(BASEDIR)/; sed -i -e "s@../stylesheets@stylesheets@" \
index.html part1.html part2.html part3.html longindex.html
cd $(BASEDIR); sed -i -e "s@../images@images@g" \
cd $(BASEDIR)/; sed -i -e "s@../images@images@g" \
index.html part1.html part2.html part3.html longindex.html
sh goTidy $(BASEDIR)/
pdf:
xsltproc --xinclude --nonet --output lfs.fo stylesheets/lfs-pdf.xsl \
index.xml
sed -i -e "s/inherit/all/" lfs.fo
fop.sh lfs.fo lfs.pdf
fop.sh lfs.fo $(PDF_OUTPUT)
print:
xsltproc --xinclude --nonet --output lfs-print.fo \
stylesheets/lfs-print.xsl index.xml
sed -i -e "s/inherit/all/" lfs-print.fo
fop.sh lfs-print.fo $(PRINT_OUTPUT)
nochunks:
xsltproc --xinclude --nonet --output $(NOCHUNKS_OUTPUT) \
stylesheets/lfs-nochunks.xsl index.xml
tidy -config tidy.conf $(NOCHUNKS_OUTPUT) || true
validate:
xmllint --noout --nonet --xinclude --postvalid index.xml

2
README
View File

@ -10,7 +10,7 @@ various other formats.
XML to XHTML:
-------------
BASEDIR=/path/to/output/location make
make BASEDIR=/path/to/output/location
XML to PDF:

View File

@ -23,11 +23,12 @@ consult the FAQ (Frequently Asked Questions) at
<title>IRC</title>
<para>Several members of the LFS community offer assistance on our community
IRC (Internet Relay Chat) server. Before you utilize this mode of support, we
IRC (Internet Relay Chat) network. Before you utilize this mode of support, we
ask that you've at least checked the LFS FAQ (see above) and the mailing list
archives (see below) for the answer to your question. You can find the IRC
server at <emphasis>irc.linuxfromscratch.org</emphasis> port 6667. The
support channel is named #LFS-support.</para>
network at <emphasis>irc.linuxfromscratch.org</emphasis> or
<emphasis>irc.linux-phreak.net</emphasis> port 6667. The support channel is
named #LFS-support.</para>
</sect2>

View File

@ -27,10 +27,11 @@ first a summary, then a detailed log.</para>
<listitem><para>file-4.09</para></listitem>
<listitem><para>gcc-3.3.3</para></listitem>
<listitem><para>gettext-0.14.1</para></listitem>
<listitem><para>glibc-2.3.3-lfs-5.1</para></listitem>
<listitem><para>grub-0.94</para></listitem>
<listitem><para>kbd-1.12</para></listitem>
<listitem><para>less-382</para></listitem>
<listitem><para>lfs-bootscripts-2.0.4</para></listitem>
<listitem><para>lfs-bootscripts-2.0.5</para></listitem>
<listitem><para>libtool-2.5.6</para></listitem>
<listitem><para>linux-2.4.26</para></listitem>
<listitem><para>man-pages-1.66</para></listitem>
@ -73,6 +74,46 @@ first a summary, then a detailed log.</para>
</itemizedlist>
</listitem>
<listitem><para>June 2, 2004 [matt]: Prologue - acknowledgments, Added Thomas
Reitelbach as the German translator</para></listitem>
<listitem><para>May 30, 2004 [matt]: Chapter 6 - vim, corrected the optional
command for invoking the testsuite</para></listitem>
<listitem><para>May 23, 2004 [matt]: Chapter 6 - kbd, removed the hardcoded path
to the kernel source directory</para></listitem>
<listitem><para>May 19, 2004 [matt]: Chapter 6 - mktemp, added instruction to
install tempfile wrapper</para></listitem>
<listitem><para>May 18, 2004 [manuel]: Chapter 3 - Updated the list of mirrors
for Glibc package. Fixed several textual bugs.</para></listitem>
<listitem><para>May 17th, 2004 [winkie]: Chapter 5 - Pass
<quote>AUTOCONF=no</quote> to the Glibc build. This prevents autoconf from
causing us problems.</para></listitem>
<listitem><para>May 16th, 2004 [jeremy]: Chapter 9 - Added a brief paragraph
to the rebooting system page to discuss packages which might be useful to
add prior to rebooting to the new system</para></listitem>
<listitem><para>May 15th, 2004 [matt]: Chapter 6 - Added a clearer warning that
make_devices needs to be customised</para></listitem>
<listitem><para>May 14th, 2004 [matt]: Chapter 3 - Added glibc's md5sum</para>
</listitem>
<listitem><para>May 14th, 2004 [matt]: Chapters 5 &amp; 6 - Upgraded to
glibc-2.3.3-lfs-5.1</para></listitem>
<listitem><para>May 11th, 2004 [jeremy]: Prologue - Updated the list of
active staff in the project.</para></listitem>
<listitem><para>May 9th, 2004 [winkie]: Chapter 6 - Removed unused and broken
entries from <filename>nsswitch.conf</filename>.</para></listitem>
<listitem><para>May 7th, 2004 [matt]: Merged Manuel's lfs-xsl-0.9 patches</para>
</listitem>
<listitem><para>May 7th, 2004 [matt]: Fixed README error regarding invocation of
`make`</para></listitem>
<listitem><para>May 3rd, 2004: LFS 5.1-pre2 released</para></listitem>
<listitem><para>May 2nd, 2004 [matt]: Quoted chroot commands in chapter 6 (bug
#818).</para></listitem>
<listitem><para>May 2nd, 2004 [matt]: Removed description of the now

View File

@ -116,7 +116,7 @@ Make (&make-version;) - 899 KB:
<ulink url="&freshmeat;gnumake/"/>
Make_devices (&makedev-version;) - 20 KB:
<ulink url="&lfs-root;~alex/make_devices-1.2.bz2"/>
<ulink url="&http-down;"/>
Man (&man-version;) - 196 KB:
<ulink url="&freshmeat;man/"/>
@ -191,26 +191,29 @@ that may have older versions available is <ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/"/>.</para></note>
<note><para>2) As of this writing, the Glibc maintainers have decided in their
wisdom not to make available new release tarballs for download. The only way to
obtain the current Glibc release from pristine upstream sources is to pull it
from the Glibc CVS (Concurrent Versioning System) repository. The following commands will download the current
release and make a tarball from it:</para>
wisdom not to make available new release tarballs for download. As
such, the LFS toolchain team have provided a tarball of glibc sources
pulled from Glibc CVS (Concurrent Versioning System) and generated a
tarball from them, including patches where necessary.</para>
<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
export -d glibc-2.3.3-20031202 -D "2003-12-02 UTC" libc
tar jcvf glibc-2.3.3-20031202.tar.bz2 glibc-2.3.3-20031202</userinput></screen>
<para>We have made this tarball available courtesy of the generous LFS mirror
sites:</para>
<para>Alternatively, we've made our own tarball available which you can
download courtesy of the generous LFS mirror sites.</para>
<literallayout><ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/>
<ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-version;.tar.bz2"/>
<ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-version;.tar.bz2"/>
<ulink url="http://dl.lfs.fredan.org/&glibc-version;.tar.bz2"/>
<ulink url="http://packages.lfs-es.org/&glibc-version;.tar.bz2"/>
<ulink url="http://mirror.averse.net/lfs-packages/&glibc-version;.tar.bz2"/>
<ulink url="ftp://mirror.averse.net/pub/lfs-packages/&glibc-version;.tar.bz2"/>
<ulink url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/></literallayout>
<literallayout><ulink
url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/lfs-packages/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://packages.lfs-es.org/glibc/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://mirror.averse.net/lfs-packages/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://mirror.averse.net/pub/lfs-packages/glibc-&glibc-version;.tar.bz2"/>
<ulink
url="ftp://ftp.lfs-matrix.de/lfs-packages/conglomeration/glibc-&glibc-version;.tar.bz2"/>
<ulink url="ftp://ftp.sg.linuxfromscratch.org/pub/lfs-packages/glibc-&glibc-version;.tar.bz2"/>
<ulink url="http://ftp.sg.linuxfromscratch.org/glibc-&glibc-version;.tar.bz2"/></literallayout>
<para>If you wish to verify the integrity of the tarball, its MD5 digest
is <computeroutput>cd11fabdf5162ad68329e7b28b308278</computeroutput>, which can
be verified using <command>md5sum</command>.</para>
</note>
</sect1>

View File

@ -31,7 +31,7 @@ Fortunately, most build times are much shorter than the one of Binutils.</para>
<para>Note that if the system compiler on your host is GCC-2 based, the SBUs
listed may end up being somewhat understated. This is because the SBU is based
on the very first package, compiled with the old GCC, while the rest of the
system is compiled with the newer GCC-3.3.2 which is known to be
system is compiled with the newer GCC-&gcc-version; which is known to be
approximately 30% slower.</para>
<para>Also note that SBUs don't work well for SMP-based machines. But if you're

View File

@ -7,13 +7,13 @@
<title>Creating the $LFS/tools directory</title>
<?dbhtml filename="creatingtoolsdir.html"?>
<para>All programs compiled in this chapter will be installed under <filename
<para>All programs compiled in <xref linkend="chapter-temporary-tools"/> will be installed under <filename
class="directory">$LFS/tools</filename> to keep them separate from the
programs compiled in the next chapter. The programs compiled here are only
programs compiled in <xref linkend="chapter-building-system"/>. The programs compiled here are only
temporary tools and won't be a part of the final LFS system and by keeping them
in a separate directory, we can later easily throw them away. This also
helps prevent them from ending up in your host's production directories
(easy to do in Chapter 5), which could be a very bad thing.</para>
(easy to do in <xref linkend="chapter-temporary-tools"/>, which could be a very bad thing.</para>
<para>Later on you might wish to search through the binaries of your system to
see what files they make use of or link against. To make this searching easier

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 1.0 SBU
&diskspace; 194 MB</screen>
&diskspace; 170 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<secondary>tools, pass 2</secondary></indexterm>
<screen>&buildtime; 1.5 SBU
&diskspace; 108 MB</screen>
&diskspace; 35.6 MB</screen>
<sect2>

View File

@ -28,7 +28,7 @@
<para>This package has an issue when compiled against versions of glibc
later than 2.3.2. Some of the Coreutils utilities (such as
(<command>head</command>, <command>tail</command> and <command>sort</command>)
<command>head</command>, <command>tail</command> and <command>sort</command>)
will reject their traditional syntax, a syntax that has been in use for
approximately 30 years. This old syntax is so pervasive that compatibility
should be preserved until the many places where it is used can be

View File

@ -12,7 +12,7 @@
<para>The DejaGnu package contains a framework for testing other programs.</para>
<screen>&buildtime; 0.1 SBU
&diskspace; 8.6 MB</screen>
&diskspace; 6.1 MB</screen>
<para>For its installation Dejagnu depends on: Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 7.6 MB</screen>
&diskspace; 7.5 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/findutils.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 17 MB</screen>
&diskspace; 16.9 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gawk.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 4.4 SBU
&diskspace; 300 MB</screen>
&diskspace; 411.7 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<secondary>tools, pass 2</secondary></indexterm>
<screen>&buildtime; 11.0 SBU
&diskspace; 274 MB</screen>
&diskspace; 332.7 MB</screen>
<sect2>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.5 SBU
&diskspace; 55 MB</screen>
&diskspace; 67.6 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 11.8 SBU
&diskspace; 800 MB</screen>
&diskspace; 734.2 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/para[2])"/>
@ -39,7 +39,7 @@ cd ../glibc-build</userinput></screen>
<para>Next, prepare Glibc for compilation:</para>
<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/tools \
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
--disable-profile --enable-add-ons=linuxthreads \
--with-binutils=/tools/bin --with-headers=/tools/include \
--without-gd --without-cvs</userinput></screen>
@ -86,7 +86,7 @@ running the test suite.</para>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<screen><userinput>make AUTOCONF=no</userinput></screen>
<para>Compilation is now complete. As mentioned earlier, we don't recommend
running the test suites for the temporary system here in this chapter. If you
@ -179,6 +179,7 @@ localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fa_IR -f UTF-8 fa_IR
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT

View File

@ -12,7 +12,7 @@
<secondary>tools, headers</secondary></indexterm>
<screen>&buildtime; 0.1 SBU
&diskspace; 186 MB</screen>
&diskspace; 192.5 MB</screen>
<sect2>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.7 SBU
&diskspace; 26 MB</screen>
&diskspace; 27.8 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/ncurses.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 5.2 MB</screen>
&diskspace; 5.9 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 10 MB</screen>
&diskspace; 10.3 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -12,7 +12,7 @@
<para>The Tcl package contains the Tool Command Language.</para>
<screen>&buildtime; 0.9 SBU
&diskspace; 23 MB</screen>
&diskspace; 22.7 MB</screen>
<para>Tcl installation depends on: Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Sed.</para>

View File

@ -14,7 +14,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[1])"/>
<screen>&buildtime; 0.2 SBU
&diskspace; 16 MB</screen>
&diskspace; 16.3 MB</screen>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/para[2])"/>

View File

@ -65,7 +65,7 @@ test from failing, then issue: <userinput>make check</userinput>.</para>
<screen><userinput>make install</userinput></screen>
<para>Also install also the shared libraries:</para>
<para>Also install the shared libraries:</para>
<screen><userinput>make install-libs</userinput></screen>

View File

@ -42,7 +42,7 @@ cd ../glibc-build</userinput></screen>
<para>Now prepare Glibc for compilation:</para>
<screen><userinput>../glibc-&glibc-version;-20031202/configure --prefix=/usr \
<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
--disable-profile --enable-add-ons=linuxthreads \
--libexecdir=/usr/lib --with-headers=/usr/include \
--without-cvs</userinput></screen>
@ -121,11 +121,11 @@ localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
<para>Finally, build the linuxthreads man pages:</para>
<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man</userinput></screen>
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
<para>And install these pages:</para>
<screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man install</userinput></screen>
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
</sect2>
@ -149,17 +149,13 @@ passwd: files
group: files
shadow: files
publickey: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: db files
protocols: files
services: files
ethers: files
rpc: files
# End /etc/nsswitch.conf
<userinput>EOF</userinput></screen>

View File

@ -60,8 +60,8 @@ with a series of short descriptions of these.</para>
<para>If you wish to keep track of which package installs what files, you may
want to use a package manager. For a general overview of package managers have
a look at <ulink url="&blfs-root;view/cvs/introduction/pkgmgt.html"/>. And for
a package management method specifically geared towards LFS see
a look at <ulink url="&blfs-root;view/cvs/introduction/important.html"/>. And
for a package management method specifically geared towards LFS see
<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
</sect1>

View File

@ -73,7 +73,7 @@ source (you will have to repeat this command whenever you unpack a new
kernel):</para>
<screen><userinput>loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz &gt; \
/usr/src/linux-2.4.25/drivers/char/defkeymap.c</userinput></screen>
<replaceable>[unpacked sources dir]</replaceable>/linux-&linux-version;/drivers/char/defkeymap.c</userinput></screen>
</sect2>

View File

@ -67,6 +67,10 @@ commented out. You should open <filename>make_devices</filename> in an editor
and customize it to your needs. This takes some time, but is very simple. When
you are satisfied, run the script to create the device files:</para>
<warning><para>Failure to properly edit the <command>make_devices</command> to
match your systems's setup (eg. number of partitions) can lead to boot errors.
</para></warning>
<screen><userinput>cd /dev
./make_devices</userinput></screen>

View File

@ -47,7 +47,8 @@ library.</para></listitem>
<para>Now install it:</para>
<screen><userinput>make install</userinput></screen>
<screen><userinput>make install</userinput>
<userinput>make install-tempfile</userinput></screen>
</sect2>

View File

@ -45,7 +45,7 @@ echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h</userinput><
<screen><userinput>make</userinput></screen>
<para>To test the results, you can issue:
<userinput>make check</userinput>. However, this test suite outputs a lot of
<userinput>make test</userinput>. However, this test suite outputs a lot of
seemingly garbage characters to the screen, and this can wreak havoc with the
settings of the current terminal. Therefore the running of the test suite here
is strictly optional.</para>

View File

@ -72,7 +72,7 @@ the <quote>File systems</quote> menu and is normally enabled by default.</para>
<filename>/etc/modules.conf</filename> file. Information pertaining
to modules and to kernel configuration in general may be found in the
kernel documentation, which is found in the
<filename>linux-2.4.25/Documentation</filename> directory. The
<filename>linux-&linux-version;/Documentation</filename> directory. The
modules.conf man page and the kernel HOWTO at
<ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> may also be of
interest to you.</para>
@ -130,7 +130,7 @@ person would have write access to the kernel source.</para>
<para>If you are going to keep the kernel source tree around, you may want to
run <userinput>chown -R 0:0</userinput> on the
<filename>linux-2.4.25</filename> directory to ensure all files are
<filename>linux-&linux-version;</filename> directory to ensure all files are
owned by user <emphasis>root</emphasis>.</para>
</sect2>

View File

@ -8,7 +8,22 @@
<?dbhtml filename="reboot.html"?>
<para>Now that all of the software has been installed, it is time to reboot
your computer. First exit from the chroot environment:</para>
your computer. However, you should be aware of a few things. The system you
have created in this book is quite minimal, and most likely will not have
the functionality you would need to be able to continue forward. By installing
a few extra packages from the BLFS book while still in our current chroot
environment, you can leave yourself in a much better position to continue on
once you reboot into your new LFS installation. Installing a text mode web
browser, such as Lynx, you can easily view the BLFS book in one virtual
terminal, while building packages in another. The GPM package will also allow
you to perform copy/paste actions in your virtual terminals. Lastly, if you
are in a situation where static IP configuration does not meet your networking
requirements, installing packages such as dhcpcd or ppp at this point might
also be useful.</para>
<para>Now that we have said that, lets move on to booting our shiny new LFS
installation for the first time! First exit from the chroot environment:</para>
<screen><userinput>logout</userinput></screen>

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ENTITY version "CVS-2004-05-02">
<!ENTITY releasedate "May 2, 2004">
<!ENTITY milestone "5.1">
<!ENTITY version "&milestone;">
<!ENTITY releasedate "June 5th, 2004">
<!ENTITY milestone "5.1.1">
<!ENTITY lfs-root "http://www.linuxfromscratch.org/">
<!ENTITY blfs-root "&lfs-root;blfs/">
<!ENTITY faq-root "&lfs-root;faq/">
<!ENTITY hints-root "&lfs-root;hints/downloads/files/">
<!ENTITY hints-index "&lfs-root;hints/list.html">
<!ENTITY patches-root "&lfs-root;patches/lfs/cvs/">
<!ENTITY patches-root "&lfs-root;patches/lfs/&version;/">
<!ENTITY wiki-root "http://wiki.linuxfromscratch.org/">
<!ENTITY http-down "http://downloads.linuxfromscratch.org/">
<!ENTITY freshmeat "http://freshmeat.net/projects/">
@ -21,7 +21,7 @@
<!ENTITY bash-version "2.05b">
<!ENTITY binutils-version "2.14">
<!ENTITY bison-version "1.875">
<!ENTITY bootscripts-version "2.0.4">
<!ENTITY bootscripts-version "2.0.5">
<!ENTITY bzip2-version "1.0.2">
<!ENTITY coreutils-version "5.2.1">
<!ENTITY dejagnu-version "1.4.4">
@ -36,7 +36,7 @@
<!ENTITY gcc-2953-version "2.95.3">
<!ENTITY gcc-version "3.3.3">
<!ENTITY gettext-version "0.14.1">
<!ENTITY glibc-version "2.3.3">
<!ENTITY glibc-version "2.3.3-lfs-5.1">
<!ENTITY grep-version "2.5.1">
<!ENTITY groff-version "1.19">
<!ENTITY grub-version "0.94">

17
goTidy Normal file
View File

@ -0,0 +1,17 @@
#!/bin/bash
#######################################################################
#
# File: goTidy
#
# Description: Tidy is best used inside a loop, but Makefiles don't do
# bash loops well. This file alleviates that problem.
#
# Author: James Robertson
#
########################################################################
for file in `find "$1" -name "*.html"`; do
tidy -config tidy.conf $file
done
exit 0

View File

@ -20,13 +20,17 @@ Beekmans</ulink> &lt;gerard@linuxfromscratch.org&gt; -- Linux-From-Scratch
initiator, LFS Project organizer.</para></listitem>
<listitem><para><ulink url="mailto:matthew@linuxfromscratch.org">Matthew
Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; -- LFS General Package
maintainer, LFS Book editor.</para></listitem>
Burgess</ulink> &lt;matthew@linuxfromscratch.org&gt; -- LFS Project Co-Leader,
LFS General Package maintainer, LFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:meerkats@bellsouth.net">Craig
Colton</ulink> &lt;meerkats@bellsouth.net&gt; -- LFS, ALFS, BLFS and Hints
Project logo creator.</para></listitem>
<listitem><para><ulink url="mailto:nathan@linuxfromscratch.org">Nathan
Coulson</ulink> &lt;nathan@linuxfromscratch.org&gt; -- LFS-Bootscripts
maintainer.</para></listitem>
<listitem><para><ulink url="mailto:jeroen@linuxfromscratch.org">Jeroen
Coumans</ulink> &lt;jeroen@linuxfromscratch.org&gt; -- Website developer, FAQ
maintainer.</para></listitem>
@ -35,6 +39,10 @@ maintainer.</para></listitem>
Dubbs</ulink> &lt;bdubbs@linuxfromscratch.org&gt; -- LFS Quality Assurance Team
leader, BLFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
Canales Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; -- LFS Book
Editor (XML).</para></listitem>
<listitem><para><ulink url="mailto:alex@linuxfromscratch.org">Alex
Groenewoud</ulink> &lt;alex@linuxfromscratch.org&gt; -- LFS Book
editor.</para></listitem>
@ -59,6 +67,10 @@ creator and maintainer.</para></listitem>
Maltby</ulink> &lt;bill@linuxfromscratch.org&gt; -- LFS Project
organizer.</para></listitem>
<listitem><para><ulink url="mailto:alexander@linuxfromscratch.org">Alexander
Patrakov</ulink> &lt;alexander@linuxfromscratch.org&gt; -- LFS Book
Editor (internationalization/localization).</para></listitem>
<listitem><para><ulink url="mailto:scot@linuxfromscratch.org">Scot Mc
Pherson</ulink> &lt;scot@linuxfromscratch.org&gt; -- LFS NNTP gateway
maintainer.</para></listitem>
@ -73,7 +85,7 @@ Wiki developer, LFS Book editor.</para></listitem>
<listitem><para><ulink url="mailto:greg@linuxfromscratch.org">Greg
Schafer</ulink> &lt;greg@linuxfromscratch.org&gt; -- Toolchain maintainer,
LFS Book editor, co-creator of PLFS.</para></listitem>
Former LFS Book editor, co-creator of PLFS.</para></listitem>
<listitem><para><ulink url="mailto:tushar@linuxfromscratch.org">Tushar
Teredesai</ulink> &lt;tushar@linuxfromscratch.org&gt; -- BLFS Book editor,
@ -81,7 +93,11 @@ Hints and Patches Projects maintainer.</para></listitem>
<listitem><para><ulink url="mailto:jeremy@linuxfromscratch.org">Jeremy
Utley</ulink> &lt;jeremy@linuxfromscratch.org&gt; -- LFS Book editor, Bugzilla
maintainer.</para></listitem>
maintainer, LFS-Bootscripts Maintainer, LFS Server co-admin.</para></listitem>
<listitem><para><ulink url="mailto:winkie@linuxfromscratch.org">Zack
Winkles</ulink> &lt;winkie@linuxfromscratch.org&gt; -- LFS Book editor
(Emerging Technologies), LFS-Bootscripts co-maintainer.</para></listitem>
<listitem><para>Countless other people on the various LFS and BLFS
mailing lists who are making this book happen by giving their suggestions,
@ -109,6 +125,10 @@ project.</para></listitem>
Lizardo</ulink> &lt;lizardo@linuxfromscratch.org&gt; -- Portuguese LFS
translation project.</para></listitem>
<listitem><para><ulink url="mailto:tr@erdfunkstelle.de">Thomas Reitelbach
</ulink> &lt;tr@erdfunkstelle.de&gt; -- German LFS translation project.</para>
</listitem>
</itemizedlist>
</sect2>
@ -116,102 +136,160 @@ translation project.</para></listitem>
<sect2>
<title>Mirror Maintainers</title>
<sect3>
<title>North American Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
&lt;jason@dstc.edu.au&gt; -- au.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
&lt;lost@l-w.net&gt; -- ca.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:baque@cict.fr">Baque</ulink>
&lt;baque@cict.fr&gt; -- lfs.cict.fr mirror.</para></listitem>
<listitem><para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
&lt;stevie@stevie20.de&gt; -- lfs.netservice-neuss.de
mirror.</para></listitem>
<listitem><para><ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink>
&lt;ian@ichilton.co.uk&gt; -- us.linuxfromscratch.org, linuxfromscratch.co.uk
mirrors.</para></listitem>
<listitem><para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; -- se.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:pgpkeys@aeternamtech.com">David D.W.
Downey</ulink> &lt;pgpkeys@aeternamtech.com&gt; -- lfs.learnbyexample.com
mirror.</para></listitem>
<listitem><para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; -- br.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
&lt;hrx@hrxnet.de&gt; -- de.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
&lt;tim@idge.net&gt; -- linuxfromscratch.idge.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
&lt;barna@siker.hu&gt; -- hu.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
Neefs</ulink> -- linuxfromscratch.rave.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
&lt;sime@dot-sime.com&gt; -- uk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:ervin@activalink.net">Ervin S.
Odisho</ulink> &lt;ervin@activalink.net&gt; -- lfs.activalink.net
mirror.</para></listitem>
<listitem><para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
&lt;guido@primerelay.net&gt; -- nl.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:scott@osuosl.org">Scott Kveton</ulink>
&lt;scott@osuosl.org&gt; -- lfs.oregonstate.edu mirror</para></listitem>
<listitem><para><ulink url="mailto:miha@xuy.biz">Mikhail Pastukhov</ulink>
&lt;miha@xuy.biz&gt; -- lfs.130th.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:crash4o4@gameover.com">Frank Mancuso</ulink>
&lt;crash4o4@gameover.com&gt; -- lfs.crash404.com mirror.</para></listitem>
<listitem><para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
&lt;lost@l-w.net&gt; -- ca.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:jpolen@rackspace.com">Jeremy Polen</ulink>
&lt;jpolen@rackspace.com&gt; -- us2.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
-- linuxfromscratch.mirror.co.uk mirror.</para></listitem>
<listitem><para><ulink url="mailto:tim@idge.net">Tim Jackson</ulink>
&lt;tim@idge.net&gt; -- linuxfromscratch.idge.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
&lt;thomas@sofagang.dk&gt; -- dk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:jeremy@linux-phreak.net">Jeremy Utley
</ulink> &lt;jeremy@linux-phreak.net&gt; -- lfs.linux-phreak.net mirror.
</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>South American Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel Canales
Esparcia</ulink> &lt;manuel@linuxfromscratch.org&gt; -- lfsmirror.lfs-es.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:sysop@mesi.com.ar">Andres Meggiotto</ulink>
&lt;sysop@mesi.com.ar&gt; -- lfs.mesi.com.ar mirror.</para></listitem>
<listitem><para><ulink url="mailto:ebf@aedsolucoes.com.br">Eduardo B.
Fonseca</ulink> &lt;ebf@aedsolucoes.com.br&gt; -- br.linuxfromscratch.org
mirror.</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>European Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:barna@siker.hu">Barna Koczka</ulink>
&lt;barna@siker.hu&gt; -- hu.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="http://www.mirror.ac.uk">UK Mirror Service</ulink>
-- linuxfromscratch.mirror.ac.uk mirror.</para></listitem>
<listitem><para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
&lt;Martin.Voss@ada.de&gt; -- lfs.linux-matrix.net mirror.</para></listitem>
<listitem><para>Unknown -- mirror.vtx.ch mirror</para></listitem>
<listitem><para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
&lt;guido@primerelay.net&gt; -- nl.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:baafie@planet.nl">Bastiaan Jacques</ulink>
&lt;baafie@planet.nl&gt; -- lfs.pagefault.net mirror</para></listitem>
<listitem><para><ulink url="mailto:lfs-mirror@linuxfromscratch.rave.org">Roel
Neefs</ulink> &lt;lfs-mirror@linuxfromscratch.rave.org&gt; -- linuxfromscratch.rave.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:justin@jrknierim.de">Justin Knierim</ulink>
&lt;justin@jrknierim.de&gt; -- www.lfs-matrix.de mirror</para></listitem>
<listitem><para><ulink url="mailto:stevie@stevie20.de">Stephan Brendel</ulink>
&lt;stevie@stevie20.de&gt; -- lfs.netservice-neuss.de
mirror.</para></listitem>
<listitem><para>Unknown -- linuxfromscratch.je-zi.de
mirror</para></listitem>
<listitem><para>Unknown -- linuxfromscratch.tuxcenter.net
mirror</para></listitem>
<listitem><para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
&lt;hrx@hrxnet.de&gt; -- de.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:Antonin.Sprinzl@tuwien.ac.at">Antonin
Sprinzl</ulink> &lt;Antonin.Sprinzl@tuwien.ac.at&gt; -- at.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:dag@stenstad.net">Dag Stenstad</ulink>
&lt;dag@stenstad.net&gt; for providing no.linuxfromscratch.org and
<ulink url="mailto:ian@ichilton.co.uk">Ian Chilton</ulink> for running
it.</para></listitem>
<listitem><para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
Danerklint</ulink> &lt;fredan-lfs@fredan.org&gt; -- se.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:archive@doc.cs.univ-paris8.fr">Parisian
sysadmins</ulink> &lt;archive@doc.cs.univ-paris8.fr&gt; --
www2.fr.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for providing and
running the linuxfromscratch.org server.</para></listitem>
<listitem><para><ulink url="mailto:velin@zadnik.org">Alexander Velin</ulink>
&lt;velin@zadnik.org&gt; -- bg.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:Martin.Voss@ada.de">Martin Voss</ulink>
&lt;Martin.Voss@ada.de&gt; -- lfs.linux-matrix.net mirror.</para></listitem>
<listitem><para><ulink url="mailto:dirk@securewebservices.co.uk">Dirk
Webster</ulink> &lt;dirk@securewebservices.co.uk&gt; --
lfs.securewebservices.co.uk mirror</para></listitem>
<listitem><para><ulink url="mailto:thomas@sofagang.dk">Thomas Skyt</ulink>
&lt;thomas@sofagang.dk&gt; -- dk.linuxfromscratch.org mirror.</para></listitem>
<listitem><para><ulink url="mailto:sime@dot-sime.com">Simon Nicoll</ulink>
&lt;sime@dot-sime.com&gt; -- uk.linuxfromscratch.org mirror.</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Asian Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:pyng@spam.averse.net">Pui Yong</ulink>
&lt;pyng@spam.averse.net&gt; -- sg.linuxfromscratch.org
mirror.</para></listitem>
<listitem><para><ulink url="mailto:stuart@althalus.me.uk">Stuart Harris</ulink>
&lt;stuart@althalus.me.uk&gt; -- lfs.mirror.intermedia.com.sg
mirror</para></listitem>
<listitem><para>Unknown -- lfs.mirror.if.itb.ac.id mirror</para></listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Australian Mirrors</title>
<itemizedlist>
<listitem><para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
&lt;jason@dstc.edu.au&gt; -- au.linuxfromscratch.org mirror.</para></listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2>
@ -296,7 +374,8 @@ LFS banner by Garrett LeSage.</para></listitem>
look at <ulink url="http://www.oswd.org/"/>.</para></listitem>
<listitem><para><ulink url="mailto:highos@linuxfromscratch.org">Jesse
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for answering
Tie-Ten-Quee</ulink> &lt;highos@linuxfromscratch.org&gt; for temporarily
hosting the linuxfromscratch.org server, answering
countless questions on IRC and having a great deal of patience.</para></listitem>
</itemizedlist>

View File

@ -7,7 +7,7 @@
<title>Structure</title>
<?dbhtml filename="organization.html"?>
<para>This book is divided into the following four parts:</para>
<para>This book is divided into the following parts:</para>
<sect2>
<title>Part I - Introduction</title>

View File

@ -1,92 +1,33 @@
<?xml version='1.0'?>
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- We use XHTML -->
<!-- We use XHTML -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/chunk.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-legalnotice.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<xsl:include href="xhtml/lfs-titles.xsl"/>
<xsl:include href="xhtml/lfs-toc.xsl"/>
<!-- The CSS Stylesheet -->
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
<!-- Include our customised templates -->
<xsl:include href="xhtml/lfs-toc.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<!-- Use graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">../images/</xsl:param>
<xsl:param name="admon.graphics.extension" select="'.png'"/>
<!-- Legal Notice stuff -->
<xsl:param name="generate.legalnotice.link" select="1"/>
<xsl:template match="legalnotice" mode="titlepage.mode">
<xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
<xsl:choose>
<xsl:when test="$generate.legalnotice.link != 0">
<xsl:variable name="filename">
<xsl:call-template name="make-relative-filename">
<xsl:with-param name="base.dir" select="''"/>
<xsl:with-param name="base.name" select="concat($base.dir, 'prologue/legalnotice.html')"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="title">
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="'prologue/legalnotice.html'"/>
</xsl:attribute>
<xsl:copy-of select="$title"/>
</xsl:element>
<xsl:call-template name="write.chunk">
<xsl:with-param name="filename" select="$filename"/>
<xsl:with-param name="quiet" select="$chunk.quietly"/>
<xsl:with-param name="content">
<html>
<head>
<xsl:call-template name="system.head.content"/>
<xsl:call-template name="head.content"/>
<xsl:call-template name="user.head.content"/>
</head>
<body>
<xsl:call-template name="body.attributes"/>
<div class="{local-name(.)}">
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</body>
</html>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div class="{local-name(.)}">
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--TOC stuff-->
<xsl:param name="generate.toc">
appendix toc
book toc,title,figure,table,example,equation
chapter nop
part toc
preface nop
qandadiv nop
qandaset nop
reference nop
sect1 nop
sect2 nop
sect3 nop
sect4 nop
sect5 nop
section nop
set nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="toc.max.depth">3</xsl:param>
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
<!-- No XML declaration -->
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
</xsl:stylesheet>

View File

@ -0,0 +1,32 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- We use XHTML -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/docbook.xsl"/>
<!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
<xsl:output method="html" encoding="ISO-8859-1" indent="no" />
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<!-- The following breaks hyperlinks in the TOC -->
<!-- <xsl:include href="xhtml/lfs-titles.xsl"/> -->
<xsl:include href="xhtml/lfs-toc.xsl"/>
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'lfs.css'"/>
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
</xsl:stylesheet>

View File

@ -1,127 +1,58 @@
<?xml version='1.0'?>
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-pdf.xsl created by Matthew Burgess -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- We use FO and FOP as the processor -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
<!-- Including our others customized templates -->
<xsl:include href="pdf/lfs-index.xsl"/>
<xsl:include href="pdf/lfs-pagesetup.xsl"/>
<!-- Probably want to make the paper size configurable -->
<xsl:param name="paper.type" select="'A4'"/>
<!-- Include our customised templates -->
<xsl:include href="pdf/lfs-index.xsl"/>
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
<!-- Margins -->
<xsl:param name="page.margin.inner">1in</xsl:param>
<xsl:param name="page.margin.outer">0.5in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<!-- TOC stuff -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
<xsl:param name="toc.indent.width" select="18"></xsl:param>
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">page</xsl:attribute>
</xsl:attribute-set>
<!-- Columns in appendix -->
<xsl:param name="column.count.back" select="2"/>
<!-- Don't hyphenate -->
<xsl:param name="hyphenate">false</xsl:param>
<xsl:param name="alignment">left</xsl:param>
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
<!-- Graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path"
select="'/usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/'"/>
<!-- Shade screen -->
<xsl:param name="shade.verbatim" select="1"/>
<!-- TOC generation -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"/>
<xsl:param name="toc.indent.width" select="18"/>
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
<xsl:template match="xref" name="xref">
<xsl:variable name="targets" select="key('id',@linkend)"/>
<xsl:variable name="target" select="$targets[1]"/>
<xsl:variable name="refelem" select="local-name($target)"/>
<xsl:call-template name="check.id.unique">
<xsl:with-param name="linkend" select="@linkend"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="$refelem=''">
<xsl:message>
<xsl:text>XRef to nonexistent id: </xsl:text>
<xsl:value-of select="@linkend"/>
</xsl:message>
<xsl:text>???</xsl:text>
</xsl:when>
<xsl:when test="@endterm">
<fo:basic-link internal-destination="{@linkend}"
xsl:use-attribute-sets="xref.properties">
<xsl:variable name="etargets" select="key('id',@endterm)"/>
<xsl:variable name="etarget" select="$etargets[1]"/>
<xsl:choose>
<xsl:when test="count($etarget) = 0">
<xsl:message>
<xsl:value-of select="count($etargets)"/>
<xsl:text>Endterm points to nonexistent ID: </xsl:text>
<xsl:value-of select="@endterm"/>
</xsl:message>
<xsl:text>???</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="$etarget" mode="endterm"/>
</xsl:otherwise>
</xsl:choose>
</fo:basic-link>
</xsl:when>
<xsl:when test="$target/@xreflabel">
<fo:basic-link internal-destination="{@linkend}"
xsl:use-attribute-sets="xref.properties">
<xsl:call-template name="xref.xreflabel">
<xsl:with-param name="target" select="$target"/>
</xsl:call-template>
</fo:basic-link>
</xsl:when>
<xsl:otherwise>
<fo:basic-link internal-destination="{@linkend}"
xsl:use-attribute-sets="xref.properties">
<xsl:apply-templates select="$target" mode="xref-to">
<xsl:with-param name="referrer" select="."/>
<xsl:with-param name="xrefstyle">
<xsl:choose>
<xsl:when test="@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0">
<xsl:value-of select="@role"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@xrefstyle"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</fo:basic-link>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="not(starts-with(normalize-space(@xrefstyle), 'select:') != ''
and (contains(@xrefstyle, 'page')
or contains(@xrefstyle, 'Page')))
and ( $insert.xref.page.number = 'yes'
or $insert.xref.page.number = '1')
or local-name($target) = 'para'">
<fo:basic-link internal-destination="{@linkend}"
xsl:use-attribute-sets="xref.properties">
<xsl:text>, p. </xsl:text>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="@linkend"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:if>
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<xsl:text>[p.</xsl:text>
<fo:page-number-citation ref-id="{$id}"/>
<xsl:text>]</xsl:text>
</fo:inline>
</xsl:template>
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->

57
stylesheets/lfs-print.xsl Normal file
View File

@ -0,0 +1,57 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-pdf.xsl created by Matthew Burgess -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<!-- We use FO and FOP as the processor -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
<!-- Including our others customized templates -->
<xsl:include href="print/lfs-index.xsl"/>
<xsl:include href="print/lfs-pagesetup.xsl"/>
<!-- Probably want to make the paper size configurable -->
<xsl:param name="paper.type" select="'A4'"/>
<!-- Printing Style -->
<xsl:param name="double.sided" select="1"/>
<xsl:param name="hyphenate">true</xsl:param>
<xsl:param name="alignment">justify</xsl:param>
<!-- Hyphenate links -->
<xsl:param name="ulink.hyphenate" select="' '"></xsl:param>
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
<!-- TOC stuff -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
<xsl:param name="toc.indent.width" select="18"></xsl:param>
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<xsl:text>[p</xsl:text>
<fo:page-number-citation ref-id="{$id}"/>
<xsl:text>]</xsl:text>
</fo:inline>
</xsl:template>
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
<xsl:param name="ulink.show" select="0"/>
</xsl:stylesheet>

78
stylesheets/lfs-tex.xsl Normal file
View File

@ -0,0 +1,78 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Created by Larry Lawrence <larry@linuxfromscratch.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version='1.0'>
<xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/>
<xsl:output method="text" encoding="ISO-8859-1" indent="yes"/>
<xsl:variable name="latex.override">
\documentclass[12pt]{book}
\usepackage{lfs}
\usepackage{fancyhdr}
\usepackage{fancyvrb}
\usepackage{makeidx}
\usepackage{hyperref}
\usepackage{fancybox}
\oddsidemargin -0.5in
\evensidemargin -0.625in
\textwidth 7in
\textheight 8.5in
%\ifx\pdfoutput\undefined
%\else
%\pdfpagewidth=7in
%\pdfpageheight=8.5in
%\fi
\pagestyle{fancy}
\newenvironment{admonition}[2] {
\vspace{8mm}
\hspace{0mm}\newline
\noindent
}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{3pt}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
\hyphenation{change-log cpp-flags ctrlaltdel ma-cros chil-ton}
<!-- adds \frontmatter to document -->
</xsl:variable>
<xsl:variable name="toc.section.depth">1</xsl:variable>
<xsl:variable name="latex.book.begindocument">
<xsl:text>\begin{document}&#10;</xsl:text>
<xsl:text>\frontmatter&#10;</xsl:text>
</xsl:variable>
<!-- This put each section on a new page in the preface section -->
<xsl:template match="preface/sect1">
<xsl:text>&#10;</xsl:text>
<xsl:text>\newpage&#10;</xsl:text>
<xsl:text>\section*{</xsl:text><xsl:copy-of
select="normalize-space(title)"/><xsl:text>}&#10;</xsl:text>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,24 +1,17 @@
body {
font-weight: normal;
font-size: normal;
font-size: medium;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
text-align: left;
background: #fff;
}
div.navheader table {
font-size: smaller;
.toc ul, .index ul {
list-style: none;
}
div.navfooter table {
font-size: smaller;
}
div.navheader img {
border: medium none;
}
div.navfooter img {
border: medium none;
li.preface {
margin-left: 2.5em;
}
div.book div.titlepage h1.title {
@ -68,40 +61,19 @@ pre.synopsis {
background-color: #dddddd;
}
div.warning {
border: 1px solid;
div.admonition {
border: medium solid;
width: 90%;
margin: .5em auto;
}
div.note {
border: 1px solid;
div.admonhead h3 {
display: inline;
margin-left: 1.5em;
}
div.important {
border: 1px solid;
}
div.caution {
border: 1px solid;
}
div.warning h3.title {
text-align: center
}
div.warning p {
padding-left: 0.2in
}
div.note {
padding-left: 0.2in
}
div.important {
padding-left: 0.2in
}
div.caution {
padding-left: 0.2in
div.admonbody {
margin: .5em;
}
.command {
@ -118,7 +90,3 @@ div.caution {
width: 12.5em;
float: left;
}
.toc ul, .index ul, .navheader ul, .navfooter ul {
list-style: none;
}

View File

@ -0,0 +1,24 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9pre1 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original patcheslist.xsl posted by Matthew Burgess -->
<!-- This also work again BLFS -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text"/>
<xsl:template match="//text()">
<xsl:text/>
</xsl:template>
<xsl:template match="//ulink">
<xsl:if test="contains(@url, '.patch')">
<xsl:value-of select="@url"/>
<xsl:text>&#x0a;</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,196 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
<!ENTITY sep '" "'>
]>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<!--Only one column to fit the table layout-->
<xsl:param name="column.count.index" select="1"/>
<!--Title-->
<xsl:template match="index" mode="title.markup">
<xsl:text>Index of packages and important installed files</xsl:text>
</xsl:template>
<!-- Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<fo:block>
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<xsl:call-template name="indexdiv.title">
<xsl:with-param name="titlecontent">
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programs</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Libraries</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Others</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-number="1" column-width="11em"/>
<fo:table-column column-number="2" column-width="19em"/>
<fo:table-column column-number="3"/>
<fo:table-body>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:if>
</xsl:template>
<!-- Dropping the separator from here -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso)
and not(secondary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
<xsl:if test="$refs/secondary">
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block start-indent="1pc">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso) and not(tertiary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
</xsl:template>
<!-- Targets titles and bookmarks-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="id2">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id2}">
<xsl:text>description</xsl:text>
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,115 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
<!-- Header -->
<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="font-family">
<xsl:value-of select="$body.fontset"/>
</xsl:attribute>
<xsl:attribute name="text-align">right</xsl:attribute>
</xsl:attribute-set>
<xsl:template name="header.content">
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</xsl:template>
<xsl:template name="header.table">
<xsl:param name="gentext-key" select="''"/>
<xsl:choose>
<xsl:when test="$gentext-key = 'book'"/>
<xsl:otherwise>
<xsl:call-template name="header.content"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Centered titles for book and part -->
<xsl:template name="book.titlepage">
<fo:block space-before="2in">
<fo:block>
<xsl:call-template name="book.titlepage.before.recto"/>
<xsl:call-template name="book.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="book.titlepage.before.verso"/>
<xsl:call-template name="book.titlepage.verso"/>
</fo:block>
<xsl:call-template name="book.titlepage.separator"/>
</fo:block>
</xsl:template>
<xsl:template name="part.titlepage">
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:block space-before="2.5in">
<xsl:call-template name="part.titlepage.before.recto"/>
<xsl:call-template name="part.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="part.titlepage.before.verso"/>
<xsl:call-template name="part.titlepage.verso"/>
</fo:block>
<xsl:call-template name="part.titlepage.separator"/>
</fo:block>
</xsl:template>
<!-- Margins -->
<xsl:param name="page.margin.inner">0.75in</xsl:param>
<xsl:param name="page.margin.outer">0.75in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<xsl:attribute-set name="normal.para.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.block.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="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>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<!-- Others-->
<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>
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
</xsl:stylesheet>

View File

@ -0,0 +1,127 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<!--Title-->
<xsl:template match="index" mode="title.markup">
<xsl:param name="allow-anchors" select="0"/>
<xsl:text>Index of packages and important installed files</xsl:text>
</xsl:template>
<!-- Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<fo:block>
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<xsl:call-template name="indexdiv.title">
<xsl:with-param name="titlecontent">
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programs</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Libraries</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Others</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:block>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:block>
</fo:block>
</xsl:if>
</xsl:template>
<!-- The separator -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:text>: </xsl:text>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
<!--Bookmarks-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('id', $zone2)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="id2">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
<xsl:text> , </xsl:text>
<fo:basic-link internal-destination="{$id2}">
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('id', $zone)[&scope;]"/>
<xsl:variable name="id">
<xsl:call-template name="object.id">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,120 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
<!-- Header -->
<xsl:template name="header.content">
<xsl:param name="sequence" select="''"/>
<fo:block>
<xsl:attribute name="text-align">
<xsl:choose>
<xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
<xsl:otherwise>left</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</fo:block>
</xsl:template>
<xsl:template name="header.table">
<xsl:param name="sequence" select="''"/>
<xsl:param name="gentext-key" select="''"/>
<xsl:choose>
<xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
<xsl:otherwise>
<xsl:call-template name="header.content">
<xsl:with-param name="sequence" select="$sequence"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Centered titles for book and part -->
<xsl:template name="book.titlepage">
<fo:block space-before="2in">
<fo:block>
<xsl:call-template name="book.titlepage.before.recto"/>
<xsl:call-template name="book.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="book.titlepage.before.verso"/>
<xsl:call-template name="book.titlepage.verso"/>
</fo:block>
<xsl:call-template name="book.titlepage.separator"/>
</fo:block>
</xsl:template>
<xsl:template name="part.titlepage">
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:block space-before="2.5in">
<xsl:call-template name="part.titlepage.before.recto"/>
<xsl:call-template name="part.titlepage.recto"/>
</fo:block>
<fo:block>
<xsl:call-template name="part.titlepage.before.verso"/>
<xsl:call-template name="part.titlepage.verso"/>
</fo:block>
<xsl:call-template name="part.titlepage.separator"/>
</fo:block>
</xsl:template>
<!-- Margins -->
<xsl:param name="page.margin.inner">1in</xsl:param>
<xsl:param name="page.margin.outer">0.5in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<xsl:attribute-set name="normal.para.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.block.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="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>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
</xsl:attribute-set>
<!-- Others-->
<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>
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
</xsl:stylesheet>

View File

@ -0,0 +1,47 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- Use graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">../images/</xsl:param>
<xsl:param name="admon.graphics.extension" select="'.png'"/>
<!-- Changing the output tagging -->
<xsl:template name="graphical.admonition">
<xsl:variable name="admon.type">
<xsl:choose>
<xsl:when test="local-name(.)='note'">Note</xsl:when>
<xsl:when test="local-name(.)='warning'">Warning</xsl:when>
<xsl:when test="local-name(.)='caution'">Caution</xsl:when>
<xsl:when test="local-name(.)='tip'">Tip</xsl:when>
<xsl:when test="local-name(.)='important'">Important</xsl:when>
<xsl:otherwise>Note</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<div class="admonition">
<div class ="admonhead">
<img alt="[{$admon.type}]">
<xsl:attribute name="src">
<xsl:call-template name="admon.graphic"/>
</xsl:attribute>
</img>
<h3 class="{name(.)}">
<xsl:value-of select="$admon.type"/>
<xsl:if test="title">
<xsl:text>: </xsl:text>
<xsl:value-of select="title"/>
</xsl:if>
</h3>
</div>
<div class="admonbody">
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,188 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!--Filename-->
<xsl:template match="index" mode="recursive-chunk-filename">
<xsl:text>longindex.html</xsl:text>
</xsl:template>
<!--Title-->
<xsl:param name="index-title">Index of packages and important installed files</xsl:param>
<xsl:template match="index" mode="title.markup">
<xsl:value-of select="$index-title"/>
</xsl:template>
<xsl:template name="index.titlepage">
<div class="titlepage">
<h1 class="index">
<xsl:value-of select="$index-title"/>
</h1>
</div>
</xsl:template>
<!--Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<!-- Make sure that we don't generate a div if there are no terms in scope -->
<xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<div class="indexdiv">
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<h2>
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'B'">
<xsl:text>Programs</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'C'">
<xsl:text>Libraries</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'D'">
<xsl:text>Scripts</xsl:text>
</xsl:when>
<xsl:when test="$divtitle = 'E'">
<xsl:text>Others</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</h2>
</xsl:if>
<ul>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</div>
</xsl:if>
</xsl:template>
<!-- Dropping the separator from here-->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<li>
<strong class="item">
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
<xsl:if test="$refs/secondary">
<ul>
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)]))))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:template>
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &#34; &#34;,
normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<li>
<strong class="secitem">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</li>
</xsl:template>
<!--Links (This template also fix a bug in the original code)-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
<xsl:choose>
<xsl:when test="contains($zones, ' ')">
<xsl:variable name="zone" select="substring-before($zones, ' ')"/>
<xsl:variable name="zone2" select="substring-after($zones, ' ')"/>
<xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
<xsl:variable name="target2" select="key('sections', $zone2)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
<xsl:text> -- </xsl:text>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:text>description</xsl:text>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
<xsl:variable name="target" select="key('sections', $zone)[&scope;]"/>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$target[1]" mode="index-title-content"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Dropping unneeded anchors -->
<xsl:template match="indexterm"/>
</xsl:stylesheet>

View File

@ -0,0 +1,76 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- Generating the page -->
<xsl:template match="legalnotice" mode="titlepage.mode">
<xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
<xsl:variable name="filename" select="concat($base.dir, 'prologue/legalnotice.html')"/>
<xsl:variable name="title">
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:call-template name="write.chunk">
<xsl:with-param name="filename" select="$filename"/>
<xsl:with-param name="quiet" select="$chunk.quietly"/>
<xsl:with-param name="content">
<html>
<head>
<xsl:call-template name="system.head.content"/>
<xsl:call-template name="head.content"/>
<xsl:call-template name="user.head.content"/>
</head>
<body>
<xsl:call-template name="body.attributes"/>
<div class="{local-name(.)}">
<xsl:apply-templates mode="titlepage.mode"/>
</div>
<hr/>
<div class="navfooter">
<ul class="footerlinks">
<li>
<a accesskey="h">
<xsl:attribute name="href">
<xsl:text>../index.html</xsl:text>
</xsl:attribute>
<xsl:text>Home</xsl:text>
</a>
</li>
</ul>
</div>
</body>
</html>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- Making the link-->
<xsl:template match="copyright" mode="titlepage.mode">
<p class="{name(.)}">
<a>
<xsl:attribute name="href">
<xsl:value-of select="'prologue/legalnotice.html'"/>
</xsl:attribute>
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'Copyright'"/>
</xsl:call-template>
</a>
<xsl:call-template name="gentext.space"/>
<xsl:call-template name="dingbat">
<xsl:with-param name="dingbat">copyright</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="gentext.space"/>
<xsl:call-template name="copyright.years">
<xsl:with-param name="years" select="year"/>
<xsl:with-param name="print.ranges" select="$make.year.ranges"/>
<xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
</xsl:call-template>
<xsl:call-template name="gentext.space"/>
<xsl:apply-templates select="holder" mode="titlepage.mode"/>
</p>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,39 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:template match="screen">
<xsl:choose>
<!-- Temporally hack -->
<xsl:when test="child::* = userinput">
<pre class="{name(.)}">
<kbd class="command">
<xsl:value-of select="."/>
</kbd>
</pre>
</xsl:when>
<!-- This should be fixed in the XML code -->
<!--
<xsl:when test="contains(text() , 'SBU')">
<p class="sbu">
<tt>
<xsl:value-of select="substring-before(text() , 'R')"/>
<br/>
<xsl:value-of select="substring-after(text() , 'U')"/>
</tt>
</p>
</xsl:when>
-->
<xsl:otherwise>
<pre class="{name(.)}">
<xsl:apply-templates/>
</pre>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,98 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- Dropping the HEAD links -->
<xsl:template name="html.head">
<head>
<xsl:call-template name="system.head.content"/>
<xsl:call-template name="head.content"/>
<xsl:call-template name="user.head.content"/>
</head>
</xsl:template>
<!-- Header Navigation-->
<xsl:template name="header.navigation">
<xsl:param name="prev" select="/foo"/>
<xsl:param name="next" select="/foo"/>
<xsl:param name="nav.context"/>
<xsl:variable name="home" select="/*[1]"/>
<xsl:variable name="up" select="parent::*"/>
<xsl:variable name="row" select="count($prev) &gt; 0 or (count($up) &gt; 0
and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
<xsl:if test="$row and $home != .">
<div class="navheader">
<xsl:if test="$home != .">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">
<h4>
<xsl:apply-templates select="$home" mode="object.title.markup"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
</h4>
</th>
</tr>
<xsl:if test="$up != $home">
<tr>
<th colspan="3" align="center">
<h3>
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</h3>
</th>
</tr>
</xsl:if>
<tr>
<td width="33%" align="left">
<a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<xsl:text>&#160;</xsl:text>
</td>
<td width="34%" align="center">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</td>
<td width="33%" align="right">
<xsl:text>&#160;</xsl:text>
<xsl:if test="count($next)&gt;0">
<a accesskey="n">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$next"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'next'"/>
</xsl:call-template>
</a>
</xsl:if>
</td>
</tr>
</table>
<hr/>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,80 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9- Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:template name="part.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
<xsl:template name="chapter.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
<xsl:template name="preface.titlepage">
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:template>
<xsl:template name="sect1.titlepage">
<xsl:choose>
<!-- I should find a better test -->
<xsl:when test="position() = 4">
<div class="titlepage">
<xsl:if test="@id">
<a id="{@id}" name="{@id}"/>
</xsl:if>
<h2 class="{name(.)}">
<xsl:value-of select="title"/>
</h2>
</div>
</xsl:when>
<xsl:otherwise>
<div class="titlepage">
<h1 class="{name(.)}">
<xsl:value-of select="title"/>
</h1>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="sect2.titlepage">
<xsl:choose>
<xsl:when test="string-length(title) = 0"/>
<xsl:otherwise>
<div class="titlepage">
<xsl:if test="@id">
<a id="{@id}" name="{@id}"/>
</xsl:if>
<h3 class="{name(.)}">
<xsl:value-of select="title"/>
</h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="dedication.titlepage">
<div class="titlepage">
<h2 class="{name(.)}">
<xsl:value-of select="title"/>
</h2>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,144 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- General settings -->
<xsl:param name="generate.toc">
appendix toc
book toc,title,figure,table,example,equation
chapter nop
part toc
preface nop
qandadiv nop
qandaset nop
reference nop
sect1 nop
sect2 nop
sect3 nop
sect4 nop
sect5 nop
section nop
set nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="toc.max.depth">3</xsl:param>
<!-- Making the TOC -->
<xsl:template name="make.toc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
<xsl:if test="$nodes">
<div class="toc">
<h3>
<xsl:call-template name="gentext">
<xsl:with-param name="key">TableofContents</xsl:with-param>
</xsl:call-template>
</h3>
<ul>
<xsl:apply-templates select="$nodes" mode="toc">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:apply-templates>
</ul>
</div>
</xsl:if>
</xsl:template>
<!-- Making the subtocs -->
<xsl:template name="subtoc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="nodes" select="NOT-AN-ELEMENT"/>
<xsl:variable name="subtoc">
<ul>
<xsl:apply-templates mode="toc" select="$nodes">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:apply-templates>
</ul>
</xsl:variable>
<xsl:variable name="depth">
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="depth.from.context"
select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
<li class="{name(.)}">
<xsl:call-template name="toc.line">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
<xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
and $toc.max.depth &gt; $depth.from.context">
<xsl:copy-of select="$subtoc"/>
</xsl:if>
</li>
</xsl:template>
<!--Adding the h* tags and dropping redundats links-->
<xsl:template name="toc.line">
<xsl:param name="toc-context" select="."/>
<xsl:param name="depth" select="1"/>
<xsl:param name="depth.from.context" select="8"/>
<xsl:choose>
<xsl:when test="local-name(.) = 'sect1'">
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</a>
</xsl:when>
<xsl:when test="local-name(.) = 'chapter' or local-name(.) = 'preface'">
<h4>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</h4>
</xsl:when>
<xsl:when test="local-name(.) = 'part'">
<h3>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</h3>
</xsl:when>
<xsl:otherwise>
<h3>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:variable name="label">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:copy-of select="$label"/>
<xsl:if test="$label != ''">
<xsl:value-of select="$autotoc.label.separator"/>
</xsl:if>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</a>
</h3>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

17
tidy.conf Normal file
View File

@ -0,0 +1,17 @@
indent-spaces: 2
wrap: 78
tab-size: 8
input-encoding: latin1
output-encoding: latin1
newline: CRLF
write-back: yes
markup: yes
indent: yes
hide-endtags: no
uppercase-tags: no
logical-emphasis: no
drop-font-tags: no
tidy-mark: no
numeric-entities: no
show-warnings: no
quiet: yes