forked from cheng/wallet
Documented changes in the install source process
This commit is contained in:
parent
08dd5321c3
commit
0e70995541
@ -11,47 +11,75 @@ pre-requisite, Pandoc to build the html documentation from the markdown files.
|
|||||||
Windows pre-requisites: Visual Studio and git-bash
|
Windows pre-requisites: Visual Studio and git-bash
|
||||||
|
|
||||||
To obtain the source code from which the project can be built,
|
To obtain the source code from which the project can be built,
|
||||||
including this README, from the bash command line (git-bash in windows).
|
including this README.html, from the bash command line (git-bash in windows).
|
||||||
|
|
||||||
```bash2
|
```bash
|
||||||
git clone --recurse-submodules missing url
|
git clone --recurse-submodules missing url
|
||||||
```
|
```
|
||||||
|
|
||||||
To configure and build the required third party libraries in windows,
|
To build the docs, you need pandoc on the path.
|
||||||
then build the program and run unit test for the first time, execute
|
|
||||||
|
```bash2
|
||||||
|
cd wallet/docs
|
||||||
|
./mkdocs.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
To configure and build the required third party libraries in windows, then
|
||||||
|
build the program and run unit test for the first time, you need to have
|
||||||
|
Visual studio build tools at their default location)
|
||||||
|
|
||||||
|
```bash2
|
||||||
|
cd wallet
|
||||||
|
./winConfigure.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
Or, if you are in the command shell or power shell,
|
||||||
|
|
||||||
```bat
|
```bat
|
||||||
.\winConfigure.bat
|
.\winConfigure.bat
|
||||||
```
|
```
|
||||||
|
|
||||||
from the windows power shell or command window.
|
After a pull from remote in which the submodules have changed, the pull
|
||||||
|
fails to automatically update the submodules by default, and when you
|
||||||
|
switch or checkout branches, the switch fails to automatically switch
|
||||||
|
and checkout the brances.
|
||||||
|
|
||||||
Should the libraries change in a subsequent `pull ` you will need
|
After a pull that gives you a status of modified submodules.
|
||||||
|
|
||||||
```bat
|
```bash
|
||||||
git pull
|
git submodule update --init --recursive --remote
|
||||||
rem you get a status message indicating libraries have been updated.
|
|
||||||
git pull -force --recurse-submodules
|
|
||||||
winConfigure.bat
|
|
||||||
```
|
```
|
||||||
|
|
||||||
in order to rebuild the libraries.
|
After a checkout or branch switch that gives you a status of modified submodules.
|
||||||
|
|
||||||
The `--force` is necessary, because `winConfigure.bat` changes
|
```bash
|
||||||
many of the library files, and therefore git will abort the pull.
|
git submodule update --recursive
|
||||||
|
```
|
||||||
|
|
||||||
|
The documentation is in pandoc flavored markdown, which is
|
||||||
|
conveniently edited in vscode with the `markdown lint` and `Pandoc`
|
||||||
|
extensions included and, if you have launched `code` in the docs directory,
|
||||||
|
with `file/preferences/Extensions/Markdown/Styles` set to
|
||||||
|
`pandoc_templates\\style.css`, that being the style used by the `mkdocs.sh` documentation build script.
|
||||||
|
|
||||||
|
On Windows, if Git Bash and Pandoc has been installed, you should be
|
||||||
|
able to run this shell file in bash by double clicking on it.
|
||||||
|
|
||||||
|
if you add the recommended repository configuration defaults to your local repository configuration
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git config --local include.path ../.gitconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
this will substantially mitigate the problem of submodules failing to
|
||||||
|
update in pushes, pulls, checkouts, and switches.
|
||||||
|
|
||||||
[cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed
|
[cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed
|
||||||
"Contributor Code of Conduct"
|
"Contributor Code of Conduct"
|
||||||
{target="_blank"}
|
{target="_blank"}
|
||||||
|
|
||||||
The winConfigure script builds everything, including the documents, but
|
It will, however, also implement signed commits, insist that you have `gpg` on your path, and that you have cohfigured a signing key in your local config, and will refuse to pull updates that are signed by a gpg key that you have not locally trusted.
|
||||||
takes a while. Normally when you make changes to the source code you
|
because [cryptographic software is under attack] from NSA
|
||||||
should rebuild just the program, using `wallet.sln` on windows.
|
|
||||||
To rebuild the documents after editing them, `docs/mkdocs.sh`
|
|
||||||
|
|
||||||
winConfigure.bat also configures the repository you just created to use
|
|
||||||
`.gitconfig` in the repository, causing git to to implement GPG signed
|
|
||||||
commits -- because [cryptographic software is under attack] from NSA
|
|
||||||
entryists and shills, who seek to introduce backdoors.
|
entryists and shills, who seek to introduce backdoors.
|
||||||
|
|
||||||
This may be inconvenient if you do not have `gpg` installed and set up.
|
This may be inconvenient if you do not have `gpg` installed and set up.
|
||||||
@ -99,11 +127,5 @@ addresses as owned by the same entity, and we don't want email
|
|||||||
addresses used to link people to the project, because those
|
addresses used to link people to the project, because those
|
||||||
identities would then come under state and quasi state pressure.
|
identities would then come under state and quasi state pressure.
|
||||||
|
|
||||||
To build the documentation in its intended html form from the markdown
|
|
||||||
files, execute the bash script file `docs/mkdocs.sh`, in an environment where
|
|
||||||
`pandoc` is available. On Windows, if Git Bash and Pandoc
|
|
||||||
has been installed, you should be able to run this shell
|
|
||||||
file in bash by double clicking on it.
|
|
||||||
|
|
||||||
[Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well
|
[Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well
|
||||||
enough for it to be apparent what it would do if it did work.
|
enough for it to be apparent what it would do if it did work.
|
||||||
|
Loading…
Reference in New Issue
Block a user