Commit Graph

234 Commits

Author SHA1 Message Date
MarcoFalke
5103888706 Merge #13228: Add script to detect circular dependencies between source modules
a7b295e91e Add circular dependencies script (Pieter Wuille)

Pull request description:

  This script finds dependencies between source code modules, treating the `.cpp` and `.h` file as one unit (so it will detect `A.cpp` depending on `B.h` where `B.cpp` depends on `A.h`). This can be used to find out which modules cannot be used independently from each other.

  It is very simplistic at this point, and assumes that a `.cpp` file's corresponding header has the exact same name, with `.cpp` replaced by `.h`. Furthermore, it assumes all `#include`s are relative to the `src/` directory.

  This is not a linter, and is not enforced through Travis or otherwise.

  This is the current output:

  ```
  $ ../contrib/devtools/circular-dependencies.py {*,*/*,*/*/*}.{h,cpp}
  Circular dependency: chain -> pow -> chain
  Circular dependency: chainparamsbase -> util -> chainparamsbase
  Circular dependency: checkpoints -> validation -> checkpoints
  Circular dependency: init -> index/txindex -> init
  Circular dependency: init -> validation -> init
  Circular dependency: init -> net_processing -> init
  Circular dependency: init -> rpc/server -> init
  Circular dependency: init -> txdb -> init
  Circular dependency: init -> validationinterface -> init
  Circular dependency: random -> util -> random
  Circular dependency: sync -> util -> sync
  Circular dependency: txmempool -> validation -> txmempool
  Circular dependency: txmempool -> policy/fees -> txmempool
  Circular dependency: validation -> index/txindex -> validation
  Circular dependency: validation -> policy/policy -> validation
  Circular dependency: validation -> validationinterface -> validation
  Circular dependency: qt/addresstablemodel -> qt/walletmodel -> qt/addresstablemodel
  Circular dependency: qt/bantablemodel -> qt/clientmodel -> qt/bantablemodel
  Circular dependency: qt/bitcoingui -> qt/walletview -> qt/bitcoingui
  Circular dependency: qt/bitcoingui -> qt/walletframe -> qt/bitcoingui
  Circular dependency: qt/bitcoingui -> qt/utilitydialog -> qt/bitcoingui
  Circular dependency: qt/clientmodel -> qt/peertablemodel -> qt/clientmodel
  Circular dependency: qt/paymentserver -> qt/walletmodel -> qt/paymentserver
  Circular dependency: qt/recentrequeststablemodel -> qt/walletmodel -> qt/recentrequeststablemodel
  Circular dependency: qt/sendcoinsdialog -> qt/walletmodel -> qt/sendcoinsdialog
  Circular dependency: qt/transactiontablemodel -> qt/walletmodel -> qt/transactiontablemodel
  Circular dependency: qt/walletmodel -> qt/walletmodeltransaction -> qt/walletmodel
  Circular dependency: rpc/rawtransaction -> wallet/rpcwallet -> rpc/rawtransaction
  Circular dependency: wallet/coincontrol -> wallet/wallet -> wallet/coincontrol
  Circular dependency: wallet/fees -> wallet/wallet -> wallet/fees
  Circular dependency: wallet/rpcwallet -> wallet/wallet -> wallet/rpcwallet
  Circular dependency: wallet/walletdb -> wallet/wallet -> wallet/walletdb
  Circular dependency: txmempool -> validation -> policy/rbf -> txmempool
  Circular dependency: txmempool -> validation -> validationinterface -> txmempool
  Circular dependency: qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/addressbookpage
  Circular dependency: qt/guiutil -> qt/walletmodel -> qt/optionsmodel -> qt/guiutil
  Circular dependency: qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/signverifymessagedialog -> qt/addressbookpage
  Circular dependency: qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/receivecoinsdialog -> qt/addressbookpage
  Circular dependency: qt/guiutil -> qt/walletmodel -> qt/optionsmodel -> qt/intro -> qt/guiutil
  Circular dependency: qt/addressbookpage -> qt/bitcoingui -> qt/walletview -> qt/sendcoinsdialog -> qt/sendcoinsentry -> qt/addressbookpage
  ```

Tree-SHA512: 29bc985b7a41699f4666b0aaa785ca63c2145e84c37458536f4dcf8e3de8f1312cf0323fe09cb8f348a9d363583f76eac2d5bee574bc6a9f9cc97a9b0aad406f
2020-07-18 03:08:13 -05:00
MarcoFalke
d26bcfa183
Merge #12820: contrib: Fix check-doc script regexes
0c17e27630 init: Remove help text for non-existent -fuzzmessagestest arg (MarcoFalke)
136084470c contrib: Fix check-doc script regexes (MarcoFalke)

Pull request description:

  Fixup the regexes to properly find all used args. The regex should now match all of the getter and setter methods of the `ArgsManager`. See https://dev.visucore.com/bitcoin/doxygen/class_args_manager.html#pub-methods

  Before:
  ```
  Args used        : 159
  Args documented  : 188
  Args undocumented: 0
  Args unknown     : 29
  ```

  After:
  ```
  Args used        : 183
  Args documented  : 188
  Args undocumented: 0
  Args unknown     : 5
  ```

Tree-SHA512: 1a7fb7ea55b2f6030358a1055d8f2c19b31f69d0603be0b009e6e603564014b4e2bb824357c9d43d0fba3ce7159b7c4e7eaa60b3f962053d94f73d0e626294fc
2020-07-17 15:42:51 -05:00
MarcoFalke
2829b4d3b9
Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency
e3245f2e7b Removes Boost predicate.hpp dependency (251)

Pull request description:

  This pull request removes the `boost/algorithm/string/predicate.hpp` dependency from the project.

  To replace the the `predicate.hpp` dependency from the project the function calls to `boost::algorithm::starts_with` and `boost::algorithm::ends_with` have been replaced with respectively C++11's `std::basic_string::front` and `std::basic_string::back` function calls.

  Refactors that were not required, but have been done anyways:

  - The Boost function `all` was implicitly made available via the `predicate.hpp` header. Instead of including the appropriate header, function calls to `all` have been replaced with function calls to `std::all_of`.

  - The  `boost::algorithm::is_digit` predicate has been replaced with a custom `IsDigit` function that is locale independent and ASCII deterministic.

Tree-SHA512: 22dda6adfb4d7ac0cabac8cc33e8fb8330c899805acc1ae4ede402c4b11ea75a399414b389dfaa3650d23b47f41351b4650077af9005d598fbe48d5277bdc320
2020-07-17 15:42:20 -05:00
Wladimir J. van der Laan
d1200755f1 Merge #13448: Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python
c8176b3cc7556d7bcec39a55ae4d6ba16453baaa Add linter: Make sure we explicitly open all text files using UTF-8 or ASCII encoding in Python (practicalswift)
634bd970013eca90f4b4c1f9044eec8c97ba62c2 Explicitly specify encoding when opening text files in Python code (practicalswift)

Pull request description:

  Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python.

  As requested by @laanwj in #13440.

Tree-SHA512: 1651c00fe220ceb273324abd6703aee504029b96c7ef0e3029145901762c733c9b9d24927da281394fd4681a5bff774336c04eed01fafea997bb32192c334c06
Signed-off-by: pasta <pasta@dashboost.org>

# Conflicts:
#	contrib/devtools/circular-dependencies.py
#	contrib/linearize/linearize-data.py
#	contrib/linearize/linearize-hashes.py
#	contrib/seeds/generate-seeds.py
#	contrib/verify-commits/verify-commits.py
#	test/functional/multiwallet.py
#	test/functional/notifications.py
#	test/functional/test_runner.py
#	test/util/rpcauth-test.py
2020-07-07 11:50:56 -05:00
Wladimir J. van der Laan
6e5b3f3b9e Merge #13230: Simplify include analysis by enforcing the developer guide's include syntax
16e3cd380af570fb2f656e0344bab88829a4bcda Clarify include recommendation (practicalswift)
6d10f43738d58bf623975e3124fd5735aac7d3e1 Enforce the use of bracket syntax includes ("#include <foo.h>") (practicalswift)
906bee8e5f474f8718d02e6f1938f20dcfe3d2cc Use bracket syntax includes ("#include <foo.h>") (practicalswift)

