source: general/prog/mercurial.xml@ 8dfc5c3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 8dfc5c3 was 8dfc5c3, checked in by Krejzi <krejzi@…>, 7 years ago

Fix some URLs

  • Switch to https:// scheme where possible to avoid redirects
  • Unify all kernel.org, Sourceforge and GNU URLs
  • Fix python and perl module URLs to be consistent
  • Fix github provided URLs to properly download tarballs instead of vFOO.tar.gz
  • Use upstream locations for some packages or better/shorter URLs if available
  • Add https:// URLs for gnupg packages

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

  • Property mode set to 100644
File size: 9.3 KB
Line 
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
7 <!ENTITY mercurial-download-http "https://www.mercurial-scm.org/release/mercurial-&mercurial-version;.tar.gz">
8 <!ENTITY mercurial-download-ftp " ">
9 <!ENTITY mercurial-md5sum "b9cbdcf0bd41a2b385b35b9fbfeb0eea">
10 <!ENTITY mercurial-size "5.2 MB">
11 <!ENTITY mercurial-buildsize "68 MB (add 403 MB for tests)">
12 <!ENTITY mercurial-time "0.2 SBU (add 7.2 SBU for tests using -j4)">
13]>
14
15<sect1 id="mercurial" xreflabel="Mercurial-&mercurial-version;">
16 <?dbhtml filename="mercurial.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Mercurial-&mercurial-version;</title>
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
32 <para><application>Mercurial</application> is a distributed source control
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>
37
38 &lfs80_checked;
39 &gcc7_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>Download (HTTP): <ulink url="&mercurial-download-http;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download (FTP): <ulink url="&mercurial-download-ftp;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download MD5 sum: &mercurial-md5sum;</para>
51 </listitem>
52 <listitem>
53 <para>Download size: &mercurial-size;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated disk space required: &mercurial-buildsize;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated build time: &mercurial-time;</para>
60 </listitem>
61 </itemizedlist>
62
63 <bridgehead renderas="sect3">Mercurial Dependencies</bridgehead>
64
65 <bridgehead renderas="sect4">Required</bridgehead>
66 <para role="required">
67 <xref linkend="python2"/>
68 </para>
69
70 <bridgehead renderas="sect4">Optional</bridgehead>
71 <para role="optional">
72 <xref linkend="git"/>,
73 <xref linkend="gnupg2"/> (<command>gpg2</command> with Python bindings),
74 <xref linkend="openssh"/> (runtime, to access ssh://... repositories),
75 <xref linkend="subversion"/> (with Python bindings),
76 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
77 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
78 <ulink url="http://docutils.sourceforge.net/">Docutils</ulink> (required to build the documentation),
79 <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>,
80 <ulink url="http://pygments.org/">pygments</ulink>, and
81 <ulink url="https://github.com/pyca/pyopenssl">pyOpenSSL</ulink>
82
83 </para>
84
85 <para condition="html" role="usernotes">User Notes:
86 <ulink url="&blfs-wiki;/mercurial"/></para>
87
88 </sect2>
89
90 <sect2 role="installation">
91 <title>Installation of Mercurial</title>
92
93 <para>Build <application>Mercurial</application> by issuing the following
94 command:</para>
95
96<screen><userinput>make build</userinput></screen>
97
98 <para>To build the documentation (requires
99 <application>Docutils</application>), issue:</para>
100
101<screen><userinput>make doc</userinput></screen>
102
103<!-- All tests pass (or are skipped) at version 3.8.2
104 <para>Running the test suite is optional. Tests which fail may be disabled,
105 adding each one to <filename>tests/blacklists/failed-tests</filename>. In
106 order to execute the test suite using the temporary directory <filename
107 class="directory">tests/tmp</filename> and skipping the failing tests,
108 issue:</para>
109
110<screen><userinput>cat &gt; tests/blacklists/failed-tests &lt;&lt; "EOF"
111<literal># Test Failures
112 test-gpg.t</literal>
113EOF
114-->
115 <para>
116 To run the test suite, issue:
117 </para>
118<screen><userinput>rm -rf tests/tmp &amp;&amp;
119
120TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/failed-tests" \
121make check</userinput></screen>
122
123 <para>where <replaceable>&lt;N&gt;</replaceable> is an integer between one
124 and the number of ( processor X threads ), inclusive. One test,
125 test-gpg.t, fails if <xref linkend="gnupg2"/> is not installed. In order to
126 investigate any other apparently failing tests, you may use the
127 <command>run-tests.py</command> script. To see the almost forty switches,
128 some of them very useful, issue <command>tests/run-tests.py --help</command>.
129 Running the following commands, you will execute only the tests that failed
130 before:</para>
131
132<screen><userinput>pushd tests &amp;&amp;
133 rm -rf tmp &amp;&amp;
134
135 ./run-tests.py - -tmpdir tmp test-gpg.t &amp;&amp;
136popd</userinput></screen>
137
138 <para>Normally, the previous failures will be confirmed. However, if
139 you add the switch
140 "- -debug" before "- -tmpdir", and run again, some failures are gone, which
141 seems to be a problem with the test suite. If this happens, normally, from
142 now on, there will be no more such failures whether you use the debug switch
143 or not.</para>
144
145 <para>An interesting switch is "- -time", which will generate at the end of
146 the test suite execution, a table with all executed tests and respective
147 start, end, user, system and real times. Notice that the switches may be
148 used with <command>make check</command>, including them in the
149 <envar>TESTFLAGS</envar> environment variable.</para>
150
151 <para>Install <application>Mercurial</application> by running the following
152 command (as <systemitem class="username">root</systemitem>):</para>
153
154<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
155
156 <para>If you built the documentation, install it by running the following
157 command (as <systemitem class="username">root</systemitem>):</para>
158
159<screen role="root"><userinput>make PREFIX=/usr install-doc</userinput></screen>
160
161 <para>After installed, two very quick and simple tests should run correctly.
162 First one needs some configuration:</para>
163
164<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
165<literal>[ui]
166username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
167EOF</userinput></screen>
168
169 <para>where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
170 is optional and can be omitted). With the user identity defined, run
171 <command>hg debuginstall</command> and several lines will be displayed,
172 the last one reading "no problems detected". Another quick and simple test
173 is just <command>hg</command>, which should output basic commands that can
174 be used with <command>hg</command>.</para>
175
176 </sect2>
177
178 <sect2 role="configuration">
179 <title>Configuring Mercurial</title>
180
181 <sect3 id="mercurial-config">
182 <title>Config Files</title>
183
184 <para>
185 <filename>/etc/mercurial/hgrc</filename> and
186 <filename>~/.hgrc</filename>
187 </para>
188
189 <indexterm zone="mercurial mercurial-config">
190 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
191 </indexterm>
192
193 <indexterm zone="mercurial mercurial-config">
194 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
195 </indexterm>
196
197 <para>The great majority of extensions are disabled by default. Run
198 <command>hg help extensions</command> if you need to enable any, e.g.
199 when investigating test failures. You will obtain the lists of enabled and
200 disabled extensions, and more information, such as how to enable or
201 disable them using configuration files.</para>
202
203 <para>If you have installed the <xref linkend="cacerts"/> and want
204 <application>Mercurial</application> to use them, as the <systemitem
205 class="username">root</systemitem> user, issue:</para>
206
207<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
208cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
209<literal>[web]
210cacerts = /etc/ssl/ca-bundle.crt</literal>
211EOF</userinput></screen>
212
213 </sect3>
214
215 </sect2>
216
217 <sect2 role="content">
218 <title>Contents</title>
219
220 <segmentedlist>
221 <segtitle>Installed Programs</segtitle>
222 <segtitle>Installed Libraries</segtitle>
223 <segtitle>Installed Directories</segtitle>
224
225 <seglistitem>
226 <seg>
227 hg
228 </seg>
229 <seg>
230 several internal modules under
231 /usr/lib/python&python2-majorver;/site-packages/mercurial
232 </seg>
233 <seg>
234 /etc/mercurial and
235 /usr/lib/python&python2-majorver;/site-packages/{hgdemandimport,hgext,hgext3rd,mercurial}
236 </seg>
237 </seglistitem>
238 </segmentedlist>
239
240 <variablelist>
241 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
242 <?dbfo list-presentation="list"?>
243 <?dbhtml list-presentation="table"?>
244
245 <varlistentry id="hg">
246 <term><command>hg</command></term>
247 <listitem>
248 <para>is the program file for mercurial.</para>
249 <indexterm zone="mercurial hg">
250 <primary sortas="b-hg">hg</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254
255 </variablelist>
256
257 </sect2>
258
259</sect1>
Note: See TracBrowser for help on using the repository browser.