summaryrefslogtreecommitdiff
path: root/doc/building.txt
blob: 9aaa6c18b8ced069c12ebbee8a392eb94c8c3fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
This document describes how the scripts in this directory can be used for
building the Debian Installer Manual.

The scripts support building the manual for different architectures, in
different languages and in different document types.
The currently supported document types are:
- html
- pdf
- txt


1. Requirements:
================

The build dependencies depend on which document types you wish to generate:
all     : dpkg-dev, docbook, docbook-xml, docbook-xsl, xsltproc, poxml
html    : (no additional packages required)
pdf     : docbook-dsssl, ghostscript, dblatex
txt     : w3m

For some languages additional packages are needed to build pdf:
ko      : fonts-wqy-microhei
ru      : cm-super (type1 fonts)
zh      : fonts-wqy-microhei
ja      : fonts-vlgothic


2. Included Files:
==================

SCRIPTS
-------
buildone.sh: For given architecture and language builds one set of
    documentation in .html, .fo (and sometimes .pdf).

build.sh: For each language and architecture calls buildone.sh, moves
    rendered documentation somewhere and cleans after that.

clear.sh: Does the actual cleaning.

In ./templates
--------------
install.xml.template: Main xml file used to aggregate various parts into
    one big whole. This is a bit customized compared to the original
    (changed SYSTEM entities, hardcode local path to docbook dtd -- broken
    system xml catalogs?)

docstruct.ent: Describes physical structure of documentation. Not
    included directly (because of hardcoded en/ path), but in a form
    of dynamic.ent (after some path replacing by sed).

In ./entities
-------------
common.ent: Contains various entities like &num-of-distrib-packages;
    &debian-gnu; &arch-title; ...

urls.ent: Contains various urls used through the manual.

dynamic.ent: Generated on-the-fly from the shell script buildone.sh.
    Contains lang and arch specific entities which can't be profiled
    the usual xml way.

any other .ent: Location of installation files (kernels, boot disks,
    base tarballs) for various architectures.

In ./stylesheets
----------------
style-common.xsl: Common parameters for xsl transformation.

style-html.xsl: HTML-specific parameters for xsl transformation.

style-fo.xsl: FO-specific parameters for xsl transformation.
    (currently unused)

install.css: cascading stylesheet.

dblatex.xsl: set fonts used for building pdf.

In ./arch-options
-----------------
A file for each architecture where architecture specific parameters
are set.

3. Building:
============

After you customize build*.sh and style-*.xsl to suit your needs
(esp. various paths), you can run

 ./buildone.sh <architecture> <language> <format(s)>

to build documentation for one specific architecture and language, and
one or more output formats.
If you call buildone.sh without any parameters, it will build the html
version of the English manual for i386 (equivalent to 'i386 en html').
If you specify multiple output formats, you should put quotes around them.
Example: ./buildone.sh sparc es "html pdf"

For mass building you can use ./build.sh script.


-- 
05. December 2004 Frans Pop
27. January 2004  Miroslav Kure