Pull request description:

  When analysing includes in the project it is often assumed that the preferred bracket include syntax (`#include <foo.h>`) mentioned in `developer-docs.md` is used consistently. @sipa:s excellent circular dependencies script [`circular-dependencies.py`](50c69b7801/contrib/devtools/circular-dependencies.py) (#13228) is an example of a script making this reasonable assumption.

  This PR enables automatic Travis checking of the include syntax making sure that the bracket syntax includes (`#include <foo.h>`) is used consistently.

Tree-SHA512: a414921aabe8e487ebed42f3f1cbd02fecd1add385065c1f2244cd602c31889e61fea5a801507ec501ef9bd309b05d3c999f915cec1c2b44f085bb0d2835c182
Signed-off-by: pasta <pasta@dashboost.org>
2020-07-01 20:12:03 -05:00
MarcoFalke
72b69a35a3 Merge #13301: lint: Add linter to error on #include <*.cpp>
9d6c9dbb88 lint: Add linter to error on #include <*.cpp> (Ben Woosley)

Pull request description:

  Files should depend on one another by interface, not by implementation.
  This checks for quoted includes as well.

Tree-SHA512: d36d468f48d538077f5f927b9561729fd7d76319f6b2e2cc10414a9f243588194e90ca1d85eca65019f9259268f555d25106eaaa56da28c58fa8d5837b469661
2020-07-01 20:12:03 -05:00
pasta
02085df48b Adjust current boost includes present
Signed-off-by: pasta <pasta@dashboost.org>
2020-07-01 20:12:03 -05:00
Wladimir J. van der Laan
9a9aa3f467 Merge #13385: build: Guard against accidental introduction of new Boost dependencies
81bbd32a2c755482c6e8ef049a59de672715b545 build: Guard against accidental introduction of new Boost dependencies (practicalswift)

Pull request description:

  Guard against accidental introduction of new Boost dependencies.

  Context: #13383 – the usage of `boost::lexical_cast` was introduced in #11517 from December 2017

Tree-SHA512: 8d7b667ecf7ea62d84d9d41a71726f1e46c5a411b5a7db475c973ef364cac65609399afda7931e143a27d40c2947ff286e5e98ab263e8f0d225e2ae2c0872935
2020-07-01 20:12:03 -05:00
MarcoFalke
005d241fea Merge #11878: Add Travis check for duplicate includes
c36b720d00 Add Travis check for duplicate includes (practicalswift)
280023f31d Remove duplicate includes (practicalswift)

Pull request description:

  This enforces parts of the project header include guidelines (added by @sipa in #10575).

  Example run:

  ```
  $ git diff
  diff --git a/src/warnings.cpp b/src/warnings.cpp
  index c52a1fd..d8994dd 100644
  --- a/src/warnings.cpp
  +++ b/src/warnings.cpp
  @@ -5,6 +5,8 @@

   #include <sync.h>
   #include <clientversion.h>
  +#include <string>
   #include <util.h>
   #include <warnings.h>
  +#include <util.h>

  diff --git a/src/warnings.h b/src/warnings.h
  index e8e982c..8d2252e 100644
  --- a/src/warnings.h
  +++ b/src/warnings.h
  @@ -7,6 +7,7 @@
   #define BITCOIN_WARNINGS_H

   #include <stdlib.h>
   #include <string>
  +#include <stdlib.h>

   void SetMiscWarning(const std::string& strWarning);
  $ contrib/devtools/lint-includes.sh
  Duplicate include(s) in src/warnings.h:
  #include <stdlib.h>

  Include(s) from src/warnings.h duplicated in src/warnings.cpp:
  #include <string>

  Duplicate include(s) in src/warnings.cpp:
  #include <util.h>
  $ echo $?
  1
  $ git checkout .
  $ contrib/devtools/lint-includes.sh
  $ echo $?
  0
  ```

Tree-SHA512: f653d23c58ebc024dfc5b1fb8570698fd3c515c75b60b5cabbc43595548c488fca92349fa4c8b64460edbe61c879ff1d24f37f959e18552e202a7342460ddbf1
2020-07-01 20:12:03 -05:00
Wladimir J. van der Laan
8a09758298 Merge #13094: tests: Add test for 64-bit Windows PE, modify 32-bit test results
ab3f4dd tests: Add test for 64-bit PE, modify 32-bit test results (Chun Kuan Lee)

Pull request description:

  9a75d29b6f change the error result from `PIE` to `DYNAMIC_BASE`. And there are no test for 64-bit, so I made one

Tree-SHA512: 9d5643dadf4d9fc34ea32d94655bfb98eec2f7bc2820b4b0f525d5acf1cd22f3acf38bf8904dda4f50fd9ca5a5e56d566a392e6f804eea6e50e03cba40048621
2020-06-28 19:28:57 -05:00
MarcoFalke
714beebe07 Merge #12972: Add python3 script shebang lint
2bff472992 [contrib] convert test-security-check to python3 (John Newbery)
958bf40489 add lint tool to check python3 shebang (practicalswift)

Pull request description:

  base58.py can executed by python3

Tree-SHA512: 30511204feefd4ccd5b4bf698fb88e516633e692dc95d31fe957b1c0c4879de25906355b28a5a0522171887315c8464a611e601ff00540db172d5bd463ee13d9
2020-06-27 10:43:32 -05:00
UdjinM6
908c04f1e3
Merge pull request #3531 from PastaPastaPasta/backports-0.17-pr6
Backports 0.17 pr6
2020-06-27 14:49:35 +03:00
dustinface
f6e14ab57a
qt: Generalized css files, simple design changes, added scripts to keep track of color usage (#3508)
* qt: Send tab - Generalized related CSS and some redesign

- Removed grey boxes around labels of SendCoinEntry
- Changed button styles for add/clear button
- Removed padding for send button

* qt: Overview tab - Generalized related CSS and some redesign

- Removed grey boxes around balance labels

* qt: Receive tab & QPushButton - Generalized related CSS and some redesign

- Removed grey boxes around "Label", "Amount", "Message" and "Requested
payment history" labels and increased their textsize
- Changed the color of the "Requested payment history" label
- Adjusted the style of the "Clear", "Remove" and "Show" buttons

* qt: Transaction tab - Generalized related CSS and some redesign

- Increased size of selected sum labels

* qt: Masternode tab - Generalized related CSS and some redesign

- Increased the size of the "Filter list" and "Node count" labels

* qt: CoinControl dialog - Generalized related CSS and some redesign

- Removed alternated coloring

* qt: Sync overlay - Generalized related CSS and some redesign

- Adjusted colors
- Added rounded border

* qt: About dialog - Generalized related CSS

* qt: Edit address dialog - Generalized related CSS

* qt: Help message dialog - Generalized related CSS

* qt: RPC console  - Generalized related CSS and some redesign

- Changed colors for network activity legend (signal colors TBD in a
code change commit)

* qt: Options dialog - Generalized related CSS

* qt: Ask passphrase dialog - Generalized related CSS

* qt: Addressbook page - Generalized related CSS

* qt: Sign/Verify dialog - Generalized related CSS

* qt: Open URI dialog - Generalized related CSS

* qt: Generalized remaining individual Qt classes

* qt: Fixed indentation in css files

* qt: Use newlines for multiple selector entries

* qt: Formal cleanups in all css files

* qt: Add copyright and file description to all css files

* qt: Add update_colors.py, prepare css files for scripted color updates

- update_colors.py is a python script which parses the css files and prints some
details about their color usage into appropriate files in the css/colors directory. It also
updates the <colors></colors> section for each css file.
- Added <colors></colors> section to css files for automated color updates by update_colors.py

* qt/contrib: Moved update_colors.py to update-css-files.py 

This also moves the file from src/qt/res/css to contrib/devtools

* build: Remove files in src/qt/res/css/colors when running "make clean"

* git: Add src/qt/res/css/colors/* to gitignore and remove the files from the repo

* path -> css_folder_path

* Resolve path and fail early

* Create 'colors/' if it doesn't exist and fail if smth went wrong

* Run git after all filesystem preparations are done

* qt: Fix background-color of bgWidget in trad.css

Its #AARRGGBB not #RRGGBBAA!

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* qt: Run update_colors.py

* contrib: Use case insensitive regex for color matching

* qt: Update colors in css files

* contrib: Remove obsolete import in update-css-files.py

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-06-26 20:48:20 +03:00
MarcoFalke
9475fe553d
Merge #12572: [script] lint-whitespace: find errors more easily
0fbed98e42 [script] lint-whitespace: improve print linenumber (Akio Nakamura)

Pull request description:

  Before this PR, the linenumber infomaition is output if trailing-space or tab code was found, but the output occurence is only per a file.
  This PR separates the output timing of file name and line number.
  As a result, users will find where they need to fix more easily.

  example:

  0) git diff
  ```
  diff --git a/dummy.txt b/dummy.txt
  index c0ce4d776..aebbdb88d 100644
  --- a/dummy.txt
  +++ b/dummy.txt
  @@ -1,2 +1,2 @@
  -1
  -2
  +1
  +       2
  @@ -8,2 +8,2 @@
  -8
  -9
  +       8
  +9
  ```

  1) before this PR - Is there "9 " in second line? It may lead to be misunderstood.
  ```
  This diff appears to have added new lines with trailing whitespace.
  The following changes were suspected:

  diff --git a/dummy.txt b/dummy.txt
  @@ -1,2 +1,2 @@
  +1
  +9
  ```

  2) after this PR
  ```
  This diff appears to have added new lines with trailing whitespace.
  The following changes were suspected:

  diff --git a/dummy.txt b/dummy.txt
  @@ -1,2 +1,2 @@
  +1
  @@ -8,2 +8,2 @@
  +9
  ```

Tree-SHA512: 2fd52e3c982786f86cfe10aa2578589bc9c502bcad9b85111467840d726143330c23968cde5483ee0f563893c8381044b80e8c22a7c8eca56fc73c548b9a9496
2020-06-18 11:41:53 -05:00
Wladimir J. van der Laan
e9b42fd5c3
Merge #12098: [scripts] lint-whitespace: add param to check last N commits
8dbf740f8 [scripts] lint-whitespace: check last N commits or unstaged changes (Sjors Provoost)

Pull request description:

  E.g. before you push three commits to Github and upset Travis, check if you didn't make any whitespace mistakes:
  ```sh
  contrib/devtools/lint-whitespace.sh 3
  ```

  This is slightly more convenient than doing:
  ```sh
  TRAVIS_COMMIT_RANGE=HEAD~3...HEAD contrib/devtools/lint-whitespace.sh
  ```

Tree-SHA512: 5d9c1ae978ccbe59477e8cf53391e9bd697d2da87f417a2519264af560d4768138e0b2d320dd497a1f1e704e18ab279d724f523b57c17a80ccd753133a5445bf
2020-06-18 11:41:53 -05:00
Wladimir J. van der Laan
a88ad9384f
Merge #12097: [scripts] lint-whitespace: use perl instead of grep -P
40b17f5f9 [scripts] lint-whitespace: use perl instead of grep -P (Sjors Provoost)

Pull request description:

  MacOS does not support `grep -P` out of the box. This change makes
  it easier for developers to check for whitespace problems locally.

  Based on [this](https://stackoverflow.com/a/16658690) and [this](https://serverfault.com/a/504387) Stack Exchange answer.

  Tested with:
  ```sh
  export TRAVIS_COMMIT_RANGE='fe78c9a...62e0453'
  contrib/devtools/lint-whitespace.sh
  This diff appears to have added new lines with tab characters instead of spaces.
  The following changes were suspected:

  diff --git a/src/test/bignum_tests.cpp b/src/test/bignum_tests.cpp
  @@ -0,0 +1,110 @@
  +	num.setint64(n);
  ```

Tree-SHA512: 37c342a0ca2580289cf326a278a051a7c21ba918d6b2143fd9987f159fab85f1de3d770fcf532a642cd5d1957afc8595678128196e102dc473924758f133db7f
2020-06-18 11:41:53 -05:00
MarcoFalke
1cf2fff1c4 Merge #12308: contrib: Add support for out-of-tree builds in gen-manpages.sh
526e28220a contrib: Add support for out-of-tree builds in gen-manpages.sh (Wladimir J. van der Laan)

Pull request description:

  This adds support for setting the environment variable `BUILDDIR` to point to executables that are outside the source directory.

  E.g. to invoke the tool when the build is in $PWD/build:

  ```bash
  BUILDDIR=$PWD/build contrib/devtools/gen-manpages.sh
  ```

  This avoids having to manually copy the generated manpages after they end up in the build instead of source path, when setting TOPDIR instead.

Tree-SHA512: 8dc6dd7a47a0c014ae7d27f0ac9d86f69238ec6bac8a3007b975bb88c9f37014755c716c5e62604dd91baad2f8a41fd1544cdca3ba4b59bc76602e6593f4a4a7
2020-06-17 14:29:55 -05:00
MarcoFalke
10a27192b1 Merge #12442: devtools: Exclude patches from lint-whitespace
fafbf7f74e devtools: Exclude patches from lint-whitespace (MarcoFalke)

Pull request description:

  By default, unified patches have trailing whitespace in all context lines. Thus, exclude patches from linting.

Tree-SHA512: 8f89f1584581e94dd4e34bd522cba21602bafe7933b4631a3abc5da5a8f25568810862d696618fe63c15edf3e046869ad5077d09373f09792985503c6a415538
2020-06-17 14:29:55 -05:00
Pasta
b40dc8f1ec fix lint-python.sh after 11835 and 12295
Signed-off-by: Pasta <pasta@dashboost.org>
2020-06-17 14:29:55 -05:00
MarcoFalke
89cf527e57 Merge #12295: Enable flake8 warnings for all currently non-violated rules
a9d0ebc262 Enable flake8 warnings for all currently non-violated rules (practicalswift)
4cbab15e75 tests: Fix accidental redefinition of previously defined variable via list comprehension (practicalswift)
0b9207efbe Enable flake8 warning for "list comprehension redefines 'foo' from line N" (F812) (practicalswift)

Pull request description:

  * Enable `flake8` warnings for all currently non-violated rules
  * Fix accidental redefinition via list comprehension

Tree-SHA512: 738b87789e99d02abb2c6b8ff58f65c0cbfeb93e3bf320763e033e510ebd0a4f72861bc8faaf42c14a056a5d4659c33dc70a63730a32cc15159559427bf21193
2020-06-17 14:29:55 -05:00
MarcoFalke
cd1fdb5b01 Partial Merge #11835: Add Travis check for unused Python imports
d60b32074 Add Travis check for unused Python imports (practicalswift)
c7399e708 Remove unused Python imports (practicalswift)

Pull request description:

  Add Travis check for unused Python imports.

  ```
  $ contrib/devtools/lint-python.sh
  ./test/functional/example_test.py:18:1: F401 'test_framework.mininode.NODE_NETWORK' imported but unused
  ./test/functional/test_framework/messages.py:27:1: F401 'test_framework.util.wait_until' imported but unused
  ./test/functional/test_framework/test_framework.py:16:1: F401 'traceback' imported but unused
  ```

Tree-SHA512: 78e50fb1488abe3ebe365e766cb8d6d448cf1bd16c8691e102cb9bf7c202988bdf6e10b25ff772c62e05c72568168462e88cdc7ad98069d9eb3be727735b2d56
2020-06-17 14:29:55 -05:00
Wladimir J. van der Laan
101f73bb6d
Merge #12891: [logging] add lint-logs.sh to check for newline termination.
d207207 [logging] add lint-logs.sh to check for newline termination. (John Newbery)
5c21e6c [logging] Comment all continuing logs. (John Newbery)

Pull request description:

  Check that all calls to LogPrintf() are terminated by a newline,
  except those that are explicitly marked as 'continued' logs.

Tree-SHA512: fe5162b2b2df1e8a4c807da87584fa9af97a6b8377e4090fe0caa136d90bf29a487a123cde94569bdce7101fee3478196d99aa13f1212e24bfe5f41c773604fc
2020-06-11 23:20:48 -05:00
Wladimir J. van der Laan
9b9005e395
Merge #12895: tests: Add note about test suite name uniqueness requirement to developer notes
d1b622b tests: Add check for test suite name uniqueness in lint-tests.sh (practicalswift)
dc8067b tests: Add note about uniqueness requirement for test suite names (practicalswift)
3ebfb2d tests: Avoid test suite name collision in wallet crypto_tests (MarcoFalke)

Pull request description:

  * Add documentation: Add note about test suite name uniqueness requirement in developer notes
  * Add regression test: Update `lint-tests.sh` to make it check also for test suite name uniqueness

  Context: #12894 (`tests: Avoid test suite name collision in wallet crypto_tests`)

Tree-SHA512: 3c8502db069ef3d753f534976a86a997b12bac539e808a7285193bf81c9dd8c1b06821c3dd1bdf870ab87722b02c8aa9574c62ace70c2a1b8091785cb8c9aace
2020-06-11 23:20:48 -05:00
MarcoFalke
c1c84d6987
Merge #12719: tests: Add note about test suite naming convention in developer-notes.md
db983beba6 tests: Add lint-tests.sh which checks the test suite naming convention (practicalswift)
5fd864fe8a tests: Rename test suits not following the test suite naming convention (practicalswift)
7b4a296a71 tests: Add note about test suite naming convention (practicalswift)

Pull request description:

  Changes:
  * Add note about test suite naming convention
  * Fix exceptions
  * Add regression test

  Rationale:
  * Consistent naming of test suites makes programmatic test running of specific tests/subsets of tests easier
  * Explicit is better than implicit

  Before this commit:

  ```
  $ contrib/devtools/lint-tests.sh
  The test suite in file src/test/foo_tests.cpp should be named
  "foo_tests". Please make sure the following test suites follow
  that convention:

  src/test/blockchain_tests.cpp:BOOST_FIXTURE_TEST_SUITE(blockchain_difficulty_tests, BasicTestingSetup)
  src/test/prevector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(PrevectorTests, TestingSetup)
  src/wallet/test/coinselector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(coin_selection_tests, WalletTestingSetup)
  src/wallet/test/crypto_tests.cpp:BOOST_FIXTURE_TEST_SUITE(wallet_crypto, BasicTestingSetup)
  $
  ```

  After this commit:

  ```
  $ contrib/devtools/lint-tests.sh
  $
  ```

Tree-SHA512: 7258ab9a6b9b8fc1939efadc619e2f2f02cfce8034c7f2e5dc5ecc769aa12e17f6fb8e363817feaf15c026c5b958b2574525b8d2d3f6be69658679bf8ceea9e9
2020-06-11 23:20:48 -05:00
UdjinM6
469d6aa737
Some Dashification (#3513)
* Trivial Dashification

* Tweak getnetworkinfo and dumpwallet help text

We don't have RBF and Segwit

* CopyrightHolders should also check for missing "Dash Core" copyright
2020-06-11 11:39:04 +03:00
MarcoFalke
bf7cb2dfcc Merge #12075: [scripts] Add missing univalue file to copyright_header.py
415f86c6ae [scripts] Add missing univalue file to copyright_header.py (fanquake)

Pull request description:

  This needs to be added so that PRs like #12062 don't modify the subtree.

Tree-SHA512: 3642bdb0c8271ae700857a79fa5800b0c26c4b3f126d4406f224293817fb74d498fa1fc581d576ae747fbbb6952d4369fc4ab823ab48fd0946c1e8ccbe93cee6
2020-04-03 05:06:59 -05:00
Pieter Wuille
a7a3ecc354 Merge #10773: Shell script cleanups
13a81b19d Add quotes to variable assignment (as requested by @TheBlueMatt) (practicalswift)
683b9d280 Fix valid path output (practicalswift)
193c2fb4c Use bash instead of POSIX sh. POSIX sh does not support arrays. (practicalswift)
80f5f28d3 Fix incorrect quoting of quotes (the previous quotes had no effect beyond unquoting) (practicalswift)
564a172df Add required space to [[ -n "$1" ]] (previously [[ -n"$1" ]]) (practicalswift)
1e44ae0e1 Add error handling: exit if cd fails (practicalswift)
b9e79ab41 Remove "\n" from echo argument. echo does not support escape sequences. (practicalswift)
f6b3382fa Remove unused variables (practicalswift)

Pull request description:

  Shell script cleanups:
  * Add required space to `[ -n ]`.
  * Avoid quote within quote.
  * Exit if `cd` fails.
  * Remove `\n` which is not handled by `echo`.
  * ~~Remove redundant `$` in arithmetic variable expression.~~
  * ~~Use `$(command)` instead of legacy form `` `command` ``.~~
  * Arrays are not supported in POSIX `sh`. Use `bash` when arrays are used.
  * ~~`[ foo -a bar ]` is not well defined, use `[ foo ] && [ bar ]` instead.~~
  * ~~`[ foo -o bar ]` is not well defined, use `[ foo ] || [ bar ]` instead.~~

Tree-SHA512: 80f6ded58bce625b15b4da30d69d2714c633e184e62b21ed67d2c58e2ebaa08b4147593324012694d02bf4f1f252844cdff2fd1cf5e817ddb07e2777db7a6390
2020-04-01 12:43:18 -05:00
Wladimir J. van der Laan
fb18f2664f
Merge #11443: [qa] Allow "make cov" out-of-tree; Fix rpc mapping check
fae60e3 qa: Fix lcov for out-of-tree builds (MarcoFalke)
fae2673 qa: check-rpc-mapping must not run on empty lists (MarcoFalke)

Pull request description:

  Random qa fixups:

  * `make cov` should work for out-of-tree builds
  * `check-rpc-mappings.py` should assert that it is actually checking something and the lists are not empty.

Tree-SHA512: 2b66f69d6a1ae035c772f8ceb1d58dce904d98058330dad6ccb1421941e167aa748fe1c12126b87f43b0843f51fa85d89de079d586629fcaf8261c44a8dc6053
2020-02-08 23:33:25 -06:00
UdjinM6
ffcb2f63a1
More of 11300 2020-01-10 10:34:04 -06:00
UdjinM6
66dd61d54d
More of 10753 2020-01-10 10:34:03 -06:00
UdjinM6
0b15551e3d
More of 10680 2020-01-10 10:34:02 -06:00
MarcoFalke
b1774d8735
Merge #11246: github-merge: Coalesce git fetches
dabee00ef github-merge: Coalesce git fetches (Wladimir J. van der Laan)

Pull request description:

  Fetch the destination branch as well as PR in one go. Saves a few seconds (as well as one ssh authentication, when using a yubikey) when using github-merge.py.

Tree-SHA512: 618fcc07f60b63de3b7818094c5a307933324b76418aa02c509209bb7b540b3da0abe312bbfd0ca843469ed82228b2c43c2361180ba81bee13038aafac4a14b3
2020-01-10 10:33:58 -06:00
Wladimir J. van der Laan
b5e2f73fee
contrib: Ignore historical release notes for whitespace check
Lint checks should not test these, they are historical documents,
and we don't want to encourage silly changes to them to satisfy
a checker.

Hopefully makes travis pass again on master.

Tree-SHA512: 37e6716c4fd5e8a4e579f9b84042e6b0ac224836b6c851cd1ca3f7d46611ffd3003bed0ae08dd0457f69d6eaa485a0d21c631e7ef16b14bdb0f2f78ea700332d
2020-01-10 10:33:56 -06:00
MarcoFalke
80f4de55fd
Merge #11300: Tests: Add a lint check for trailing whitespace *dash* no travis
*DASH* doesn't implement this check into travis

1f379b1f0 Add tab char lint check and exclude imported dependencies (MeshCollider)
dd365612f Add a lint check for trailing whitespace. (Evan Klitzke)

Pull request description:

  This is a new attempt at #11005

  Addressed nits, excluded imported dependencies, squashed the original commits, and added a test for tab characters in the *.cpp *.h *.md *.py *.sh files too as per @practicalswift suggestion

Tree-SHA512: d2dfbedc8469026f39b0c63d9a71d8b8e2ed3815d69fecaabad10304d977d6345728c4c865ec7600ed539b1f7cabaa826b50312f4d2eef0a1583d4ff9024c36d
2020-01-10 10:33:56 -06:00
MarcoFalke
3ca3c65897
Merge #10753: test: Check RPC argument mapping *dash* no travis
*DASH* DOES NOT IMPLEMENT RUNNING THIS IN TRAVIS

77aa9e59e test: Check RPC argument mapping (Wladimir J. van der Laan)

Pull request description:

  Parse the dispatch tables from the server implementation files, and the conversion table from the client (see #10751).

  Perform the following consistency checks:

  - Arguments defined in conversion table, must be present in dispatch table. If not, it was probably forgotten to add them to the dispatch table, and they will not work.

  - Arguments defined in conversion table must have the same names as in the dispatch table. If not, they will not work.

  - All aliases for an argument must either be present in the conversion table, or not. Anything in between means an oversight and some aliases won't work.

  Any of these results in an error.

  It also performs a consistency check to see if the same named argument is sometimes converted, and sometimes not. E.g. one RPC call might have a 'verbose' argument that is converted,
  another RPC call might have one that is not converted. This is not necessarily wrong, but points at a possible error (as well as makes the API harder to memorize) - so it is emitted as a warning (could upgrade this to error).

  This test is added to travis and run when `CHECK_DOC`. Currently fails with the following output:
  ```
  * Checking consistency between dispatch tables and vRPCConvertParams
  ERROR: createrawtransaction argument 3 (named optintorbf in vRPCConvertParams) is not defined in dispatch table
  ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
  WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
  ```
  - ~#10698 fixes the first ERROR~
  - #10747 fixes the second ERROR, as well as the WARNING

  Update: #10698 was merged, leaving:
  ```
  * Checking consistency between dispatch tables and vRPCConvertParams
  ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
  WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
  ```

Tree-SHA512: feabebfbeda5d4613b2b9d5265aa6bde4e1a0235297ffd48fa415ad7edc531d9ed7913fe76d191ac60d481a915a326f216bc93de3c671e45e1d14e97d07dea7a
2020-01-10 10:33:56 -06:00
MarcoFalke
561ec27683 Merge #10781: Python cleanups
78214588d Use for-loop instead of list comprehension (practicalswift)
823979436 Use the variable name _ for unused return values (practicalswift)
2e6080bbf Remove unused variables and/or function calls (practicalswift)
9b94054b7 Avoid reference to undefined name: stderr does not exist, sys.stderr does (practicalswift)
51cb6b822 Use print(...) instead of undefined printf(...) (practicalswift)
25cd520fc Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs (practicalswift)

Pull request description:

  Python cleanups:
  * Avoid reference to undefined name: `stderr` does not exist, `sys.stderr` does
  * Use `print(...)` instead of undefined `printf(...)`
  * Avoid redefinition of variable (`tx`) in list comprehension
  * Remove unused variables and/or function calls
  * Use `sys.exit(...)` instead of `exit(...)`: [`exit(...)` should not be used in programs](https://github.com/bitcoin/bitcoin/pull/10753#discussion_r125935027)

Tree-SHA512: 1238dfbc1d20f7edadea5e5406a589f293065638f6234809f0d5b6ba746dffe3d276bc5884c7af388a6c798c61a8759faaccf57f381225644754c0f61914eb4b
2020-01-02 22:01:29 -06:00
Nathan Marley
d3ce0964b2 Add Qt GUI refresh w/branding updates (#3000)
* Update Dash app and toolbar icons

* Update icons and images

* Remove menubar icons

* Add Dash logo to top-right of menubar

* Remove the small PrivateSend buttons

* Remove image entirely from About modal

* Update CSS for new theme changes

* Restore splash testnet image

* Make entire toolbar button clickable

* Fix address book and shrink transaction icons

* Revert "Restore splash testnet image"

This reverts commit 2df07ff7d3.

* Restore original direction for tx in/out arrows

* Add transparency to icons

* Remove unused icons

* Resize way too small icons

* `mogrify src/qt/res/*/*.png`

* Drop `light` from `optimize-pngs.py`

* `python3 contrib/devtools/optimize-pngs.py`

"Total reduction: 42507 bytes"

* Restore old remove icon as console_remove
2019-10-31 20:30:21 +03:00
PastaPastaPasta
3c21d2577f Slightly adjust some README.md files (#3175)
Signed-off-by: Pasta <pasta@dashboost.org>
2019-10-29 21:37:18 +03:00
Nathan Marley
1cbe280ada Qt: Remove old themes (#3141)
* Remove crownium files

* Remove trad theme files

* Remove drkblue theme files

* Remove light-retro theme files

* Remove old themes from optimize-pngs script

* Remove refs to old themes in Makefile.qt

* Remove more old theme file references

* Remove old themes from options dialog

* No need to care about themes for images and icons anymore

* Bring `trad` back

* Drop remaining `drkblue` references

Rename files that are actually used and drop no longer needed ones
2019-10-10 14:53:00 +03:00
Wladimir J. van der Laan
cfc6975271
Merge #10985: Add undocumented -forcecompactdb to force LevelDB compactions
8842d1a Add undocumented -forcecompactdb to force LevelDB compactions (Pieter Wuille)

Pull request description:

Tree-SHA512: de91f3f574f75248fa6e5091089c840957fae5a972ebcd2b89493f7d777d4658560a6f5a3b43ab0c9b2c333ad98f9f185ae224c9caffc1a5e8df369cc414f123
2019-08-12 09:07:03 -05:00
Wladimir J. van der Laan
453d756571
Merge #10148: Use non-atomic flushing with block replay
176c021 [qa] Test non-atomic chainstate writes (Suhas Daftuar)
d6af06d Dont create pcoinsTip until after ReplayBlocks. (Matt Corallo)
eaca1b7 Random db flush crash simulator (Pieter Wuille)
0580ee0 Adapt memory usage estimation for flushing (Pieter Wuille)
013a56a Non-atomic flushing using the blockchain as replay journal (Pieter Wuille)
b3a279c [MOVEONLY] Move LastCommonAncestor to chain (Pieter Wuille)

Tree-SHA512: 47ccc62303f9075c44d2a914be75bd6969ff881a857a2ff1227f05ec7def6f4c71c46680c5a28cb150c814999526797dc05cf2701fde1369c06169f46eccddee
2019-08-01 14:57:28 -05:00
Wladimir J. van der Laan
ec01825ba5
Merge #10786: Add PR description to merge commit in github-merge.py
475c08c Add PR description to merge commit in github-merge.py (Pieter Wuille)

Pull request description:

  There is often some context given in PR descriptions that is missing from commits, and it may be worthwhile to retain that information in our history in git. This PR adds that information to the merge commit when created through `github-merge.py`.

  We should also encourage people to provide as much information as possible in the PR commits themselves, but I believe that is an orthogonal issue. Individual commits don't need to have a description of the overall goal of a PR.

Tree-SHA512: cbae46ec24ce911744e11a07e5d51895d3acc79659db306d8124304ef8e422bba99001ee2a741b08c92a5eb39d9c3f6b723622b20d6553ca5cfa0a8de866194c
2019-07-17 19:01:41 -05:00
Wladimir J. van der Laan
f68c7bc5c8
Merge #10626: doc: Remove outdated minrelaytxfee comment
fab9b60 doc: Remove outdated minrelaytxfee comment (MarcoFalke)

Tree-SHA512: e36c5a554a9773f034c2d358c52a772688009a5a71dfd3f664d9b5566c98378f44ef7c6dc0902b42d69ab5fd54b60d4850a2903823d0b2309c7ae063d1923f7f
2019-07-11 10:34:46 -05:00
Wladimir J. van der Laan
a0bc91a578 Merge #10480: Improve commit-check-script.sh
5432fc3 Fail on commit with VERIFY SCRIPT but no scripted-diff (Pieter Wuille)

Tree-SHA512: 687b6c825f6f882f9c8e9d301bc893383710bad70216fa40b95f7e24d83a7148f9c759c3e4bd905a6cd26960829f8f6bd03106dc6c83ac312bf34ad239917018
2019-07-09 13:08:20 -05:00
Wladimir J. van der Laan
11dbe39b48
Merge #10317: Remove unused Python imports
0c60c63 Remove unused Python imports (practicalswift)

Tree-SHA512: c7ae6a8ae2c751b771804960498bf270ab022c80fa9e1b39118d5986d890c8cdfc27a3cc24bf28c080d8088ddc11facd1f2881ba2c209cdd819675fda4689d83
2019-06-24 11:39:34 -05:00
Wladimir J. van der Laan
2edd094a21
Merge #10189: devtools/net: add a verifier for scriptable changes. Use it to make CNode::id private.
0f3471f net: make CNode's id private (Cory Fields)
9ff0a51 scripted-diff: net: Use accessor rather than node's id directly (Cory Fields)
e50c33e devtools: add script to verify scriptable changes (Cory Fields)

skipped travis changes

Tree-SHA512: a0ff50f4e1d38a2b63109b4996546c91b3e02e00d92c0bf04f48792948f78b1f6d9227a15d25c823fd4723a0277fc6a32c2c1287c7abbb7e50fd82ffb0f8d994

pnode->id to pnode->GetId()

Signed-off-by: Pasta <pasta@dashboost.org>
2019-06-19 08:20:15 -05:00
Wladimir J. van der Laan
55dc3dae52
Merge #10486: devtools: Retry after signing fails in github-merge
1983c87 devtools: Retry after signing fails in github-merge (Wladimir J. van der Laan)

Tree-SHA512: f5ef91c93f4e53c9b234e7dc3ac398c6715144021d92c8592174d02c672ae99d27e88faefd52239c2a74c8e49cfd3a979e0229580016ce9a74829bdb0af206ec
2019-05-19 20:43:02 -05:00
Wladimir J. van der Laan
317b797e2a
Merge #9670: contrib: github-merge improvements
b508424 contrib: github-merge improvements (Wladimir J. van der Laan)

Tree-SHA512: 56a34e887716bf6bfcd1b6520f6b9a1bb742e1ad17e75618caf982af71fceb75d50caec1bf4279cb9a2f7a74319f1bcec4c824682841bd6e994acc0991616451
2019-05-19 20:43:02 -05:00
PastaPastaPasta
6edbc9cebd Merge bitcoin#9956: Reorganise qa directory (#2912)
* Merge #9956: Reorganise qa directory

63d66ba Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py (John Newbery)
5b0bff4 Rename --enable-extended-rpc-tests to --enable-extended-functional-tests (John Newbery)
a9bd622 Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py (John Newbery)
c28ee91 Rename rpc-tests directory to functional (John Newbery)
00902c4 Rename qa directory to test (John Newbery)

Tree-SHA512: ee7125c0c647d81590177beef2c8852c4ef76fdcf888096d9d4d360562a01d8d3b453345c3040487b2a043935bd1e7e80018f34462d6e02262bedbe23edcc576

resolve build errors

Signed-off-by: Pasta <Pasta@dash.org>

update test_runner.py in testintegrations.sh

Signed-off-by: Pasta <Pasta@dash.org>

* moved dash specific tests

Signed-off-by: Pasta <Pasta@dash.org>

* dashify README.md

Signed-off-by: Pasta <Pasta@dash.org>

* removed autoix*.py

Signed-off-by: Pasta <Pasta@dash.org>

* change back file perms

* dedashify

Signed-off-by: Pasta <Pasta@dash.org>
2019-05-19 23:20:34 +03:00
PastaPastaPasta
6f90cf7a17 Merge bitcoin#9602: Remove coin age priority and free transactions - implementation (#2768)
b421e6d Update example bitcoin.conf (Alex Morcos)
7d4e950 Allow setting minrelaytxfee to 0 (Alex Morcos)
359e8a0 [cleanup] Remove coin age priority completely. (Alex Morcos)
f9b9371 [rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos)
49be7e1 [rpc] Remove priority information from mempool RPC calls (Alex Morcos)
0315888 [test] Remove priority from tests (Alex Morcos)
f838005 No longer allow "free" transactions (Alex Morcos)
ad727f4 [rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos)
fe282ac [cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos)
400b151 [debug] Change -printpriority option (Alex Morcos)
272b25a [mining] Remove -blockprioritysize. (Alex Morcos)
12839cd [rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos)
ddf58c7 wallet: Remove sendfree (MarcoFalke)

Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
Signed-off-by: Pasta <Pasta@dash.org>

Fix backport and fix dash specific priority code
2019-03-14 17:44:42 +03:00
Wladimir J. van der Laan
e8df27f8ee Merge #9984: devtools: Make github-merge compute SHA512 from git, instead of worktree
a327e8e devtools: Make github-merge compute SHA512 from git, instead of worktree (Wladimir J. van der Laan)

Tree-SHA512: 22ec7712876be4ab361015a2dd75a09628ec59105ffe3260126f899d8f3ff8666351b65b9a4dfe83f78eb777730442cd0352b155d7f573424f7fc1c4dbc0ddd2
2019-02-26 16:41:07 -06:00
Wladimir J. van der Laan
9c8c12ed47 devtools: Fix a syntax error typo
Fix a typo introduced in #9880 causing the script to not even parse.
2019-02-04 19:58:17 -06:00
Wladimir J. van der Laan
6addbe0747 Merge #9880: Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1
bbd7579 Fix regsig checking for subkey sigs in verify-commits (Matt Corallo)
d025bc7 Allow any subkey in verify-commits (Matt Corallo)
eddc77a Add comment re: why SHA1 is disabled (Peter Todd)
d9c450f Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (Matt Corallo)
be908a6 Fail merge if there are any symlinks (Matt Corallo)

Tree-SHA512: bb66c59cc1c6b1c86d7d8be7adb0769c6598c0e28ad927409941f30af87d390521e82fc13700ee22e92db1bd571db3e19a152ec7b2c0349c6e06f5de62c0b65f
2019-02-04 19:58:07 -06:00
Wladimir J. van der Laan
8944b5a784
Merge #9905: [contrib] gh-merge: Move second sha512 check to the end
fa7da3f [contrib] gh-merge: Move second sha512 check to before signing (MarcoFalke)

Tree-SHA512: b3d96f928a013f6fdc416035b8ef5cd7c750ab0922156e1fd712cd27ec75847497109f43a96559b945ba11ad43b5644ed9c1de695590ff608658628fb57b1571
2019-02-01 00:41:21 -06:00
Wladimir J. van der Laan
3d1a0b3abc
Merge #9871: Add a tree sha512 hash to merge commits
fa89670 Add SHA512 tree hash to merge commits (Pieter Wuille)

Tree-SHA512: 72321597336d3c4957719c8b907f258814b01499a82d2bc1e8c678b8825461d95f23b42ff6868a25725f4bfc3da24f7b12c058b45cbc7a7dfbf668888b68274e
2019-01-22 22:56:01 -06:00
PastaPastaPasta
896733223e Dashify copyright_header.py (#2598)
* dashify copyright_headers.py

* copyright for copyright_header.py

* dash -> Dash Core

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* dashify readme
2019-01-03 12:20:22 +03:00
Alexander Block
c09f57bd78 Backport move to Ubuntu Bionic and GCC7 in Gitian builds (#2225)
* Add stdin, stdout, stderr to ignored export list

* Merge #13171: Change gitian-descriptors to use bionic instead

c1afe3232fa10e290fb355cf37ea4c7bc1084065 Change gitian-descriptors to use bionic instead (Chun Kuan Lee)

Pull request description:

  I have tested this with Ubuntu Bionic host with lxc 3.0.0, the gitian-build for Windows and MacOSX work fine, but there is an issue about it for Linux. Failed at check-symbol:
  ```
  test/test_bitcoin: symbol __divmoddi4 from unsupported version GCC_7.0.0
  test/test_bitcoin: symbol log2f from unsupported version GLIBC_2.27
  qt/bitcoin-qt: symbol __divmoddi4 from unsupported version GCC_7.0.0
  qt/bitcoin-qt: symbol log2f from unsupported version GLIBC_2.27
  ```
  I think this should be fixed in `./configure --enable-glibc-back-compat`

  Should not be merged before #13177 devrandom/gitian-builder#178

  Close #12511

Tree-SHA512: 257d75d5b6864e105279f7a7b992fbbd7903cdbe3300b66dacec0a783d267707d9dbbfe0e64a36983ca1eca50a2a5e1cdb222b6d3745ccc3e5fc5636c88b581f

* Use IN6ADDR_ANY_INIT instead of in6addr_any

This is the same fix as fc6a9f2ab1
Couldn't backport the original commit as we are missing some refactorings.
2018-08-13 23:21:42 +03:00
Alexander Block
7cf9572c26 Backport Bitcoin #11881: Remove Python2 support (#2224)
* Merge #11881: Remove Python2 support

1874058 Make base58 python contrib code work with python3 (Evan Klitzke)
bc6fdf2 Change all python files to use Python3 (John Newbery)

Pull request description:

  Following discussion here: https://github.com/bitcoin/bitcoin/pull/11843#issuecomment-351033742

  It's easier for maintainers if all python tools/scripts support only a single version of Python. There are only a few scripts that aren't explicitly python3 at this point, so this PR changes those remaining scripts to explicitly require python3.

Tree-SHA512: 5d38eef6e0fc7d8515e23a1f4c75e8b4160fd0fe23cba52a1f41689b114e54a9e503e0724829e8b41982ef98f2d113df80d9e238213b74f09ceaed0344a19e24

* Merge #12829: Python3 fixup

f50975b [contrib] fixup symbol-check.py Python3 support (John Newbery)
5de2b18 [contrib] fixup security-check.py Python3 support (John Newbery)

Pull request description:

  security-check.py and symbol-check.py were broken by #11881. Fix them.

Tree-SHA512: 86de3d6dc3292b1ae4cc04c2d7d7dbbf39c9270551d7b224b8d8b19e3184c30c897dbf823200403706d06bb405c0decad5cfd690cb2c0312992a235a4ffcf6bf
2018-08-13 19:07:52 +03:00
UdjinM6
7ab5b4a28e
Update/optimize images (#2147)
* update optimize-pngs.py with new paths

* `python contrib/devtools/optimize-pngs.py`

Total reduction: 22025 bytes

* update share/pixmaps/*
2018-06-29 01:22:48 +03:00
Wladimir J. van der Laan
5f88c6451d Merge #9675: Fix typo and spelling inconsistency in CONTRIBUTING.md
36164fa Fix typo and spelling inconsistency in CONTRIBUTING.md (Koki Takahashi)
2018-01-23 09:24:29 +01:00
Wladimir J. van der Laan
b183a1f2a3 Merge #9735: devtools: Handle Qt formatting characters edge-case in update-translations.py
7179e7c qt: Periodic translations update (Wladimir J. van der Laan)
5e903a5 devtools: Handle Qt formatting characters edge-case in update-translations.py (Wladimir J. van der Laan)
2018-01-23 09:24:28 +01:00
MarcoFalke
e24b8ae50e Merge #9649: [doc] Remove unused clang format dev script
fa5137c [doc] Remove unused clang format dev script (MarcoFalke)
2018-01-23 09:24:26 +01:00
Wladimir J. van der Laan
96b4910fbe Merge #9607: Remove redundant semicolons in Python code
5cdf106 Remove redundant semicolons in Python code (practicalswift)
2018-01-21 12:48:33 +01:00
MarcoFalke
be63fb7953 Merge #9508: Remove unused Python imports
95bab82 Remove unused Python imports (practicalswift)
2018-01-21 12:48:33 +01:00
Wladimir J. van der Laan
9d661f4337 Merge #8675: Make copyright header lines uniform
4b04e32 [copyright] copyright header style uniform (isle2983)
2018-01-13 13:44:39 +01:00
Wladimir J. van der Laan
0b93a58947 Merge #8674: tools for analyzing, updating and adding copyright headers in source files
159597a [devtools] script support for managing source file copyright headers (isle2983)
2018-01-13 13:44:39 +01:00
Wladimir J. van der Laan
8edc2a78cb Merge #8249: Enable (and check for) 64-bit ASLR on Windows
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan)
9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
a5a9e46042 Merge #8700: [copyright] add MIT license headers to .sh scripts where missing
0766d1c [copyright] add MIT license headers to .sh scripts where missing (isle2983)
2018-01-11 13:20:57 +01:00
Wladimir J. van der Laan
d95a9728be Merge #8676: Add missing copyright headers
783e930 [copyright] Add missing copyright headers (isle2983)
2018-01-11 13:20:57 +01:00
Wladimir J. van der Laan
473ffa0641 Merge #8702: [copyright] add MIT License copyright header to remaining Python files
4677b19 [copyright] add MIT License copyright header to remaining Python files (isle2983)
2018-01-11 13:20:57 +01:00
Alexander Block
f9694badb9 Dashify gen-manpages.sh 2018-01-09 14:31:17 +01:00
Wladimir J. van der Laan
5691cee8dd Merge #8608: Install manpages via make install, also add some autogenerated manpages
d19583f improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control (nomnombtc)
09546ca regenerated all manpages with commit tag stripped, also add bitcoin-tx (nomnombtc)
ae6e754 change help string --enable-man to --disable-man (nomnombtc)
a32c102 add conditional for --enable-man, default is yes (nomnombtc)
dc84b6f add doc/man to subdir if configure flag --enable-man is set (nomnombtc)
00dba72 add doc/man/Makefile.am to include manpages (nomnombtc)
eb5643b add autogenerated manpages by help2man (nomnombtc)
6edf2fd add gen-manpages.sh description to README.md (nomnombtc)
d2cd9c0 add script to generate manpages with help2man (nomnombtc)
2018-01-09 14:16:39 +01:00
Wladimir J. van der Laan
d16b2e5ecb Merge #8621: [contrib] python: Don't use shell=True
fa994a7 contrib: Don't use shell=True (MarcoFalke)
2018-01-09 14:16:37 +01:00
Wladimir J. van der Laan
22604cbbcc Merge #8607: [doc] Fix doxygen off-by-one comments, fix typos
fafe7b3 contrib: Make fix-copyright-headers.py more portable (MarcoFalke)
fa27c0a [doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke)
fabfd5d [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
67a5502 init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
2018-01-09 14:04:21 +01:00
Pieter Wuille
f81e4f5fa9 Merge #8545: [doc] Update git-subtree-check.sh README
fa3d974 [doc] Update git-subtree-check.sh README (MarcoFalke)
2018-01-09 14:04:20 +01:00
MarcoFalke
bc659c3e6e Merge #8270: Tests: Use portable #! in python scripts (/usr/bin/env)
7b01ce2 Favour python over python2 as per PR #7723 (Matthew King)
873e81f Use portable #! in python scripts (/usr/bin/env) (Matthew King)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
f9f3b8d938 Merge #8295: Mining-related fixups for 0.13.0
c1d61fb Add warning if -blockminsize is used. (Suhas Daftuar)
27362dd Remove -blockminsize option (Suhas Daftuar)
d2e46e1 Remove addScoreTxs() (Suhas Daftuar)
6dd4bc2 Exclude witness transactions in addPackageTxs() pre-segwit activation (Suhas Daftuar)
f15c2cd CreateNewBlock: add support for size-accounting to addPackageTxs (Suhas Daftuar)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
06a73ad7c4 Merge #8188: Add armhf/aarch64 gitian builds
9d25362 build: add armhf/aarch64 gitian builds (Cory Fields)
980e7eb depends: only build qt on linux for x86_64/x86 (Cory Fields)
2017-12-22 17:20:42 +01:00
Wladimir J. van der Laan
9bed9ac9f1 Merge #7975: [doc] Update bitcoin-core GitHub links
faf3d11 [doc] Update bitcoin-core GitHub links (MarcoFalke)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
1cd653cc54 Merge #7781: devtools: Auto-set branch to merge to in github-merge
10d3ae1 devtools: Auto-set branch to merge to in github-merge (Wladimir J. van der Laan)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
a9a209f586 Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
34701da5cb Merge #7737: devtools: make github-merge.py use py3
f11c5a3 devtools: make github-merge.py use py3 (Wladimir J. van der Laan)
2017-12-19 13:18:30 +01:00
Alexander Block
5f68e06a07 Add missing whitelistalwaysrelay arg to SET_DOC_OPTIONAL
Missed from bitcoin #7439
2017-12-11 08:08:48 +01:00
Wladimir J. van der Laan
b277eed58f Merge #7425: devtools: Fix utf-8 support in messages for github-merge
c8a6c11 devtools: Fix utf-8 support in messages for github-merge (Wladimir J. van der Laan)
2017-12-11 08:08:48 +01:00
Wladimir J. van der Laan
577f683c5b Merge #7402: [devtools] github-merge get toplevel dir without extra whitespace
5ed2f16 [devtools] github-merge get toplevel dir without extra whitespace (Andrew C)
2017-12-10 00:04:02 +01:00
Wladimir J. van der Laan
d9d9e95e42 Merge #7395: devtools: show pull and commit information in github-merge
17b5d38 devtools: show pull and commit information in github-merge (Wladimir J. van der Laan)
2017-12-10 00:04:02 +01:00
Wladimir J. van der Laan
3be77849d7 Merge pull request #7378
da6d18b devtools: replace github-merge with python version (Wladimir J. van der Laan)
2017-12-10 00:04:02 +01:00
Wladimir J. van der Laan
42997ee8dc Merge pull request #7280
faeda0e [travis] Run contrib/devtools/check-doc.py early (MarcoFalke)
fada0c9 [travis] Fail when documentation is outdated (MarcoFalke)
2017-12-10 00:04:02 +01:00
Wladimir J. van der Laan
25ba3aba16 Merge pull request #7304
fa074a6 [contrib] Prepare clang-format-diff for usage (MarcoFalke)
fa4f4b6 Add clang-format-diff.py from the LLVM svn (MarcoFalke)
2017-12-10 00:04:01 +01:00
Wladimir J. van der Laan
38080259be Merge pull request #7313
0331aa3 Fixing typos on security-check.py and torcontrol.cpp (calebogden)
2017-12-10 00:04:01 +01:00
UdjinM6
f5286b1799 Fix/optimize images (#1688)
* add Dash-specific paths to `folders` in optimize-pngs.py

* `mogrify src/qt/res/*/*/*.png`

should fix "libpng error: IDAT: chunk data is too large"

* `python contrib/devtools/optimize-pngs.py`

"Total reduction: 500275 bytes"
2017-10-17 19:41:28 +03:00
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Cory Fields
aa26ee0101
release: Add security/export checks to gitian and fix current failures
- fix parsing of BIND_NOW with older readelf
- add _IO_stdin_used to ignored exports

For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109

- add check-symbols and check-security make targets

These are not added to the default checks because some of them depend on
release-build configs.

- always link librt for glibc back-compat builds

glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to
link in anyway for back-compat.

Fixes #7420

- add security/symbol checks to gitian

Github-Pull: #7424
Rebased-From: cd27bf51e0 475813ba5b f3d3eaf78e a8ce872118 a81c87fafc
2016-01-27 11:33:33 +01:00
MarcoFalke
333e1eaeea
Bump copyright headers to 2015
- Bump copyright headers to 2015
- [devtools] Rewrite fix-copyright-headers.py
- [devtools] Use git pretty-format for year parsing

Github-Pull: #7205
Rebased-From: fa6ad855e9 fa24439ff3 fa71669452
2016-01-05 14:13:33 +01:00
Luke Dashjr
a75a03a5f2
Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value)
Github-Pull: #7253
Rebased-From: 0d595894f0
2016-01-04 12:01:01 +01:00
MarcoFalke
fad246037f Update contrib/devtools/README.md
* Fix order
* Update subtree check
2015-12-02 15:20:40 +01:00
Wladimir J. van der Laan
93236c0455
qt: Final translation update before 0.12 fork
- Add new translations (finally, after a long time)
- update-translation script was not considering new translations - oops
  - fixed this, also remove (nearly) empty translations
- Update translation process, it was still describing the old repository
  structure
2015-12-02 14:28:35 +01:00
Wladimir J. van der Laan
9f251b7a9d devtools: add libraries for bitcoin-qt to symbol check
Forgot to add these.
Also add a short description for each required library.
2015-11-16 16:39:23 +01:00
MarcoFalke
0af8fe45ae devtools: Update README.md 2015-11-04 13:05:25 +01:00
Wladimir J. van der Laan
fa1d252e82
Merge pull request #6790
8c15f33 [trivial] Update contrib/devtools/README.md (MarcoFalke)
338f62f [devtools] add clang-format.py (MarcoFalke)
2015-10-23 10:45:50 +02:00
Wladimir J. van der Laan
579b863cd7 devtools: Add security-check.py
Perform the following ELF security checks:

- PIE: Check for position independent executable (PIE), allowing for address space randomization
- NX: Check that no sections are writable and executable (including the stack)
- RELRO: Check for read-only relocations, binding at startup
- Canary: Check for use of stack canary

Also add a check to symbol-check.py that checks that only the subset of
allowed libraries is imported (to avoid incompatibilities).
2015-10-22 03:35:38 +02:00
MarcoFalke
8c15f33d15 [trivial] Update contrib/devtools/README.md 2015-10-15 20:28:29 +02:00
MarcoFalke
338f62f701 [devtools] add clang-format.py 2015-10-15 19:43:16 +02:00
MarcoFalke
3507992bcf [trivial] Make optimize-pngs.py also cover share/pixmaps
Also fix:
"Exception: tostring() has been removed. Please call tobytes() instead."
2015-10-09 17:09:05 +02:00
Wladimir J. van der Laan
3802ae7267 devtools: don't push if signing fails in github-merge
If a problem happens with gpg, exit prematurely so that it doesn't push
the branch upstream.
2015-09-18 06:03:17 +02:00
UdjinM6
06c1524e89 fix update-translations.py to work correctly with % at the end of a string 2015-08-22 22:00:04 +03:00
UdjinM6
812cc6bbb1 let translations mix qt and printf 2015-08-15 17:32:55 +03:00
Marco
9142867572 [QT] cleanup icons
* Cleanup SVG code
* Unify design ("Typicons" seem to have round edges)
* Fix transparency issue with clock5.png
2015-08-04 12:06:12 +02:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
Pieter Wuille
5ff94c630e Add git-subtree-check.sh script 2015-04-02 17:52:52 -07:00
Evan Duffield
5cb26c5928 Changed darkcoin references to dash
- Changed out logos (just a placeholder)
- DRK -> DASH
- ./darkcoin -> ./dash
2015-03-19 12:03:14 -07:00
Wladimir J. van der Laan
aaba10f275
Revert "Make nicer pull request merge messages"
This reverts commit 1078fb0885 (and thus
pull #5623). It has various issues:

- Pull request names get cut off at ", see e.g. a026a56

- Merge script no longer copes with pulls that have a milestone
  attached, due to a duplicate 'title' in JSON that is not handled by the
  ad-hoc parsing.
2015-02-20 09:59:33 +01:00
Wladimir J. van der Laan
f69941620b
Merge #5623: Make nicer pull request merge messages
1078fb0 Make nicer pull request merge messages (BtcDrak)
2015-02-09 12:53:00 +01:00
vertoe
64438577e0 Prepare transifex integration. 2015-01-30 11:39:55 +01:00
Wladimir J. van der Laan
905711f0a1 contrib: improve optimize-pngs.py
- Check that image contents match pre- and post- crushing.
- Also remove use of external tool to compute sha256 in favor of hashlib.
- contrib: remove all use of shell=True in strip_pngs.py
  Using `shell=True` can be a security hazard. See e.g.
  https://docs.python.org/2/library/subprocess.html#subprocess.check_output
2015-01-14 17:19:04 +01:00
Jonas Schnelli
42f6a0c2b9 [Qt] optimize PNG files
- provide a python script
- add optimized png files
2015-01-14 17:18:48 +01:00
BtcDrak
1078fb0885
Make nicer pull request merge messages 2015-01-11 09:12:40 +00:00
Wladimir J. van der Laan
39c809942d contrib: make github-merge require signing
- Exit when there is no signing key configured
- Exit when user does not want to sign off
2014-12-20 13:58:51 +01:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Michael Ford
78253fcbad Remove references to X11 licence 2014-12-16 15:56:50 +08:00
Evan Duffield
eb87b05ddf Brought over 10.18 changes from old branch 2014-12-11 08:36:02 -07:00
Wladimir J. van der Laan
6e6a36ce30 contrib: show pull # in prompt for github-merge script 2014-12-09 10:16:58 +01:00
Wladimir J. van der Laan
cd3269e38e
contrib: revert changes to github-merge.sh in #5038 2014-10-07 10:00:12 +02:00
Luke Dashjr
0b17964131 Bugfix: Replace bashisms with standard sh in tests/tools 2014-10-03 23:45:26 +00:00
Wladimir J. van der Laan
b62172a66a
Add deeper XML checking to update-translation script
- Catch problems such as mismatched formatting characters. Remove
  messages that can give problems at runtime.

- Also remove unfinished/untranslated messages, they just take up space
  in the ts and waste parsing time.

Fixes #4774.

Rebased-From: da59f28
Rebased-By: Wladimir J. van der Laan
2014-09-01 10:31:59 +02:00
Wladimir J. van der Laan
da59f28335 Add deeper XML checking to update-translation script
- Catch problems such as mismatched formatting characters. Remove
  messages that can give problems at runtime.

- Also remove unfinished/untranslated messages, they just take up space
  in the ts and waste parsing time.

Fixes #4774.
2014-09-01 10:06:15 +02:00
Gavin Andresen
c53b1ece1b
Fix github-merge with git version 2.1.0
Running git version 2.1.0 on OSX (homebrew), I get
  fatal: '1q': not a non-negative integer

I'm guessing git command-line parsing got more strict recently?
2014-08-19 13:47:37 -04:00
Wladimir J. van der Laan
27116e87cc
devtools: Exclude default exports from symbol-checker script
See discussion in #4663.
2014-08-17 10:07:46 +02:00
Wladimir J. van der Laan
583df73acd
Merge pull request #4110
3a54ad9 Full translation update (Wladimir J. van der Laan)
9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
2014-05-02 11:50:59 +02:00
Wladimir J. van der Laan
9dd5d79244 devtools: add a script to fetch and postprocess translations
Run this script from the root of the repository to update all translations from transifex.
It will do the following automatically:

- create a transifex configuration file
- fetch all translations
- post-process them into valid and committable format
2014-05-01 10:16:06 +02:00
Wladimir J. van der Laan
202c95c216 devtools: have symbol check script check for exported symbols
After last commit, our executables should export no symbols anymore.  To
make sure that this stays the case, verify this in the symbol checker
script.
2014-04-30 15:30:39 +02:00
Wladimir J. van der Laan
74fc254c2b devtools: add script to check symbols from Linux gitian executables
Add a script to check that the (Linux) executables produced by gitian
only contain allowed gcc, glibc and libstdc++ version symbols.  This
makes sure they are still compatible with the minimum supported Linux
distribution versions.
2014-04-25 12:19:37 +02:00
gubatron
57702541a2 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014.
contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
2014-02-09 21:06:06 -05:00
Wladimir J. van der Laan
e5adec35c6 contrib: add sipa's github-merge script 2013-11-24 12:44:31 +01:00