Debian packaging fixes
* Updates maintainer scripts from latest version of `dh_make`
* Includes `rules` file
* Use `fakeroot` to build the package.
We use currently `dpkg-deb --build` instead of `debuild` or `dpkg-buildpackage`, so I don't know if the package is well-formatted for the latter. (one difference, the former works with uppercase `DEBIAN`, the latter lowercase `debian` -- that's why the directory was renamed)
Because of `set -e`, if there are any warnings, then the package won't be
copied back to the source directory. For now, there are definitely going to
remain some Lintian warnings which we'll want to ignore.
Also updates comments to make them more descriptive.
Zcash zk-SNARK public parameters for 1.0 "Sprout".
Created in the ceremony this weekend! 🎉
We're writing a blog post about this, I'm going to publish the code shortly too.
Closes#1553
This is relevant to #1609 because it hid the bug, but does not fix that
issue; the fix is to regenerate the genesis blocks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Change some Bitcoin strings to Zcash strings.
This addresses most of the user-facing ones (in help messages for example), thread names, but avoids things like tests and datastructure names.
**I slopped this together in a rush. Review it carefully!**
util: Update tinyformat
Updates `tinyformat.h` to commit
3a33bbf654 upstream.
Makes sure that our local changes are kept:
- bitcoin/bitcoin#3767 1b8fd35aad Make tinyformat errors raise an exception instead of assert()ing
- bitcoin/bitcoin#47359b6d4c5cdc Move strprintf define to tinyformat.h
- bitcoin/bitcoin#47486e5fd003e0 include stdexcept (for std::exception)
- bitcoin/bitcoin#8000 9eaa0afa6ec5d3dd01e4d01121314ef51f2bc305 force USE_VARIADIC_TEMPLATES
- Add `std::string format(const std::string &fmt...` added this
at the time, as we want to be able to do `strprintf(_(...), ...)`
Inspired by bitcoin/bitcoin#8264.
For Zcash: ref #1349
Add z_sendmany rule that when coinbase utxos must be spent in their entirety, with no change
See #1616 - coinbase utxos must be consumed entirely, without any change, since there
is currently no way to specify a change address in z_sendmany.
Updates `tinyformat.h` to commit
3a33bbf654 upstream.
Makes sure that our local changes are kept:
- #37671b8fd35aad Make tinyformat errors raise an exception instead of assert()ing
- #47359b6d4c5cdc Move strprintf define to tinyformat.h
- #47486e5fd003e0 include stdexcept (for std::exception)
- #8000 9eaa0afa6ec5d3dd01e4d01121314ef51f2bc305 force USE_VARIADIC_TEMPLATES
- Add `std::string format(const std::string &fmt...` added this
at the time, as we want to be able to do `strprintf(_(...), ...)`
Inspired by #8264.
Fixing floating point exception in non-TTY environments
As reported in #1612, a floating point exception occurs when zcashd is started with `showmetrics` enabled in environments without a TTY, such as when started as a service or piped to a file.
The root cause is that the metrics code attempts to get the screen width and uses this as a divisor in calculations. For non-TTY environments, this value is 0, leading to a division by zero error.
This PR adds a default screen width of 80 and uses the actual screen width only if the width can be fetched (and in a TTY environment).