-
Notifications
You must be signed in to change notification settings - Fork 56
Faster and more stable stack builds using the remote caches
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)
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]
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"
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
The sections above describe