aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/diffutils.xml
blob: 4ad5ea535cccd247526b2b243bc912ea9bb1f35b (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
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-diffutils" role="wrap">
  <?dbhtml filename="diffutils.html"?>

  <sect1info condition="script">
    <productname>diffutils</productname>
    <productnumber>&diffutils-version;</productnumber>
    <address>&diffutils-url;</address>
  </sect1info>

  <title>Diffutils-&diffutils-version;</title>

  <indexterm zone="ch-system-diffutils">
    <primary sortas="a-Diffutils">Diffutils</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>The Diffutils package contains programs that show the differences
    between files or directories.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&diffutils-ch6-sbu;</seg>
        <seg>&diffutils-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

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

    <para>POSIX requires the <command>diff</command> command to treat whitespace
    characters according to the current locale. The following patch fixes the
    non-compliance issue:</para>

<screen><userinput remap="pre">patch -Np1 -i ../&diffutils-i18n-patch;</userinput></screen>

    <para>The above patch will cause the Diffutils build system to attempt to
    rebuild the <filename>diff.1</filename> man page using the unavailable
    program <command>help2man</command>. The result is an unreadable man page for
    <command>diff</command>. We can avoid this by updating the timestamp on
    the file <filename>man/diff.1</filename>:</para>

<screen><userinput remap="pre">touch man/diff.1</userinput></screen>

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

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

    <para>Compile the package:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>This package does not come with a test suite.</para>

    <para>Install the package:</para>

<screen><userinput remap="install">make install</userinput></screen>

  </sect2>


  <sect2 id="contents-diffutils" role="content">
    <title>Contents of Diffutils</title>

    <segmentedlist>
      <segtitle>Installed programs</segtitle>

      <seglistitem>
        <seg>cmp, diff, diff3, and sdiff</seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="cmp">
        <term><command>cmp</command></term>
        <listitem>
          <para>Compares two files and reports whether or in which bytes they
          differ</para>
          <indexterm zone="ch-system-diffutils cmp">
            <primary sortas="b-cmp">cmp</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="diff">
        <term><command>diff</command></term>
        <listitem>
          <para>Compares two files or directories and reports which lines in
          the files differ</para>
          <indexterm zone="ch-system-diffutils diff">
            <primary sortas="b-diff">diff</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="diff3">
        <term><command>diff3</command></term>
        <listitem>
            <para>Compares three files line by line</para>
            <indexterm zone="ch-system-diffutils diff3">
              <primary sortas="b-diff3">diff3</primary>
            </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="sdiff">
        <term><command>sdiff</command></term>
        <listitem>
          <para>Merges two files and interactively outputs the results</para>
          <indexterm zone="ch-system-diffutils sdiff">
            <primary sortas="b-sdiff">sdiff</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>