source: general/prog/mercurial.xml@ da114fe

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since da114fe was da114fe, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to mercurial-5.2.2.
Update to PyYAML-5.3 (Python Module).
Update to libwebp-1.1.0.
Update to libgusb-0.3.2.
Update to dconf-editor-3.34.3.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22553 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.0 KB
RevLine 
[f5a75ae]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[28320bf4]7 <!ENTITY mercurial-download-http "https://www.mercurial-scm.org/release/mercurial-&mercurial-version;.tar.gz">
[f5a75ae]8 <!ENTITY mercurial-download-ftp " ">
[da114fe]9 <!ENTITY mercurial-md5sum "f2251256063f20864fa9fed10ace76d5">
[bd6d933]10 <!ENTITY mercurial-size "7.0 MB">
[586bd9ff]11 <!ENTITY mercurial-buildsize "75 MB (with docs, add 855 MB for tests)">
12 <!ENTITY mercurial-time "0.5 SBU (with docs, add 11 SBU for tests using -j4)">
[f5a75ae]13]>
14
[263da2b]15<sect1 id="mercurial" xreflabel="Mercurial-&mercurial-version;">
[f5a75ae]16 <?dbhtml filename="mercurial.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
[263da2b]23 <title>Mercurial-&mercurial-version;</title>
[f5a75ae]24
25 <indexterm zone="mercurial">
26 <primary sortas="a-mercurial">mercurial</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Mercurial</title>
31
[0d7900a]32 <para><application>Mercurial</application> is a distributed source control
[e803c07e]33 management tool similar to <application>Git</application> and
34 <application>Bazaar</application>. <application>Mercurial</application> is
35 written in <application>Python</application> and is used by projects such as
36 Mozilla and Vim.</para>
[f5a75ae]37
[15f411e]38 &lfs90_checked;
[f5a75ae]39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>Download (HTTP): <ulink url="&mercurial-download-http;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download (FTP): <ulink url="&mercurial-download-ftp;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download MD5 sum: &mercurial-md5sum;</para>
50 </listitem>
51 <listitem>
52 <para>Download size: &mercurial-size;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated disk space required: &mercurial-buildsize;</para>
56 </listitem>
57 <listitem>
58 <para>Estimated build time: &mercurial-time;</para>
59 </listitem>
60 </itemizedlist>
61
62 <bridgehead renderas="sect3">Mercurial Dependencies</bridgehead>
63
64 <bridgehead renderas="sect4">Required</bridgehead>
65 <para role="required">
66 <xref linkend="python2"/>
67 </para>
[0d7900a]68
[f5a75ae]69 <bridgehead renderas="sect4">Optional</bridgehead>
70 <para role="optional">
[d3ea9e8]71 <xref linkend="docutils"/>
72 (required to build the documentation),
[982e5c9]73 <xref linkend="git"/>,
[e803c07e]74 <xref linkend="gnupg2"/> (<command>gpg2</command> with Python bindings),
[572553b]75 <xref role="runtime" linkend="openssh"/>
76 (runtime, to access ssh://... repositories),
[07f61e4]77 <xref linkend="pygments"/>,
[982e5c9]78 <xref linkend="subversion"/> (with Python bindings),
[b2b0d26]79 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
[d1c51434]80 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
[07f61e4]81 <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>, and
[6c88333]82 <ulink url="https://github.com/pyca/pyopenssl">pyOpenSSL</ulink>
[982e5c9]83
[f5a75ae]84 </para>
85
86 <para condition="html" role="usernotes">User Notes:
87 <ulink url="&blfs-wiki;/mercurial"/></para>
88
89 </sect2>
90
91 <sect2 role="installation">
92 <title>Installation of Mercurial</title>
[0f16c7cd]93 <!-- seems to have a development rust port -->
[f5a75ae]94
[0d7900a]95 <para>Build <application>Mercurial</application> by issuing the following
[f5a75ae]96 command:</para>
[0d7900a]97
[f5a75ae]98<screen><userinput>make build</userinput></screen>
[0d7900a]99
[d3ea9e8]100 <para>To build the documentation (requires <xref linkend="docutils"/>),
101 issue:</para>
[f5a75ae]102
[586bd9ff]103<screen remap="doc"><userinput>2to3 -w doc/hgmanpage.py &amp;&amp;
104PYTHON=python3 make doc</userinput></screen>
[f5a75ae]105
[c1ced74d]106<!-- All tests pass (or are skipped) at version 3.8.2
[2beaab8]107 <para>Running the test suite is optional. Tests which fail may be disabled,
108 adding each one to <filename>tests/blacklists/failed-tests</filename>. In
109 order to execute the test suite using the temporary directory <filename
110 class="directory">tests/tmp</filename> and skipping the failing tests,
[28320bf4]111 issue:</para>
[23209a71]112
[586bd9ff]113 Version 5.2.1 had one failure test-bundle2-exchange.t
114
115
[a42c273]116<screen remap="test"><userinput>cat &gt; tests/blacklists/failed-tests &lt;&lt; "EOF"
[a6e00f8]117<literal># Test Failures
[1b777da]118 test-gpg.t</literal>
[23209a71]119EOF
[c1ced74d]120-->
121 <para>
122 To run the test suite, issue:
123 </para>
[a42c273]124<screen remap="test"><userinput>rm -rf tests/tmp &amp;&amp;
[0f16c7cd]125TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check</userinput></screen>
126<!-- The blacklists have to be checked every release of Mercurial, do a listing
127 of tests/blacklists, but do not include the makefile. -->
[23209a71]128
[73b06df]129 <para>where <replaceable>&lt;N&gt;</replaceable> is an integer between one
[5b378d42]130 and the number of ( processor X threads ), inclusive. In order to
131 investigate any apparently failing tests, you may use the
[c55368ec]132 <command>run-tests.py</command> script. To see the almost forty switches,
[9f5dcb97]133 some of them very useful, issue <command>tests/run-tests.py
134 --help</command>. Running the following commands, you will execute only
135 the tests that failed before:</para>
[f60ecce]136
[a42c273]137<screen remap="test"><userinput>pushd tests &amp;&amp;
[2beaab8]138 rm -rf tmp &amp;&amp;
[b93e2bde]139 ./run-tests.py --tmpdir tmp test-gpg.t
[768e6fd]140popd</userinput></screen>
[f5a75ae]141
[c55368ec]142 <para>Normally, the previous failures will be confirmed. However, if
143 you add the switch
[b93e2bde]144 "--debug" before "--tmpdir", and run again, some failures are gone, which
[bd86aa8]145 seems to be a problem with the test suite. If this happens, normally, from
146 now on, there will be no more such failures whether you use the debug switch
[0f16c7cd]147 or not. Three tests, test-alias.t, test-install.t, and
148 test-bundle2-exchange.t (intermittently), are known to fail.</para>
[2beaab8]149
[a42c273]150 <para>An interesting switch is "--time", which will generate at the end of
[2beaab8]151 the test suite execution, a table with all executed tests and respective
[0f16c7cd]152 start, end, user, system and real times. Note that the switches may be
153 used with <command>make check</command> by including them in the
[28320bf4]154 <envar>TESTFLAGS</envar> environment variable.</para>
[f60ecce]155
[73b06df]156 <para>Install <application>Mercurial</application> by running the following
157 command (as <systemitem class="username">root</systemitem>):</para>
[f5a75ae]158
159<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
160
[73b06df]161 <para>If you built the documentation, install it by running the following
162 command (as <systemitem class="username">root</systemitem>):</para>
[f5a75ae]163
[a42c273]164<screen role="root"
165 remap="doc"><userinput>make PREFIX=/usr install-doc</userinput></screen>
[f5a75ae]166
[0f16c7cd]167 <para>After installation, two very quick and simple tests should run
168 correctly. The first one needs some configuration:</para>
[ab0c555]169
170<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
171<literal>[ui]
[2beaab8]172username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
[ab0c555]173EOF</userinput></screen>
174
175 <para>where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
[a407a1c]176 is optional and can be omitted). With the user identity defined, run
[7b88d5a]177 <command>hg debuginstall</command> and several lines will be displayed,
[ab0c555]178 the last one reading "no problems detected". Another quick and simple test
179 is just <command>hg</command>, which should output basic commands that can
180 be used with <command>hg</command>.</para>
181
[f5a75ae]182 </sect2>
183
[f0190231]184 <sect2 role="commands">
185 <title>Command Explanations</title>
186
187 <para>
[586bd9ff]188 <command>2to3 -w doc/hgmanpage.py</command>: Since <application>
[f0190231]189 Python 3</application> is used with docutils, one file needs to be
190 converted in order to be compatible.
191 </para>
192
193 </sect2>
[431b5b17]194 <sect2 role="configuration">
195 <title>Configuring Mercurial</title>
196
197 <sect3 id="mercurial-config">
198 <title>Config Files</title>
199
200 <para>
[28320bf4]201 <filename>/etc/mercurial/hgrc</filename> and
202 <filename>~/.hgrc</filename>
[431b5b17]203 </para>
204
205 <indexterm zone="mercurial mercurial-config">
206 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
207 </indexterm>
208
[28320bf4]209 <indexterm zone="mercurial mercurial-config">
210 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
211 </indexterm>
212
[2beaab8]213 <para>The great majority of extensions are disabled by default. Run
214 <command>hg help extensions</command> if you need to enable any, e.g.
215 when investigating test failures. You will obtain the lists of enabled and
216 disabled extensions, and more information, such as how to enable or
217 disable them using configuration files.</para>
[28320bf4]218
[2198a32]219 <para>If you have installed <xref linkend="make-ca"/> and want
[2beaab8]220 <application>Mercurial</application> to use them, as the <systemitem
221 class="username">root</systemitem> user, issue:</para>
[431b5b17]222
223<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
[a20c505f]224cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
[431b5b17]225<literal>[web]
[5c3f3856]226cacerts = /etc/pki/tls/certs/ca-bundle.crt</literal>
[431b5b17]227EOF</userinput></screen>
228
229 </sect3>
230
231 </sect2>
232
[f5a75ae]233 <sect2 role="content">
234 <title>Contents</title>
235
236 <segmentedlist>
237 <segtitle>Installed Programs</segtitle>
238 <segtitle>Installed Libraries</segtitle>
239 <segtitle>Installed Directories</segtitle>
240
241 <seglistitem>
[8ad9b196]242 <seg>
243 hg
244 </seg>
245 <seg>
246 several internal modules under
247 /usr/lib/python&python2-majorver;/site-packages/mercurial
248 </seg>
249 <seg>
[9c4ca99]250 /etc/mercurial and
[a20c505f]251 /usr/lib/python&python2-majorver;/site-packages/{hgdemandimport,hgext,hgext3rd,mercurial}
[8ad9b196]252 </seg>
[f5a75ae]253 </seglistitem>
254 </segmentedlist>
255
256 <variablelist>
257 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
258 <?dbfo list-presentation="list"?>
259 <?dbhtml list-presentation="table"?>
260
261 <varlistentry id="hg">
262 <term><command>hg</command></term>
263 <listitem>
[0f16c7cd]264 <para>is the mercurial version control system.</para>
[f5a75ae]265 <indexterm zone="mercurial hg">
266 <primary sortas="b-hg">hg</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 </variablelist>
272
273 </sect2>
274
275</sect1>
Note: See TracBrowser for help on using the repository browser.