Skip to content

Faster and more stable stack builds using the remote caches

jhcollins edited this page Apr 8, 2021 · 10 revisions

By default, HashDist builds the packages in the stack from source using a standard location of the package (e.g. the package's "download" URL). On any given day, it's likely that at least one website will be down, so it's convenient to have a backup source of packages, which HashDist supports. Additionally, the version of HashDist we use in Proteus supports relocatable binaries, which means you can configure HashDist to retrieve pre-built packages from remote caches. The following remote caches are currently available (note: you can't browse these mirrors, HashDist can only retrieve existing packages from them)

Test that your network can reach the mirrors:

Try getting this package:

$ wget  https://proteus.cee.lsu.edu/hashdist_src/src/packs/tar.gz/zvsshm3k3qluzqinksyrspvwe22cnbqj

You should get something like this:

--2017-09-25 11:44:54--  https://proteus.cee.lsu.edu/hashdist_src/src/packs/tar.gz/zvsshm3k3qluzqinksyrspvwe22cnbqj
Connecting to 192.237.213.149:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 234332 (229K)
Saving to: ‘zvsshm3k3qluzqinksyrspvwe22cnbqj’

zvsshm3k3qluzqinksyrspvwe22cnbqj           100%[=====================================================================================>] 228.84K   629KB/s    in 0.4s    

2017-09-25 11:44:55 (629 KB/s) - ‘zvsshm3k3qluzqinksyrspvwe22cnbqj’ saved [234332/234332]

Sources

You can use the source cache on any system, regardless of OS. The command to add it to your .hashdist/config.yaml is

hit remote add https://proteus.cee.lsu.edu/hashdist_src/ --objects="source"

Binaries

To use these build caches, check which version of Linux you have:

lsb_release -a

If a cache exists for your OS, then add the remote:

hit remote add https://proteus.cee.lsu.edu/hashdist_ubuntu_16_10 --objects="build"

If a cache doesn't exist for your OS, post it on the proteus slack channel.

If the hit remote add commands don't work, you can just modify your ${HOME}/.hashdist/config.yaml to add these remote mirrors. For example, on Ubuntu 16.10 your config.yaml might include the following sections (**note the trailing /src or /bld added to the mirror path:

build_stores:
 - dir: ./bld
 - url: https://proteus.cee.lsu.edu/hashdist_ubuntu_14_04/bld
source_caches:
 - dir: ./src
 - url: https://proteus.cee.lsu.edu/hashdist_src/src

Adding a remote cache

The sections above describe