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.
This package is known to build and work properly using an LFS 11.3 platform.
Téléchargement (HTTP) : https://www.mercurial-scm.org/release/mercurial-6.3.2.tar.gz
Somme de contrôle MD5 : 37f5c2c5efee02fe25a0f344b2e3ca72
Taille du téléchargement : 7.7 Mo
Estimation de l'espace disque requis : 79 Mo (avec la doc, plus 892 Mo pour les tests)
Estimation du temps de construction : 0,3 SBU (avec la doc, plus 6,2 SBU pour les tests avec -j4)
docutils-0.19 (requis pour construire la
documentation), git-2.39.2, GPGME-1.18.0 (avec
les liaisons Python), OpenSSH-9.2p1
(exécution, pour accéder aux dépôts ssh://...), Pygments-2.14.0, rustc-1.67.1 (voir
rust/README.rst
et rust/rhg/README.md
), Subversion-1.14.2
(avec les liaisons Python), Bazaar, CVS, pyflakes, pyOpenSSL
et re2
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/mercurial
Construisez Mercurial en exécutant la commande suivante :
make build
Pour construire la documentation (exige docutils-0.19), lancez :
make doc
Pour lancer la suite de tests, exécutez :
TESTFLAGS="-j<N>
--tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check
où <N>
est un
nombre entier entre un et le nombre de (processeurs × threads)
inclus. Plusieurs tests (environ 20) échouent car 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. 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 && rm -rf tmp && ./run-tests.py --tmpdir tmp test-gpg.t popd
Normalement les échecs précédents seront confirmés. Cependant, si
vous ajoutez l'option --debug
avant
--tmpdir
, et que vous lancez de
nouveau, certains échecs disparaissent, ce qui est un problème avec
la suite de tests. Si cela arrive, il n'y aura plus de tels échecs
que vous utilisiez l'option debug ou non.
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
.
Installez Mercurial en exécutant
les commandes suivantes (en tant qu'utilisateur root
) :
make PREFIX=/usr install-bin
Si vous avez construit la documentation, installez-la en exécutant
la commande suivante (en tant qu'utilisateur root
) :
make PREFIX=/usr install-doc
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 <your@mail> (mail est facultatif et peut être omis). 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.12
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