aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/texinfo.xml
blob: 9fc61bde09e08edddcfe9e243ba9ab08311217b1 (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>
<sect1 id="ch-system-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title>
<?dbhtml filename="texinfo.html"?>

<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>

<sect2 role="package"><title/>
<para>The Texinfo package contains programs for reading, writing, and
converting info pages.</para>

<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>14.7 MB</seg></seglistitem>
</segmentedlist>

<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>

<sect2 role="installation">
<title>Installation of Texinfo</title>

<para>Texinfo allows local users to overwrite arbitrary files via a symlink attack 
on temporary files. Apply the following patch to fix this:</para>

<screen><userinput>patch -Np1 -i ../&texinfo-tempfile_fix-patch;</userinput></screen>

<para>Prepare Texinfo for compilation:</para>

<screen><userinput>./configure --prefix=/usr</userinput></screen>

<para>Compile the package:</para>

<screen><userinput>make</userinput></screen>

<para>To test the results, issue:
<userinput>make check</userinput>.</para>

<para>Install the package:</para>

<screen><userinput>make install</userinput></screen>

<para>Optionally, install the components belonging in a TeX installation:</para>

<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>

<para>The meaning of the make parameter:</para>

<variablelist>
<varlistentry>
<term><parameter>TEXMF=/usr/share/texmf</parameter></term>
<listitem><para>The <envar>TEXMF</envar> makefile variable holds the location of the
root of the TeX tree if, for example, a TeX package will be installed
later.</para></listitem>
</varlistentry>
</variablelist>

<para>The Info documentation system uses a plain text file to hold its
list of menu entries. The file is located at
<filename>/usr/share/info/dir</filename>.  Unfortunately, due to
occasional problems in the Makefiles of various packages, it can
sometimes get out of sync with the info pages installed on the
system. If the <filename>/usr/share/info/dir</filename> file ever
needs to be recreated, the following optional commands will accomplish
the task:</para>

<screen role="nodump"><userinput>cd /usr/share/info
rm dir
for f in *
do install-info $f dir 2&gt;/dev/null
done</userinput></screen>

<beginpage/>

</sect2>

<sect2 id="contents-texinfo" role="content"><title>Contents of Texinfo</title>

<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>info, infokey, install-info,
makeinfo, texi2dvi, texi2pdf, and texindex</seg></seglistitem>
</segmentedlist>

<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>

<varlistentry id="info">
<term><command>info</command></term>
<listitem>
<para>Used to read info pages which are similar to man pages, but often go much
deeper than just explaining all the available command line options. For example,
compare <command>man bison</command> and <command>info bison</command>.</para>
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="infokey">
<term><command>infokey</command></term>
<listitem>
<para>Compiles a source file containing Info customizations into a
binary format</para>
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="install-info">
<term><command>install-info</command></term>
<listitem>
<para>Used to install info pages; it updates entries in the
<command>info</command> index file</para>
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="makeinfo">
<term><command>makeinfo</command></term>
<listitem>
<para>Translates the given Texinfo source documents into
info pages, plain text, or HTML</para>
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="texi2dvi">
<term><command>texi2dvi</command></term>
<listitem>
<para>Used to format the given Texinfo document into a
device-independent file that can be printed</para>
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="texi2pdf">
<term><command>texi2pdf</command></term>
<listitem>
<para>Create a PDF file from a Texinfo file.</para>
<indexterm zone="ch-system-texinfo texi2pdf"><primary sortas="b-texi2pdf">texi2pdf</primary></indexterm>
</listitem>
</varlistentry>

<varlistentry id="texindex">
<term><command>texindex</command></term>
<listitem>
<para>Used to sort Texinfo index files</para>
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>

</sect2>

</sect1>