From fd338c0689bfe7d31c978578b24433001acd3a3f Mon Sep 17 00:00:00 2001 From: Jan Sarenik Date: Thu, 1 Mar 2018 15:05:52 +0100 Subject: [PATCH] doc: More plain-text improvements to HACKING.md and INSTALL.md This time the rendered output is slightly different, but mostly because long preformatted lines are wrapped and contain an extra continuation backslash now. --- doc/HACKING.md | 10 +++-- doc/INSTALL.md | 114 ++++++++++++++++++++++--------------------------- 2 files changed, 58 insertions(+), 66 deletions(-) diff --git a/doc/HACKING.md b/doc/HACKING.md index 63949c0b2..8f5205484 100644 --- a/doc/HACKING.md +++ b/doc/HACKING.md @@ -17,7 +17,7 @@ Patches are welcome! [style]: https://www.kernel.org/doc/html/v4.10/process/coding-style.html -To read the code, you'll probably need to understand ccan/tal: it's a +To read the code, you'll probably need to understand `ccan/tal`: it's a hierarchical memory allocator, where each allocation has a parent, and thus lifetimes are grouped. eg. a `struct bitcoin_tx` has a pointer to an array of `struct bitcoin_tx_input`; they are allocated off the @@ -103,7 +103,8 @@ You can debug crashing subdaemons with the argument `--dev-debugger=lightning_channeld`, where `channeld` is the subdaemon name. It will print out (to stderr) a command such as: - gdb -ex 'attach 22398' -ex 'p debugger_connected=1' lightningd/lightning_hsmd + gdb -ex 'attach 22398' -ex 'p debugger_connected=1' \ + lightningd/lightning_hsmd Run this command to start debugging. You may need to type `return` one more time to exit the infinite while @@ -117,7 +118,8 @@ It is a sqlite database stored in the `lightningd.sqlite3` file, typically under `~/.lightning`. You can run queries against this file like so: - $ sqlite3 ~/.lightning/lightningd.sqlite3 "SELECT HEX(prev_out_tx), prev_out_index, status FROM outputs" + $ sqlite3 ~/.lightning/lightningd.sqlite3 \ + "SELECT HEX(prev_out_tx), prev_out_index, status FROM outputs" Or you can launch into the sqlite3 repl and check things out from there: @@ -210,7 +212,7 @@ Further Information ------------------- Feel free to ask questions on the lightning-dev mailing list, or on -#c-lightning on IRC, or email me at rusty@rustcorp.com.au. +`#c-lightning` on IRC, or email me at rusty@rustcorp.com.au. Cheers!
Rusty. diff --git a/doc/INSTALL.md b/doc/INSTALL.md index 68a5eb6ec..a8b3102bc 100644 --- a/doc/INSTALL.md +++ b/doc/INSTALL.md @@ -17,68 +17,62 @@ To Build on Ubuntu 15.10 or above --------------------- Get dependencies: -``` -sudo apt-get install -y autoconf automake build-essential git libtool libgmp-dev libsqlite3-dev python python3 net-tools libsodium-dev -``` + + sudo apt-get install -y \ + autoconf automake build-essential git libtool libgmp-dev \ + libsqlite3-dev python python3 net-tools libsodium-dev If you don't have Bitcoin installed locally you'll need to install that as well: -``` -sudo apt-get install software-properties-common -sudo add-apt-repository ppa:bitcoin/bitcoin -sudo apt-get update -sudo apt-get install -y bitcoind -``` + + sudo apt-get install software-properties-common + sudo add-apt-repository ppa:bitcoin/bitcoin + sudo apt-get update + sudo apt-get install -y bitcoind For development or running tests, get additional dependencies: -``` -sudo apt-get install -y asciidoc valgrind python3-pip -sudo pip3 install python-bitcoinlib -``` + + sudo apt-get install -y asciidoc valgrind python3-pip + sudo pip3 install python-bitcoinlib Clone lightning: -``` -git clone https://github.com/ElementsProject/lightning.git -cd lightning -``` + + git clone https://github.com/ElementsProject/lightning.git + cd lightning Build lightning: -``` -make -``` + + make Running lightning: -``` -bitcoind & -./lightningd/lightningd & -./cli/lightning-cli help -``` + + bitcoind & + ./lightningd/lightningd & + ./cli/lightning-cli help + **Note**: You may need to include `testnet=1` in `bitcoin.conf` To Build on FreeBSD 11.1-RELEASE --------------------- Get dependencies: -``` -# pkg install -y autoconf automake git gmake libtool python python3 sqlite3 -``` + + # pkg install -y \ + autoconf automake git gmake libtool python python3 sqlite3 If you don't have Bitcoin installed locally you'll need to install that as well: -``` -# pkg install -y bitcoin-daemon bitcoin-utils -``` + + # pkg install -y bitcoin-daemon bitcoin-utils Clone lightning: -``` -$ git clone https://github.com/ElementsProject/lightning.git -$ cd lightning -``` + + $ git clone https://github.com/ElementsProject/lightning.git + $ cd lightning Build lightning: -``` -$ gmake -``` + + $ gmake Running lightning: @@ -86,11 +80,9 @@ Running lightning: `rpcuser=` and `rpcpassword=` first, you may also need to include `testnet=1` -``` -# service bitcoind start -$ ./lightningd/lightningd & -$ ./cli/lightning-cli help -``` + # service bitcoind start + $ ./lightningd/lightningd & + $ ./cli/lightning-cli help To Build on Nix{,OS} -------------------- @@ -114,30 +106,28 @@ For c-lightning you must target an API level of 24 or higher. Depending on your toolchain location and target arch, source env variables such as: -``` -export PATH=$PATH:/path/to/android/toolchain/bin -# Change depending on target device arch -target_host=arm-linux-androideabi - -export AR=$target_host-ar -export AS=$target_host-clang -export CC=$target_host-clang -export CXX=$target_host-clang++ -export LD=$target_host-ld -export STRIP=$target_host-strip -``` + export PATH=$PATH:/path/to/android/toolchain/bin + # Change next line depending on target device arch + target_host=arm-linux-androideabi + export AR=$target_host-ar + export AS=$target_host-clang + export CC=$target_host-clang + export CXX=$target_host-clang++ + export LD=$target_host-ld + export STRIP=$target_host-strip Two makefile targets should not be cross-compiled so we specify a native CC: -``` -make CC=clang clean ccan/tools/configurator/configurator -make clean -C ccan/ccan/cdump/tools && make CC=clang -C ccan/ccan/cdump/tools -``` + + make CC=clang clean ccan/tools/configurator/configurator + make clean -C ccan/ccan/cdump/tools \ + && make CC=clang -C ccan/ccan/cdump/tools Install the `qemu-user` package. This will allow you to properly configure the build for the target device environment. Build with: -``` -BUILD=x86_64 HOST=arm-linux-androideabi make PIE=1 DEVELOPER=0 CONFIGURATOR_CC="arm-linux-androideabi-clang -static" -``` + + BUILD=x86_64 HOST=arm-linux-androideabi \ + make PIE=1 DEVELOPER=0 \ + CONFIGURATOR_CC="arm-linux-androideabi-clang -static"