#### Other Tools

```#!/bin/bash ```
```# This Source Code Form is subject to the terms of the Mozilla Public ```
```# License, v. 2.0. If a copy of the MPL was not distributed with this ```
```# file, You can obtain one at http://mozilla.org/MPL/2.0/. ```
``` ```
```# This script installs and configures Mercurial. ```
``` ```
```set -e ```
``` ```
```# Detect OS. ```
```if [ -f /etc/lsb-release ]; then ```
``` # Disabled so linting works on Mac ```
``` # shellcheck disable=SC1091 ```
``` . /etc/lsb-release ```
``` ```
``` if [ "\${DISTRIB_ID}" = "Ubuntu" ] && [[ "\${DISTRIB_RELEASE}" = "16.04" || "\${DISTRIB_RELEASE}" = "17.10" || "\${DISTRIB_RELEASE}" = "18.04" ]] ```
``` then ```
``` HG_DEB=1 ```
``` HG_DIGEST=54a215232a340139707a968b58943c2903a8297f0da32f96622d1acab47de6013a5b96d2ca4ba241b1fee142b4098a6cdd236b308a1657c31f42807d7385d327 ```
``` HG_SIZE=278440 ```
``` HG_FILENAME=mercurial_4.8.1_amd64.deb ```
``` ```
``` HG_COMMON_DIGEST=5577fec8d0f6643d17751b3f6be76b0c2bb888ae1920a8b085245e05110e3d5cfe1c4e9d51e334ab0dd0865fe553c63c704e72852e00b71eb668980cb6b33fa4 ```
``` HG_COMMON_SIZE=2439436 ```
``` HG_COMMON_FILENAME=mercurial-common_4.8.1_all.deb ```
``` elif [ "\${DISTRIB_ID}" = "Ubuntu" ] && [ "\${DISTRIB_RELEASE}" = "12.04" ] ```
``` then ```
``` echo "Ubuntu 12.04 not supported" ```
``` exit 1 ```
``` fi ```
``` ```
``` CERT_PATH=/etc/ssl/certs/ca-certificates.crt ```
``` ```
```elif [ -f /etc/os-release ]; then ```
``` # Disabled so linting works on Mac ```
``` # shellcheck disable=SC1091 ```
``` . /etc/os-release ```
``` ```
``` if [ "\${ID}" = "debian" ]; then ```
``` if [ -f /usr/bin/pip2 ]; then ```
``` PIP_PATH=/usr/bin/pip2 ```
``` elif [ -f /usr/bin/pip ]; then ```
``` # Versions of debian that don't have pip2 have pip pointing to the python2 version. ```
``` PIP_PATH=/usr/bin/pip ```
``` else ```
``` echo "We currently require Python 2.7 and pip to run Mercurial" ```
``` exit 1 ```
``` fi ```
``` else ```
``` echo "Unsupported debian-like system with ID '\${ID}' and VERSION_ID '\${VERSION_ID}'" ```
``` exit 1 ```
``` fi ```
``` ```
``` CERT_PATH=/etc/ssl/certs/ca-certificates.crt ```
``` ```
```elif [ -f /etc/centos-release ]; then ```
``` CENTOS_VERSION="\$(rpm -q --queryformat '%{VERSION}' centos-release)" ```
``` if [ "\${CENTOS_VERSION}" = "6" ]; then ```
``` if [ -f /usr/bin/pip2.7 ]; then ```
``` PIP_PATH=/usr/bin/pip2.7 ```
``` else ```
``` echo "We currently require Python 2.7 and /usr/bin/pip2.7 to run Mercurial" ```
``` exit 1 ```
``` fi ```
``` else ```
``` echo "Unsupported CentOS version: \${CENTOS_VERSION}" ```
``` exit 1 ```
``` fi ```
``` ```
``` CERT_PATH=/etc/ssl/certs/ca-bundle.crt ```
```fi ```
``` ```
```if [ -n "\${HG_DEB}" ]; then ```
```tooltool_fetch <<EOF ```
```[ ```
``` { ```
``` "size": \${HG_SIZE}, ```
``` "digest": "\${HG_DIGEST}", ```
``` "algorithm": "sha512", ```
``` "filename": "\${HG_FILENAME}" ```
``` }, ```
``` { ```
``` "size": \${HG_COMMON_SIZE}, ```
``` "digest": "\${HG_COMMON_DIGEST}", ```
``` "algorithm": "sha512", ```
``` "filename": "\${HG_COMMON_FILENAME}" ```
``` } ```
```] ```
```EOF ```
``` ```
``` dpkg -i --auto-deconfigure \${HG_COMMON_FILENAME} \${HG_FILENAME} ```
```elif [ -n "\${HG_RPM}" ]; then ```
```tooltool_fetch <<EOF ```
```[ ```
``` { ```
``` "size": \${HG_SIZE}, ```
``` "digest": "\${HG_DIGEST}", ```
``` "algorithm": "sha512", ```
``` "filename": "\${HG_FILENAME}" ```
``` } ```
```] ```
```EOF ```
``` ```
``` rpm -i \${HG_FILENAME} ```
```elif [ -n "\${PIP_PATH}" ]; then ```
```tooltool_fetch <<EOF ```
```[ ```
``` { ```
``` "size": 6869733, ```
``` "digest": "a4485c22f9bb0bb752bf42941f613cb3542c66cbec5d7d49be2090ac544f5dca0f476e4535a56e3f4f4f5fc02fb12739e6d1c7b407264fc2ba4b19b0230b9f93", ```
``` "algorithm": "sha512", ```
``` "filename": "mercurial-4.8.1.tar.gz" ```
``` } ```
```] ```
```EOF ```
``` ```
``` \${PIP_PATH} install mercurial-4.8.1.tar.gz ```
```else ```
``` echo "Do not know how to install Mercurial on this OS" ```
``` exit 1 ```
```fi ```
``` ```
```chmod 644 /usr/local/mercurial/robustcheckout.py ```
``` ```
```cat >/etc/mercurial/hgrc.d/cacerts.rc <<EOF ```
```[web] ```
```cacerts = \${CERT_PATH} ```
```EOF ```
``` ```
```chmod 644 /etc/mercurial/hgrc.d/cacerts.rc ```
{"ft_lang_label":"__label__en","ft_lang_prob":0.55818814,"math_prob":0.5854809,"size":3231,"snap":"2021-04-2021-17","text_gpt3_token_len":1167,"char_repetition_ratio":0.11155872,"word_repetition_ratio":0.19293478,"special_character_ratio":0.39244816,"punctuation_ratio":0.1749503,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.96695495,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-01-15T18:57:28Z\",\"WARC-Record-ID\":\"<urn:uuid:8d12ef61-d25a-4c38-84e4-1958a65e8333>\",\"Content-Length\":\"70467\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:7fb020fe-8489-4f5b-b5fd-0fa2236af773>\",\"WARC-Concurrent-To\":\"<urn:uuid:c2d1ae2c-2817-457e-b297-5f168b7dceb1>\",\"WARC-IP-Address\":\"54.70.51.32\",\"WARC-Target-URI\":\"https://searchfox.org/mozilla-central/source/taskcluster/docker/recipes/install-mercurial.sh\",\"WARC-Payload-Digest\":\"sha1:GJ3CKWX5YW6ASNGJJKXAFPFW3GIXEK4J\",\"WARC-Block-Digest\":\"sha1:ZRR54FTCM4GMWFMQMZPPONBW7WY5T3PO\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-04/CC-MAIN-2021-04_segments_1610703495936.3_warc_CC-MAIN-20210115164417-20210115194417-00171.warc.gz\"}"}