-
Notifications
You must be signed in to change notification settings - Fork 59
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://dl.dropboxusercontent.com/u/26353144/hashdist_src/src/packs/tar.gz/zvsshm3k3qluzqinksyrspvwe22cnbqj
You should get something like this:
--2017-01-11 09:34:42-- https://dl.dropboxusercontent.com/u/26353144/hashdist_src/src/packs/tar.gz/zvsshm3k3qluzqinksyrspvwe22cnbqj
Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 45.58.75.133
Connecting to dl.dropboxusercontent.com (dl.dropboxusercontent.com)|45.58.75.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 234332 (229K) [application/octet-stream]
Saving to: ‘zvsshm3k3qluzqinksyrspvwe22cnbqj’
zvsshm3k3qluzqinksy 100%[===================>] 228.84K --.-KB/s in 0.1s
2017-01-11 09:34:43 (1.76 MB/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://dl.dropboxusercontent.com/u/26353144/hashdist_src --objects="source"
- https://dl.dropboxusercontent.com/u/26353144/hashdist_ubuntu_14_04
- https://dl.dropboxusercontent.com/u/26353144/hashdist_ubuntu_16_04
- https://dl.dropboxusercontent.com/u/26353144/hashdist_ubuntu_16_10
- https://dl.dropboxusercontent.com/u/26353144/hashdist_debian_jessie
- https://dl.dropboxusercontent.com/u/26353144/hashdist_copper
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://dl.dropboxusercontent.com/u/26353144/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:
build_stores:
- dir: ./bld
- url: https://dl.dropboxusercontent.com/u/26353144/hashdist_ubuntu_16_10/bld
source_caches:
- dir: ./src
- url: https://dl.dropboxusercontent.com/u/26353144/hashdist_src/src
The sections above describe