bitcoin/contrib
fanquake 769dd1e826
Merge bitcoin/bitcoin#25975: contrib/init: Better systemd integration
689a65d878 contrib/init: Better systemd integration (Carl Dong)

Pull request description:

  ```
  1. Make logs available to journalctl (systemd's logging system) by not
     specifying -daemonwait, which rightfully has its own set of stdout
     and stderr descriptors (a user invoking with -daemonwait on the
     command line should not see any logs). It makes more sense not to
     daemonize in the systemd context anyway.

  2. Make systemd aware of when bitcoind is started and in steady state by
     specifying -startupnotify='systemd-notify --ready' and Type=notify.
     NotifyAccess=all is necessary so that the spawned thread for
     startupnotify is allowed to inform systemd of bitcoind's readiness.

     Note that NotifyAccess=exec won't work because it only allows
     sd_notify readiness signalling from Exec*= declarations in the
     .service file.

  Note that we currently don't allow multiple startupnotify commands, but
  users can override it in systemd via:

    # systemctl edit bitcoind

  By specifying something like:

    [Service]
    ExecStart=/usr/bin/bitcoind -pid=/run/bitcoind/bitcoind.pid \
                                -conf=/etc/bitcoin/bitcoin.conf \
                                -datadir=/var/lib/bitcoind \
                                -startupnotify='systemd-notify --ready; mycommandhere'
  ```

ACKs for top commit:
  real-or-random:
    ACK 689a65d878 tested this service file with 25.0

Tree-SHA512: 9a52ad5cf25886c0d8dabc986d8920602a056db25875b5edd910b387043b78bb78c76d6df82e6e322e3be3bfd5c35c80721cbc8308cec946060bd7586820e9c6
2023-05-29 13:43:42 +01:00
..
completions scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
debian doc: Clarify debian copyright comment 2023-01-18 10:29:24 +01:00
devtools contrib: add ELF ABI check to symbol-check.py 2023-05-02 16:54:36 +01:00
guix Merge bitcoin/bitcoin#27670: guix: remove redundant glibc patches 2023-05-22 10:49:07 +01:00
init contrib/init: Better systemd integration 2023-05-28 13:10:30 -04:00
linearize script, test: fix python linter E275 errors with flake8 5.0.4 2023-01-03 10:59:56 -08:00
macdeploy scripted-diff: Use new python 3.7 keywords 2023-01-18 13:00:34 +01:00
message-capture scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
qos scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
seeds p2p: update hardcoded mainnet seeds for 25.x 2023-04-20 06:08:22 -07:00
shell guix: Add source-able bash prelude and utils 2021-04-05 11:00:21 -04:00
signet Merge bitcoin/bitcoin#25867: lint: enable E722 do not use bare except 2023-02-22 09:28:09 +00:00
testgen contrib: make gen_key_io_test_vectors deterministic 2022-04-06 17:02:50 +02:00
tracing Add mempool tracepoints 2023-03-20 15:57:31 +01:00
verify-binaries contrib: minor doc improvements in verify-binaries 2023-04-09 13:08:46 +02:00
verify-commits add ryanofsky to trusted-keys 2023-05-08 23:30:56 -04:00
windeploy windeploy: Renewed windows code signing certificate 2022-05-24 12:55:03 -04:00
zmq scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
filter-lcov.py scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
README.md contrib: remove builder keys 2022-12-19 17:21:35 +00:00
valgrind.supp valgrind: update supps for Debian Bookworm. 2023-04-12 17:45:32 +01:00

Repository Tools

Developer tools

Specific tools for developers working on this repository. Additional tools, including the github-merge.py script, are available in the maintainer-tools repository.

Verify-Commits

Tool to verify that every merge commit was signed by a developer using the github-merge.py script.

Linearize

Construct a linear, no-fork, best version of the blockchain.

Qos

A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Bitcoin network. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.

Seeds

Utility to generate the pnSeed[] array that is compiled into the client.

Build Tools and Keys

Packaging

The Debian subfolder contains the copyright file.

All other packaging related files can be found in the bitcoin-core/packaging repository.

MacDeploy

Scripts and notes for Mac builds.

Test and Verify Tools

TestGen

Utilities to generate test vectors for the data-driven Bitcoin tests.

Verify Binaries

This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.

Command Line Tools

Completions

Shell completions for bash and fish.