forked from LCTT/LFS-BOOK
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4dd9bc6
Showing
2,170 changed files
with
574,480 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
LFS Book Conversion Tools Installation Instructions | ||
|
||
After downloading the SVN source, there are some things that need to be set up | ||
on your computer if you want to convert the XML source into something easier to | ||
read (e.g. HTML, TXT, or PDF). If you are interested in this, then keep | ||
reading. If you are only interested in editing the XML source for re- | ||
submission to the lfs-book or lfs-dev mailing lists, then you do not need this | ||
document. Instead, you need to read the LFS Editor's Manual. See the LFS | ||
website at http://www.linuxfromscratch.org for more information. | ||
|
||
------------------------------------------------------------------------------- | ||
|
||
If you want to convert the XML to HTML, install the following: | ||
|
||
* libxml2 | ||
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html | ||
|
||
* libxslt | ||
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxslt.html | ||
|
||
* DocBook DTD | ||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html | ||
|
||
* DocBook XSL Stylesheets | ||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html | ||
|
||
* HTMLTidy | ||
- http://www.linuxfromscratch.org/blfs/view/svn/general/tidy-html5.html | ||
|
||
------------------------------------------------------------------------------- | ||
|
||
If you want to convert the XML to TXT, install the above items, and then install | ||
the following: | ||
|
||
* lynx | ||
- http://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html | ||
|
||
------------------------------------------------------------------------------- | ||
|
||
If you want to convert the XML to PDF, install the items listed above (except | ||
lynx) and then install the following: | ||
|
||
* JDK | ||
- http://www.linuxfromscratch.org/blfs/view/svn/general/openjdk.html | ||
|
||
* FOP and JAI | ||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/fop.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
#BASEDIR = ~/lfs-book | ||
#SYSDDIR = ~/lfs-systemd | ||
#DUMPDIR = ~/lfs-commands | ||
RENDERTMP = $(HOME)/tmp | ||
CHUNK_QUIET = 1 | ||
ROOT_ID = | ||
SHELL = /bin/bash | ||
|
||
ifdef V | ||
Q = | ||
else | ||
Q = @ | ||
endif | ||
|
||
ifndef REV | ||
REV = sysv | ||
endif | ||
|
||
ifneq ($(REV), sysv) | ||
ifneq ($(REV), systemd) | ||
$(error REV must be 'sysv' (default) or 'systemd'.) | ||
endif | ||
endif | ||
|
||
ifeq ($(REV), sysv) | ||
BASEDIR ?= ~/lfs-book | ||
PDF_OUTPUT ?= LFS-BOOK.pdf | ||
NOCHUNKS_OUTPUT ?= LFS-BOOK.html | ||
DUMPDIR ?= ~/lfs-commands | ||
else | ||
BASEDIR ?= ~/lfs-systemd | ||
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf | ||
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html | ||
DUMPDIR ?= ~/lfs-sysd-commands | ||
endif | ||
|
||
book: validate profile-html | ||
@echo "Generating chunked XHTML files at $(BASEDIR)/ ..." | ||
$(Q)xsltproc --nonet \ | ||
--stringparam chunk.quietly $(CHUNK_QUIET) \ | ||
--stringparam rootid "$(ROOT_ID)" \ | ||
--stringparam base.dir $(BASEDIR)/ \ | ||
stylesheets/lfs-chunked.xsl \ | ||
$(RENDERTMP)/lfs-html.xml | ||
|
||
@echo "Copying CSS code and images..." | ||
$(Q)mkdir -p $(BASEDIR)/stylesheets | ||
$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets | ||
$(Q)pushd $(BASEDIR)/ > /dev/null; \ | ||
sed -i -e "s@../stylesheets@stylesheets@g" *.html; \ | ||
popd > /dev/null | ||
|
||
$(Q)mkdir -p $(BASEDIR)/images | ||
$(Q)cp images/*.png $(BASEDIR)/images | ||
|
||
@echo "Running Tidy and obfuscate.sh..." | ||
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \ | ||
tidy -config tidy.conf $$filename; \ | ||
true; \ | ||
/bin/bash obfuscate.sh $$filename; \ | ||
sed -e "s@text/html@application/xhtml+xml@g" \ | ||
-e "s/\xa9/\©/ " \ | ||
-i $$filename; \ | ||
done; | ||
|
||
$(Q)$(MAKE) --no-print-directory wget-list md5sums | ||
|
||
pdf: validate | ||
@echo "Generating profiled XML for PDF..." | ||
$(Q)xsltproc --nonet \ | ||
--stringparam profile.condition pdf \ | ||
--output $(RENDERTMP)/lfs-pdf.xml \ | ||
stylesheets/lfs-xsl/profile.xsl \ | ||
$(RENDERTMP)/lfs-full.xml | ||
|
||
@echo "Generating FO file..." | ||
$(Q)xsltproc --nonet \ | ||
--stringparam rootid "$(ROOT_ID)" \ | ||
--output $(RENDERTMP)/lfs-pdf.fo \ | ||
stylesheets/lfs-pdf.xsl \ | ||
$(RENDERTMP)/lfs-pdf.xml | ||
|
||
$(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/lfs-pdf.fo | ||
$(Q)bash pdf-fixups.sh $(RENDERTMP)/lfs-pdf.fo | ||
|
||
@echo "Generating PDF file..." | ||
$(Q)mkdir -p $(RENDERTMP)/images | ||
$(Q)cp images/*.png $(RENDERTMP)/images | ||
|
||
$(Q)mkdir -p $(BASEDIR) | ||
|
||
$(Q)fop -q $(RENDERTMP)/lfs-pdf.fo $(BASEDIR)/$(PDF_OUTPUT) 2>fop.log | ||
@echo "$(BASEDIR)/$(PDF_OUTPUT) created" | ||
@echo "fop.log created" | ||
|
||
nochunks: validate profile-html | ||
@echo "Generating non chunked XHTML file..." | ||
$(Q)xsltproc --nonet \ | ||
--stringparam rootid "$(ROOT_ID)" \ | ||
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \ | ||
stylesheets/lfs-nochunks.xsl \ | ||
$(RENDERTMP)/lfs-html2.xml | ||
|
||
@echo "Running Tidy..." | ||
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true | ||
|
||
@echo "Running obfuscate.sh..." | ||
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT) | ||
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(BASEDIR)/$(NOCHUNKS_OUTPUT) | ||
$(Q)sed -i -e "s@../wget-list@wget-list@" $(BASEDIR)/$(NOCHUNKS_OUTPUT) | ||
$(Q)sed -i -e "s@../md5sums@md5sums@" $(BASEDIR)/$(NOCHUNKS_OUTPUT) | ||
$(Q)sed -i -e "s@\xa9@\©@" $(BASEDIR)/$(NOCHUNKS_OUTPUT) | ||
|
||
@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)" | ||
|
||
tmpdir: | ||
@echo "Creating and cleaning $(RENDERTMP)" | ||
$(Q)mkdir -p $(RENDERTMP) | ||
$(Q)rm -f $(RENDERTMP)/lfs*.xml | ||
$(Q)rm -f $(RENDERTMP)/*wget* | ||
$(Q)rm -f $(RENDERTMP)/*md5sum* | ||
$(Q)rm -f $(RENDERTMP)/*pdf.fo | ||
|
||
validate: tmpdir | ||
@echo "Processing bootscripts..." | ||
$(Q)bash process-scripts.sh | ||
|
||
@echo "Adjusting for revision $(REV)..." | ||
$(Q)xsltproc --nonet \ | ||
--xinclude \ | ||
--output $(RENDERTMP)/lfs-html2.xml \ | ||
--stringparam profile.revision $(REV) \ | ||
stylesheets/lfs-xsl/profile.xsl \ | ||
index.xml | ||
|
||
@echo "Validating the book..." | ||
$(Q)xmllint --nonet \ | ||
--noent \ | ||
--postvalid \ | ||
-o $(RENDERTMP)/lfs-full.xml \ | ||
$(RENDERTMP)/lfs-html2.xml | ||
|
||
$(Q)rm -f appendices/*.script | ||
$(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml | ||
@echo "Validation complete." | ||
|
||
profile-html: | ||
@echo "Generating profiled XML for XHTML..." | ||
$(Q)xsltproc --nonet \ | ||
--stringparam profile.condition html \ | ||
--output $(RENDERTMP)/lfs-html.xml \ | ||
stylesheets/lfs-xsl/profile.xsl \ | ||
$(RENDERTMP)/lfs-full.xml | ||
|
||
wget-list: $(BASEDIR)/wget-list | ||
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \ | ||
packages.ent patches.ent | ||
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..." | ||
$(Q)mkdir -p $(BASEDIR) | ||
|
||
# $(Q)xsltproc --nonet --xinclude \ | ||
# --stringparam profile.revision $(REV) \ | ||
# --output $(RENDERTMP)/sysd-wget.xml \ | ||
# stylesheets/lfs-xsl/profile.xsl \ | ||
# chapter03/chapter03.xml | ||
|
||
$(Q)xsltproc --xinclude --nonet \ | ||
--output $(BASEDIR)/wget-list \ | ||
stylesheets/wget-list.xsl \ | ||
chapter03/chapter03.xml | ||
|
||
md5sums: $(BASEDIR)/md5sums | ||
$(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ | ||
packages.ent patches.ent | ||
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..." | ||
$(Q)mkdir -p $(BASEDIR) | ||
|
||
$(Q)xsltproc --nonet --xinclude \ | ||
--stringparam profile.revision $(REV) \ | ||
--output $(RENDERTMP)/sysv-md5sum.xml \ | ||
stylesheets/lfs-xsl/profile.xsl \ | ||
chapter03/chapter03.xml | ||
|
||
$(Q)xsltproc --xinclude --nonet \ | ||
--output $(BASEDIR)/md5sums \ | ||
stylesheets/md5sum.xsl \ | ||
$(RENDERTMP)/sysv-md5sum.xml | ||
$(Q)sed -i -e \ | ||
"s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.bz2 | cut -d' ' -f1)/" \ | ||
$(BASEDIR)/md5sums | ||
|
||
#dump-commands: validate | ||
# @echo "Dumping book commands..." | ||
# $(Q)xsltproc --nonet \ | ||
# --output $(RENDERTMP)/lfs-html.xml \ | ||
# --stringparam profile.revision $(REV) \ | ||
# stylesheets/lfs-xsl/profile.xsl \ | ||
# $(RENDERTMP)/lfs-full.xml | ||
|
||
# $(Q)rm -rf $(DUMPDIR) | ||
|
||
# $(Q)xsltproc --output $(DUMPDIR)/ \ | ||
# stylesheets/dump-commands.xsl \ | ||
# $(RENDERTMP)/lfs-html.xml | ||
# @echo "Dumping book commands complete in $(DUMPDIR)" | ||
|
||
all: book nochunks pdf # dump-commands | ||
|
||
.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
LFS Book README | ||
|
||
This document is meant to instruct the user on how to convert the book's XML | ||
source to other formats (e.g. HTML, PDF, PS and TXT). First, if you have not | ||
already done so, please read the INSTALL file for instructions on how to install | ||
the required software. If you have already completed the steps outlined in the | ||
INSTALL file, then continue reading for examples how to convert these files into | ||
various other formats. | ||
|
||
In all examples, setting the parameter REV=systemd is needed to build the | ||
systemd version of the book. | ||
|
||
XML to XHTML: | ||
------------- | ||
make BASEDIR=/path/to/output/location | ||
|
||
|
||
XML to single file XHTML (nochunks): | ||
------------------------------------ | ||
make BASEDIR=/path/to/output/location nochunks | ||
|
||
XML to TXT | ||
---------- | ||
Follow the instructions for nochunks and then run: | ||
lynx -dump /path/to/nochunks >/path/to/output | ||
|
||
XML to PDF: | ||
----------- | ||
make BASEDIR=/path/to/output/location pdf | ||
|
||
|
Oops, something went wrong.