It seems like a lsb_release program should be available on any distro if
the appropriate package is installed. So it seems better to use
lsb_release instead of /etc/lsb-release, because Debian doesn't appear
to have /etc/lsb-release.
The build process for [Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/gitian-building.md) was failing with the following error
```
./bin/gbuild:21:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
from ./bin/gbuild:137:in `build_one_configuration'
from ./bin/gbuild:267:in `block (2 levels) in <main>'
from ./bin/gbuild:262:in `each'
from ./bin/gbuild:262:in `block in <main>'
from ./bin/gbuild:260:in `each'
from ./bin/gbuild:260:in `<main>'
```
Inside the log file `var/build.log` the entries towards the end show
```
/bin/sh: 1: wget: not found
```
Added info for OS X homebrew commands alongside the Macports as some people prefer to use Homebrew over MacPorts and it is a pain to switch over from the two.
This should allow anyone to write any signing program and use it in
conjunction with gsign as long as it supports the same options/arguments
as gpg does (namely -u for the signer and an argument for the file to
sign).
Rather than uploading every checked-out file of a repository and the
repository objects themselves, skip the checkout and instruct git to compact
before upload. The result is that only a handful of files are transferred,
rather than hundreds or thousands for large repositories.
The HEAD ref is updated before upload so that a hard reset works as before on
the target. The reflog is also disabled in order to avoid uploading useless log
files.
This change is backwards-compatible, but it will only have an effect on new
repositories.