Mercurial est un outil de gestion de contrôle des sources distribuée similaire à Git et Bazaar. Mercurial est écrit en Python et il est utilisé par des projets tels que Mozilla pour Firefox et Thunderbird.
Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.
Téléchargement (HTTP) : https://www.mercurial-scm.org/release/mercurial-7.1.2.tar.gz
Somme de contrôle MD5 du téléchargement : e44ca9851c10b2d9f5a823bf555ef138
Taille du téléchargement : 8,6 Mo
Estimation de l'espace disque requis : 126 Mo (avec la doc, plus 33 Mo pour les tests)
Estimation du temps de construction : 0,6 SBU (avec la doc, plus 24 SBU pour les tests, les deux avec parallélisme = 4)
build-1.3.0, docutils-0.22.3 (requis pour construire la
documentation), git-2.52.0, OpenSSH-10.2p1
(exécution, pour accéder aux dépôts ssh://...), Pygments-2.19.2, rustc-1.91.0 (voir
rust/README.rst et rust/rhg/README.md), Subversion-1.14.5
(avec les liaisons Python), Which-2.23 (utilisé dans un
test), CVS,
pyflakes et re2
Mercurial est construit et
installé en une seule commande en tant qu'utilisateur root :
make PREFIX=/usr install
La documentation est construite par la commande ci-dessus (aux
formats man et html), mais seules les pages de manuel sont
installées. Si vous souhaitez installer la documentation html,
exécutez en tant qu'utilisateur root :
mkdir /usr/share/doc/mercurial-7.1.2 && cp -R doc/html /usr/share/doc/mercurial-7.1.2
Si vous souhaitez exécuter les tests, les tests rust doivent être supprimés car ils sont actuellement cassé à cause de problèmes de syntaxe. Pour cela, exécutez :
sed -i '151,154d' Makefile
Il y a également un problème avec les permissions dans le
répertoire de construction, comme la commande install ci-dessus a créé des
fichiers qui appartiennent à root,
qu'un test essaye de modifier. Pour corriger cela, exécutez, en
tant qu'utilisateur root :
chown -Rv username .
OU username devrait être
remplacé par le nom d'utilisateur correspondant à la personne qui
exécute les tests. Pour lancer la suite de tests, exécutez :
TESTFLAGS="-j<N> --with-hg /usr/bin/hg" make check
où <N> est un
nombre entier entre un et le nombre de (processeurs × threads)
inclus (la valeur par défaut est le nombre total de processeurs
renvoyé par nproc).
Plusieurs tests peuvent échouer si certains messages d'erreur ont
changé dans Python, ou que certains avertissements d'obsolescence
sont affichés, qui n'étaient pas présents au moment où le test a
été conçu.
Afin de pouvoir investiguer un test qui a l'air d'échouer, vous
pouvez utiliser le script run-tests.py dans le répertoire
tests. Pour voir les presque quarante
options, dont certaines très utiles, lancez tests/run-tests.py --help. Avec
la commande suivante, vous exécuterez seulement les tests
précédemment échoués :
pushd tests && ./run-tests.py --with-hg /usr/bin/hg --retest popd
Une option intéressante est --time, qui
génère un tableau avec tous les tests exécutés et leur temps
respectifs de début, fin, utilisateur, système et réel à la fin de
l'exécution de la suite de tests. Remarquez que ces options peuvent
être utilisés avec make
check, en les ajoutant à la variable
d'environnement TESTFLAGS.
Après l'installation, vous devriez pouvoir correctement lancer deux tests très rapides et simples. Le premier demande un peu de configuration :
cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF
où vous devez remplacer <user_name> et <utilisateur@mail> (mail est facultatif et peut être omis, mais si vous le gardez, vous devriez également garder les chevrons « <> »). Une fois l'identité de l'utilisateur définie, lancez hg debuginstall et quelques lignes seront affichées, la dernière affichant « no problems detected ». Un autre test rapide et simple est juste hg, qui doit afficher les commandes basiques qui peuvent être utilisée avec hg.
/etc/mercurial/hgrc et ~/.hgrc
La grande majorité des extensions est désactivée par défaut. Lancez hg help extensions si vous souhaitez en activer une, par exemple lorsque vous investiguez des tests échoués. Vous obtiendrez la liste des extensions activées et désactivées, et plus d'information, comme comment les activer ou les désactiver avec les fichiers de configuration.
Si vous avez installé les make-ca-1.16.1 et que vous souhaitez que
Mercurial les utilise, lancez,
en tant qu'utilisateur root :
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF