Browse Source

Correct spelling mistakes in doc folder

- OSX —> OS X
- XCode —> Xcode
- github —> GitHub
- homebrew —> Homebrew
- gitian —> Gitian
- Other miscellaneous obvious spelling fixes and whitespace removal
0.13
Mitchell Cash 9 years ago
parent
commit
99963b938f
  1. 6
      doc/README.md
  2. 20
      doc/README_osx.txt
  3. 7
      doc/build-openbsd.md
  4. 10
      doc/build-osx.md
  5. 2
      doc/developer-notes.md
  6. 2
      doc/dnsseed-policy.md
  7. 76
      doc/gitian-building.md
  8. 17
      doc/init.md
  9. 2
      doc/release-notes.md
  10. 42
      doc/release-process.md
  11. 11
      doc/tor.md
  12. 2
      doc/translation_process.md
  13. 3
      doc/translation_strings_policy.md
  14. 2
      doc/zmq.md

6
doc/README.md

@ -7,7 +7,7 @@ Setup
Running Running
--------------------- ---------------------
The following are some helpful notes on how to run Bitcoin on your native platform. The following are some helpful notes on how to run Bitcoin on your native platform.
### Unix ### Unix
@ -26,7 +26,7 @@ Unpack the files into a directory and run:
Unpack the files into a directory, and then run bitcoin-qt.exe. Unpack the files into a directory, and then run bitcoin-qt.exe.
### OSX ### OS X
Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt. Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt.
@ -41,7 +41,7 @@ Building
--------------------- ---------------------
The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc. The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
- [OSX Build Notes](build-osx.md) - [OS X Build Notes](build-osx.md)
- [Unix Build Notes](build-unix.md) - [Unix Build Notes](build-unix.md)
- [Gitian Building Guide](gitian-building.md) - [Gitian Building Guide](gitian-building.md)

20
doc/README_osx.txt

@ -1,12 +1,12 @@
Deterministic OSX Dmg Notes. Deterministic OS X Dmg Notes.
Working OSX DMGs are created in Linux by combining a recent clang, Working OS X DMGs are created in Linux by combining a recent clang,
the Apple's binutils (ld, ar, etc), and DMG authoring tools. the Apple's binutils (ld, ar, etc), and DMG authoring tools.
Apple uses clang extensively for development and has upstreamed the necessary Apple uses clang extensively for development and has upstreamed the necessary
functionality so that a vanilla clang can take advantage. It supports the use functionality so that a vanilla clang can take advantage. It supports the use
of -F, -target, -mmacosx-version-min, and --sysroot, which are all necessary of -F, -target, -mmacosx-version-min, and --sysroot, which are all necessary
when building for OSX. A pre-compiled version of 3.2 is used because it was not when building for OS X. A pre-compiled version of 3.2 is used because it was not
available in the Precise repositories at the time this work was started. In the available in the Precise repositories at the time this work was started. In the
future, it can be switched to use system packages instead. future, it can be switched to use system packages instead.
@ -29,18 +29,18 @@ originally done in toolchain4.
To complicate things further, all builds must target an Apple SDK. These SDKs To complicate things further, all builds must target an Apple SDK. These SDKs
are free to download, but not redistributable. are free to download, but not redistributable.
To obtain it, register for a developer account, then download the XCode 6.1.1 dmg: To obtain it, register for a developer account, then download the Xcode 6.1.1 dmg:
https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg
This file is several gigabytes in size, but only a single directory inside is This file is several gigabytes in size, but only a single directory inside is
needed: Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk needed: Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
Unfortunately, the usual linux tools (7zip, hpmount, loopback mount) are incapable of opening this file. Unfortunately, the usual linux tools (7zip, hpmount, loopback mount) are incapable of opening this file.
To create a tarball suitable for gitian input, mount the dmg in OSX, then create it with: To create a tarball suitable for Gitian input, mount the dmg in OS X, then create it with:
$ tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk $ tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk
The gitian descriptors build 2 sets of files: Linux tools, then Apple binaries The Gitian descriptors build 2 sets of files: Linux tools, then Apple binaries
which are created using these tools. The build process has been designed to which are created using these tools. The build process has been designed to
avoid including the SDK's files in Gitian's outputs. All interim tarballs are avoid including the SDK's files in Gitian's outputs. All interim tarballs are
fully deterministic and may be freely redistributed. fully deterministic and may be freely redistributed.
@ -64,20 +64,20 @@ Ideally, the creation could be fixed and genisoimage would no longer be necessar
Background images and other features can be added to DMG files by inserting a Background images and other features can be added to DMG files by inserting a
.DS_Store before creation. The easiest way to create this file is to build a .DS_Store before creation. The easiest way to create this file is to build a
DMG without one, move it to a device running OSX, customize the layout, then DMG without one, move it to a device running OS X, customize the layout, then
grab the .DS_Store file for later use. That is the approach taken here. grab the .DS_Store file for later use. That is the approach taken here.
As of OSX Mavericks (10.9), using an Apple-blessed key to sign binaries is a As of OS X Mavericks (10.9), using an Apple-blessed key to sign binaries is a
requirement in order to satisfy the new Gatekeeper requirements. Because this requirement in order to satisfy the new Gatekeeper requirements. Because this
private key cannot be shared, we'll have to be a bit creative in order for the private key cannot be shared, we'll have to be a bit creative in order for the
build process to remain somewhat deterministic. Here's how it works: build process to remain somewhat deterministic. Here's how it works:
- Builders use gitian to create an unsigned release. This outputs an unsigned - Builders use Gitian to create an unsigned release. This outputs an unsigned
dmg which users may choose to bless and run. It also outputs an unsigned app dmg which users may choose to bless and run. It also outputs an unsigned app
structure in the form of a tarball, which also contains all of the tools structure in the form of a tarball, which also contains all of the tools
that have been previously (deterministically) built in order to create a that have been previously (deterministically) built in order to create a
final dmg. final dmg.
- The Apple keyholder uses this unsigned app to create a detached signature, - The Apple keyholder uses this unsigned app to create a detached signature,
using the script that is also included there. using the script that is also included there.
- Builders feed the unsigned app + detached signature back into gitian. It - Builders feed the unsigned app + detached signature back into Gitian. It
uses the pre-built tools to recombine the pieces into a deterministic dmg. uses the pre-built tools to recombine the pieces into a deterministic dmg.

7
doc/build-openbsd.md

@ -38,7 +38,7 @@ Do not use `pkg_add boost`! The boost version installed thus is compiled using t
test_bitcoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program test_bitcoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
... ...
Segmentation fault (core dumped) Segmentation fault (core dumped)
This makes it necessary to build boost, or at least the parts used by Bitcoin Core, manually: This makes it necessary to build boost, or at least the parts used by Bitcoin Core, manually:
@ -57,7 +57,7 @@ tar -xjf boost_1_59_0.tar.bz2
# Boost 1.59 needs two small patches for OpenBSD # Boost 1.59 needs two small patches for OpenBSD
cd boost_1_59_0 cd boost_1_59_0
# Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch # Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
patch -p0 < /usr/ports/devel/boost/patches/patch-boost_test_impl_execution_monitor_ipp patch -p0 < /usr/ports/devel/boost/patches/patch-boost_test_impl_execution_monitor_ipp
# https://github.com/boostorg/filesystem/commit/90517e459681790a091566dce27ca3acabf9a70c # https://github.com/boostorg/filesystem/commit/90517e459681790a091566dce27ca3acabf9a70c
sed 's/__OPEN_BSD__/__OpenBSD__/g' < libs/filesystem/src/path.cpp > libs/filesystem/src/path.cpp.tmp sed 's/__OPEN_BSD__/__OpenBSD__/g' < libs/filesystem/src/path.cpp > libs/filesystem/src/path.cpp.tmp
mv libs/filesystem/src/path.cpp.tmp libs/filesystem/src/path.cpp mv libs/filesystem/src/path.cpp.tmp libs/filesystem/src/path.cpp
@ -92,7 +92,7 @@ tar -xzf db-4.8.30.NC.tar.gz
# Build the library and install to specified prefix # Build the library and install to specified prefix
cd db-4.8.30.NC/build_unix/ cd db-4.8.30.NC/build_unix/
# Note: Do a static build so that it can be embedded into the executable, instead of having to find a .so at runtime # Note: Do a static build so that it can be embedded into the executable, instead of having to find a .so at runtime
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX CC=egcc CXX=eg++ CPP=ecpp ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX CC=egcc CXX=eg++ CPP=ecpp
make install make install
``` ```
@ -160,4 +160,3 @@ version installed by OpenBSD 5.7:
- https://llvm.org/bugs/show_bug.cgi?id=9758 - https://llvm.org/bugs/show_bug.cgi?id=9758
There is no known workaround for this. There is no known workaround for this.

10
doc/build-osx.md

@ -1,6 +1,6 @@
Mac OS X Build Instructions and Notes Mac OS X Build Instructions and Notes
==================================== ====================================
This guide will show you how to build bitcoind (headless client) for OSX. This guide will show you how to build bitcoind (headless client) for OS X.
Notes Notes
----- -----
@ -13,8 +13,8 @@ built-in one is located in `/Applications/Utilities`.
Preparation Preparation
----------- -----------
You need to install XCode with all the options checked so that the compiler You need to install Xcode with all the options checked so that the compiler
and everything is available in /usr not just /Developer. XCode should be and everything is available in /usr not just /Developer. Xcode should be
available on your OS X installation media, but if not, you can get the available on your OS X installation media, but if not, you can get the
current version from https://developer.apple.com/xcode/. If you install current version from https://developer.apple.com/xcode/. If you install
Xcode 4.3 or later, you'll need to install its command line tools. This can Xcode 4.3 or later, you'll need to install its command line tools. This can
@ -38,7 +38,7 @@ NOTE: Building with Qt4 is still supported, however, could result in a broken UI
### Building `bitcoind` ### Building `bitcoind`
1. Clone the github tree to get the source code and go into the directory. 1. Clone the GitHub tree to get the source code and go into the directory.
git clone https://github.com/bitcoin/bitcoin.git git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin cd bitcoin
@ -62,7 +62,7 @@ Use Qt Creator as IDE
You can use Qt Creator as IDE, for debugging and for manipulating forms, etc. You can use Qt Creator as IDE, for debugging and for manipulating forms, etc.
Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process). Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process).
1. Make sure you installed everything through homebrew mentioned above 1. Make sure you installed everything through Homebrew mentioned above
2. Do a proper ./configure --with-gui=qt5 --enable-debug 2. Do a proper ./configure --with-gui=qt5 --enable-debug
3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project 3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project
4. Enter "bitcoin-qt" as project name, enter src/qt as location 4. Enter "bitcoin-qt" as project name, enter src/qt as location

2
doc/developer-notes.md

@ -57,7 +57,7 @@ As Doxygen recognizes the comments by the delimiters (`/**` and `*/` in this cas
To describe a class use the same construct above the class definition: To describe a class use the same construct above the class definition:
```c++ ```c++
/** /**
* Alerts are for notifying old versions if they become too obsolete and * Alerts are for notifying old versions if they become too obsolete and
* need to upgrade. The message is displayed in the status bar. * need to upgrade. The message is displayed in the status bar.
* @see GetWarnings() * @see GetWarnings()

2
doc/dnsseed-policy.md

@ -7,7 +7,7 @@ As such, DNS seeds must be run by entities which have some minimum
level of trust within the Bitcoin community. level of trust within the Bitcoin community.
Other implementations of Bitcoin software may also use the same Other implementations of Bitcoin software may also use the same
seeds and may be more exposed. In light of this exposure, this seeds and may be more exposed. In light of this exposure, this
document establishes some basic expectations for operating dnsseeds. document establishes some basic expectations for operating dnsseeds.
0. A DNS seed operating organization or person is expected to follow good 0. A DNS seed operating organization or person is expected to follow good

76
doc/gitian-building.md

@ -1,7 +1,7 @@
Gitian building Gitian building
================ ================
*Setup instructions for a gitian build of Bitcoin using a Debian VM or physical system.* *Setup instructions for a Gitian build of Bitcoin using a Debian VM or physical system.*
Gitian is the deterministic build process that is used to build the Bitcoin Gitian is the deterministic build process that is used to build the Bitcoin
Core executables. It provides a way to be reasonably sure that the Core executables. It provides a way to be reasonably sure that the
@ -13,7 +13,7 @@ Multiple developers build the source code by following a specific descriptor
These results are compared and only if they match, the build is accepted and uploaded These results are compared and only if they match, the build is accepted and uploaded
to bitcoin.org. to bitcoin.org.
More independent gitian builders are needed, which is why this guide exists. More independent Gitian builders are needed, which is why this guide exists.
It is preferred you follow these steps yourself instead of using someone else's It is preferred you follow these steps yourself instead of using someone else's
VM image to avoid 'contaminating' the build. VM image to avoid 'contaminating' the build.
@ -22,9 +22,9 @@ Table of Contents
- [Create a new VirtualBox VM](#create-a-new-virtualbox-vm) - [Create a new VirtualBox VM](#create-a-new-virtualbox-vm)
- [Connecting to the VM](#connecting-to-the-vm) - [Connecting to the VM](#connecting-to-the-vm)
- [Setting up Debian for gitian building](#setting-up-debian-for-gitian-building) - [Setting up Debian for Gitian building](#setting-up-debian-for-gitian-building)
- [Installing gitian](#installing-gitian) - [Installing Gitian](#installing-gitian)
- [Setting up the gitian image](#setting-up-the-gitian-image) - [Setting up the Gitian image](#setting-up-the-gitian-image)
- [Getting and building the inputs](#getting-and-building-the-inputs) - [Getting and building the inputs](#getting-and-building-the-inputs)
- [Building Bitcoin](#building-bitcoin) - [Building Bitcoin](#building-bitcoin)
- [Building an alternative repository](#building-an-alternative-repository) - [Building an alternative repository](#building-an-alternative-repository)
@ -43,7 +43,7 @@ Any kind of virtualization can be used, for example:
- [KVM](http://www.linux-kvm.org/page/Main_Page) - [KVM](http://www.linux-kvm.org/page/Main_Page)
- [LXC](https://linuxcontainers.org/), see also [Gitian host docker container](https://github.com/gdm85/tenku/tree/master/docker/gitian-bitcoin-host/README.md). - [LXC](https://linuxcontainers.org/), see also [Gitian host docker container](https://github.com/gdm85/tenku/tree/master/docker/gitian-bitcoin-host/README.md).
You can also install gitian on actual hardware instead of using virtualization. You can also install Gitian on actual hardware instead of using virtualization.
Create a new VirtualBox VM Create a new VirtualBox VM
--------------------------- ---------------------------
@ -60,18 +60,18 @@ In the VirtualBox GUI click "Create" and choose the following parameters in the
![](gitian-building/create_vm_hard_disk.png) ![](gitian-building/create_vm_hard_disk.png)
- Hard Disk: Create a virtual hard disk now - Hard Disk: Create a virtual hard disk now
![](gitian-building/create_vm_hard_disk_file_type.png) ![](gitian-building/create_vm_hard_disk_file_type.png)
- Hard Disk file type: Use the default, VDI (VirtualBox Disk Image) - Hard Disk file type: Use the default, VDI (VirtualBox Disk Image)
![](gitian-building/create_vm_storage_physical_hard_disk.png) ![](gitian-building/create_vm_storage_physical_hard_disk.png)
- Storage on physical hard disk: Dynamically Allocated - Storage on physical hard disk: Dynamically Allocated
![](gitian-building/create_vm_file_location_size.png) ![](gitian-building/create_vm_file_location_size.png)
- File location and size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side - File location and size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
- Click `Create` - Click `Create`
Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)).
@ -81,7 +81,7 @@ Unixy OSes by entering the following in a terminal:
echo "d393d17ac6b3113c81186e545c416a00f28ed6e05774284bb5e8f0df39fcbcb9 debian-8.2.0-amd64-netinst.iso" | sha256sum -c echo "d393d17ac6b3113c81186e545c416a00f28ed6e05774284bb5e8f0df39fcbcb9 debian-8.2.0-amd64-netinst.iso" | sha256sum -c
# (must return OK) # (must return OK)
After creating the VM, we need to configure it. After creating the VM, we need to configure it.
- Click the `Settings` button, then go to the `Network` tab. Adapter 1 should be attached to `NAT`. - Click the `Settings` button, then go to the `Network` tab. Adapter 1 should be attached to `NAT`.
@ -115,8 +115,8 @@ This section will explain how to install Debian on the newly created VM.
![](gitian-building/debian_install_1_boot_menu.png) ![](gitian-building/debian_install_1_boot_menu.png)
**Note**: Navigating in the Debian installer: **Note**: Navigating in the Debian installer:
To keep a setting at the default and proceed, just press `Enter`. To keep a setting at the default and proceed, just press `Enter`.
To select a different button, press `Tab`. To select a different button, press `Tab`.
- Choose locale and keyboard settings (doesn't matter, you can just go with the defaults or select your own information) - Choose locale and keyboard settings (doesn't matter, you can just go with the defaults or select your own information)
@ -126,23 +126,23 @@ To select a different button, press `Tab`.
![](gitian-building/debian_install_4_configure_keyboard.png) ![](gitian-building/debian_install_4_configure_keyboard.png)
- The VM will detect network settings using DHCP, this should all proceed automatically - The VM will detect network settings using DHCP, this should all proceed automatically
- Configure the network: - Configure the network:
- Hostname `debian`. - Hostname `debian`.
- Leave domain name empty. - Leave domain name empty.
![](gitian-building/debian_install_5_configure_the_network.png) ![](gitian-building/debian_install_5_configure_the_network.png)
- Choose a root password and enter it twice (remember it for later) - Choose a root password and enter it twice (remember it for later)
![](gitian-building/debian_install_6a_set_up_root_password.png) ![](gitian-building/debian_install_6a_set_up_root_password.png)
- Name the new user `debian` (the full name doesn't matter, you can leave it empty) - Name the new user `debian` (the full name doesn't matter, you can leave it empty)
- Set the account username as `debian` - Set the account username as `debian`
![](gitian-building/debian_install_7_set_up_user_fullname.png) ![](gitian-building/debian_install_7_set_up_user_fullname.png)
![](gitian-building/debian_install_8_set_up_username.png) ![](gitian-building/debian_install_8_set_up_username.png)
- Choose a user password and enter it twice (remember it for later) - Choose a user password and enter it twice (remember it for later)
![](gitian-building/debian_install_9_user_password.png) ![](gitian-building/debian_install_9_user_password.png)
@ -152,11 +152,11 @@ To select a different button, press `Tab`.
![](gitian-building/debian_install_10_configure_clock.png) ![](gitian-building/debian_install_10_configure_clock.png)
- Disk setup - Disk setup
- Partitioning method: Guided - Use the entire disk - Partitioning method: Guided - Use the entire disk
![](gitian-building/debian_install_11_partition_disks.png) ![](gitian-building/debian_install_11_partition_disks.png)
- Select disk to partition: SCSI1 (0,0,0) - Select disk to partition: SCSI1 (0,0,0)
![](gitian-building/debian_install_12_choose_disk.png) ![](gitian-building/debian_install_12_choose_disk.png)
@ -166,7 +166,7 @@ To select a different button, press `Tab`.
![](gitian-building/debian_install_15_write_changes.png) ![](gitian-building/debian_install_15_write_changes.png)
- The base system will be installed, this will take a minute or so - The base system will be installed, this will take a minute or so
- Choose a mirror (any will do) - Choose a mirror (any will do)
![](gitian-building/debian_install_16_choose_a_mirror.png) ![](gitian-building/debian_install_16_choose_a_mirror.png)
@ -201,7 +201,7 @@ After Installation
The next step in the guide involves logging in as root via SSH. The next step in the guide involves logging in as root via SSH.
SSH login for root users is disabled by default, so we'll enable that now. SSH login for root users is disabled by default, so we'll enable that now.
Login to the VM using username `root` and the root password you choose earlier. Login to the VM using username `root` and the root password you chose earlier.
You'll be presented with a screen similar to this. You'll be presented with a screen similar to this.
![](gitian-building/debian_root_login.png) ![](gitian-building/debian_root_login.png)
@ -243,7 +243,7 @@ For example, to connect as `root` from a Linux command prompt use
Replace `root` with `debian` to log in as user. Replace `root` with `debian` to log in as user.
Setting up Debian for gitian building Setting up Debian for Gitian building
-------------------------------------- --------------------------------------
In this section we will be setting up the Debian installation for Gitian building. In this section we will be setting up the Debian installation for Gitian building.
@ -260,7 +260,7 @@ Then set up LXC and the rest with the following, which is a complex jumble of se
```bash ```bash
# the version of lxc-start in Debian 7.4 needs to run as root, so make sure # the version of lxc-start in Debian 7.4 needs to run as root, so make sure
# that the build script can exectute it without providing a password # that the build script can execute it without providing a password
echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc
# add cgroup for LXC # add cgroup for LXC
echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab
@ -280,7 +280,7 @@ reboot
At the end the VM is rebooted to make sure that the changes take effect. The steps in this At the end the VM is rebooted to make sure that the changes take effect. The steps in this
section only need to be performed once. section only need to be performed once.
Installing gitian Installing Gitian
------------------ ------------------
Re-login as the user `debian` that was created during installation. Re-login as the user `debian` that was created during installation.
@ -300,14 +300,14 @@ cd ..
**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*. **Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
Clone the git repositories for bitcoin and gitian. Clone the git repositories for bitcoin and Gitian.
```bash ```bash
git clone https://github.com/devrandom/gitian-builder.git git clone https://github.com/devrandom/gitian-builder.git
git clone https://github.com/bitcoin/bitcoin git clone https://github.com/bitcoin/bitcoin
``` ```
Setting up the gitian image Setting up the Gitian image
------------------------- -------------------------
Gitian needs a virtual image of the operating system to build in. Gitian needs a virtual image of the operating system to build in.
@ -333,14 +333,14 @@ Getting and building the inputs
Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-build-inputs-first-time-or-when-dependency-versions-change) Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-build-inputs-first-time-or-when-dependency-versions-change)
in the bitcoin repository under 'Fetch and build inputs' to install sources which require in the bitcoin repository under 'Fetch and build inputs' to install sources which require
manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache
and offline git repositories' which will fetch the remaining files required for building and offline git repositories' which will fetch the remaining files required for building
offline. offline.
Building Bitcoin Building Bitcoin
---------------- ----------------
To build Bitcoin (for Linux, OSX and Windows) just follow the steps under 'perform To build Bitcoin (for Linux, OS X and Windows) just follow the steps under 'perform
gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the bitcoin repository. Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the bitcoin repository.
This may take some time as it will build all the dependencies needed for each descriptor. This may take some time as it will build all the dependencies needed for each descriptor.
These dependencies will be cached after a successful build to avoid rebuilding them when possible. These dependencies will be cached after a successful build to avoid rebuilding them when possible.
@ -380,7 +380,7 @@ Building an alternative repository
----------------------------------- -----------------------------------
If you want to do a test build of a pull on GitHub it can be useful to point If you want to do a test build of a pull on GitHub it can be useful to point
the gitian builder at an alternative repository, using the same descriptors the Gitian builder at an alternative repository, using the same descriptors
and inputs. and inputs.
For example: For example:
@ -395,9 +395,9 @@ COMMIT=2014_03_windows_unicode_path
Building fully offline Building fully offline
----------------------- -----------------------
For building fully offline including attaching signatures to unsigned builds, the detached-sigs repository For building fully offline including attaching signatures to unsigned builds, the detached-sigs repository
and the bitcoin git repository with the desired tag must both be available locally, and then gbuild must be and the bitcoin git repository with the desired tag must both be available locally, and then gbuild must be
told where to find them. It also requires an apt-cacher-ng which is fully-populated but set to offline mode, or told where to find them. It also requires an apt-cacher-ng which is fully-populated but set to offline mode, or
manually disabling gitian-builder's use of apt-get to update the VM build environment. manually disabling gitian-builder's use of apt-get to update the VM build environment.
To configure apt-cacher-ng as an offline cacher, you will need to first populate its cache with the relevant To configure apt-cacher-ng as an offline cacher, you will need to first populate its cache with the relevant
@ -417,7 +417,7 @@ LXC_ARCH=amd64 LXC_SUITE=precise on-target -u root \
-e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install \ -e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install \
$( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../bitcoin/contrib/gitian-descriptors/*|sort|uniq ) $( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../bitcoin/contrib/gitian-descriptors/*|sort|uniq )
LXC_ARCH=amd64 LXC_SUITE=precise on-target -u root apt-get -q -y purge grub LXC_ARCH=amd64 LXC_SUITE=precise on-target -u root apt-get -q -y purge grub
LXC_ARCH=amd64 LXC_SUITE=precise on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade LXC_ARCH=amd64 LXC_SUITE=precise on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade
``` ```
And then set offline mode for apt-cacher-ng: And then set offline mode for apt-cacher-ng:
@ -431,7 +431,7 @@ Offlinemode: 1
service apt-cacher-ng restart service apt-cacher-ng restart
``` ```
Then when building, override the remote URLs that gbuild would otherwise pull from the gitian descriptors:: Then when building, override the remote URLs that gbuild would otherwise pull from the Gitian descriptors::
```bash ```bash
cd /some/root/path/ cd /some/root/path/
@ -461,7 +461,7 @@ in `gitian.sigs` to your signing machine and do
``` ```
This will create the `.sig` files that can be committed together with the `.assert` files to assert your This will create the `.sig` files that can be committed together with the `.assert` files to assert your
gitian build. Gitian build.
Uploading signatures Uploading signatures
--------------------- ---------------------

17
doc/init.md

@ -29,20 +29,20 @@ file, however it is recommended that a strong and secure password be used
as this password is security critical to securing the wallet should the as this password is security critical to securing the wallet should the
wallet be enabled. wallet be enabled.
If bitcoind is run with the "-server" flag (set by default), and no rpcpassword is set, If bitcoind is run with the "-server" flag (set by default), and no rpcpassword is set,
it will use a special cookie file for authentication. The cookie is generated with random it will use a special cookie file for authentication. The cookie is generated with random
content when the daemon starts, and deleted when it exits. Read access to this file content when the daemon starts, and deleted when it exits. Read access to this file
controls who can access it through RPC. controls who can access it through RPC.
By default the cookie is stored in the data directory, but it's location can be overridden By default the cookie is stored in the data directory, but it's location can be overridden
with the option '-rpccookiefile'. with the option '-rpccookiefile'.
This allows for running bitcoind without having to do any manual configuration. This allows for running bitcoind without having to do any manual configuration.
`conf`, `pid`, and `wallet` accept relative paths which are interpreted as `conf`, `pid`, and `wallet` accept relative paths which are interpreted as
relative to the data directory. `wallet` *only* supports relative paths. relative to the data directory. `wallet` *only* supports relative paths.
For an example configuration file that describes the configuration settings, For an example configuration file that describes the configuration settings,
see `contrib/debian/examples/bitcoin.conf`. see `contrib/debian/examples/bitcoin.conf`.
3. Paths 3. Paths
@ -93,8 +93,8 @@ use old versions of Upstart and do not supply the start-stop-daemon utility.
Copy bitcoind.init to /etc/init.d/bitcoind. Test by running `service bitcoind start`. Copy bitcoind.init to /etc/init.d/bitcoind. Test by running `service bitcoind start`.
Using this script, you can adjust the path and flags to the bitcoind program by Using this script, you can adjust the path and flags to the bitcoind program by
setting the BITCOIND and FLAGS environment variables in the file setting the BITCOIND and FLAGS environment variables in the file
/etc/sysconfig/bitcoind. You can also use the DAEMONOPTS environment variable here. /etc/sysconfig/bitcoind. You can also use the DAEMONOPTS environment variable here.
5. Auto-respawn 5. Auto-respawn
@ -102,4 +102,3 @@ setting the BITCOIND and FLAGS environment variables in the file
Auto respawning is currently only configured for Upstart and systemd. Auto respawning is currently only configured for Upstart and systemd.
Reasonable defaults have been chosen but YMMV. Reasonable defaults have been chosen but YMMV.

2
doc/release-notes.md

@ -181,7 +181,7 @@ configured specifically to process scriptPubKey and not scriptSig scripts.
- Removed bitrpc.py from contrib - Removed bitrpc.py from contrib
Addition of ZMQ-based Notifcations Addition of ZMQ-based Notifications
================================== ==================================
Bitcoind can now (optionally) asynchronously notify clients through a Bitcoind can now (optionally) asynchronously notify clients through a

42
doc/release-process.md

@ -6,7 +6,7 @@ Release Process
* * * * * *
###First time / New builders ###First time / New builders
Check out the source code in the following directory hierarchy. Check out the source code in the following directory hierarchy.
cd /path/to/your/toplevel/build cd /path/to/your/toplevel/build
@ -34,17 +34,17 @@ Check out the source code in the following directory hierarchy.
* * * * * *
###Setup and perform gitian builds ###Setup and perform Gitian builds
Setup Gitian descriptors:
Setup gitian descriptors:
pushd ./bitcoin pushd ./bitcoin
export SIGNER=(your gitian key, ie bluematt, sipa, etc) export SIGNER=(your Gitian key, ie bluematt, sipa, etc)
export VERSION=(new version, e.g. 0.8.0) export VERSION=(new version, e.g. 0.8.0)
git checkout v${VERSION} git checkout v${VERSION}
popd popd
Ensure your gitian.sigs are up-to-date if you wish to gverify your builds against other gitian signatures. Ensure your gitian.sigs are up-to-date if you wish to gverify your builds against other Gitian signatures.
pushd ./gitian.sigs pushd ./gitian.sigs
git pull git pull
@ -56,35 +56,35 @@ Check out the source code in the following directory hierarchy.
git pull git pull
###Fetch and create inputs: (first time, or when dependency versions change) ###Fetch and create inputs: (first time, or when dependency versions change)
mkdir -p inputs mkdir -p inputs
wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch
wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz
Register and download the Apple SDK: see [OSX readme](README_osx.txt) for details. Register and download the Apple SDK: see [OS X readme](README_osx.txt) for details.
https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg
Using a Mac, create a tarball for the 10.9 SDK and copy it to the inputs directory: Using a Mac, create a tarball for the 10.9 SDK and copy it to the inputs directory:
tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk
###Optional: Seed the Gitian sources cache and offline git repositories ###Optional: Seed the Gitian sources cache and offline git repositories
By default, gitian will fetch source files as needed. To cache them ahead of time: By default, Gitian will fetch source files as needed. To cache them ahead of time:
make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common
Only missing files will be fetched, so this is safe to re-run for each build. Only missing files will be fetched, so this is safe to re-run for each build.
NOTE: Offline builds must use the --url flag to ensure gitian fetches only from local URLs. For example: NOTE: Offline builds must use the --url flag to ensure Gitian fetches only from local URLs. For example:
``` ```
./bin/bguild --url bitcoin=/path/to/bitcoin,signature=/path/to/sigs {rest of arguments} ./bin/gbuild --url bitcoin=/path/to/bitcoin,signature=/path/to/sigs {rest of arguments}
``` ```
The gbuild invocations below <b>DO NOT DO THIS</b> by default. The gbuild invocations below <b>DO NOT DO THIS</b> by default.
###Build (and optionally verify) Bitcoin Core for Linux, Windows, and OS X: ###Build (and optionally verify) Bitcoin Core for Linux, Windows, and OS X:
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
@ -108,8 +108,8 @@ The gbuild invocations below <b>DO NOT DO THIS</b> by default.
1. source tarball (bitcoin-${VERSION}.tar.gz) 1. source tarball (bitcoin-${VERSION}.tar.gz)
2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz) 2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip) 3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip)
4. OSX unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz) 4. OS X unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz)
5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your gitian key)/ 5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/
###Next steps: ###Next steps:
@ -123,12 +123,12 @@ Commit your signature to gitian.sigs:
git push # Assuming you can push to the gitian.sigs tree git push # Assuming you can push to the gitian.sigs tree
popd popd
Wait for Windows/OSX detached signatures: Wait for Windows/OS X detached signatures:
Once the Windows/OSX builds each have 3 matching signatures, they will be signed with their respective release keys. Once the Windows/OS X builds each have 3 matching signatures, they will be signed with their respective release keys.
Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries. Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
Create (and optionally verify) the signed OSX binary: Create (and optionally verify) the signed OS X binary:
pushd ./gitian-builder pushd ./gitian-builder
./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
@ -147,7 +147,7 @@ Commit your signature to gitian.sigs:
mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe
popd popd
Commit your signature for the signed OSX/Windows binaries: Commit your signature for the signed OS X/Windows binaries:
pushd gitian.sigs pushd gitian.sigs
git add ${VERSION}-osx-signed/${SIGNER} git add ${VERSION}-osx-signed/${SIGNER}

11
doc/tor.md

@ -15,15 +15,15 @@ outgoing connections be anonymized, but more is possible.
-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy -proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
server will be used to try to reach .onion addresses as well. server will be used to try to reach .onion addresses as well.
-onion=ip:port Set the proxy server to use for tor hidden services. You do not -onion=ip:port Set the proxy server to use for tor hidden services. You do not
need to set this if it's the same as -proxy. You can use -noonion need to set this if it's the same as -proxy. You can use -noonion
to explicitly disable access to hidden service. to explicitly disable access to hidden service.
-listen When using -proxy, listening is disabled by default. If you want -listen When using -proxy, listening is disabled by default. If you want
to run a hidden service (see next section), you'll need to enable to run a hidden service (see next section), you'll need to enable
it explicitly. it explicitly.
-connect=X When behind a Tor proxy, you can specify .onion addresses instead -connect=X When behind a Tor proxy, you can specify .onion addresses instead
-addnode=X of IP addresses or hostnames in these parameters. It requires -addnode=X of IP addresses or hostnames in these parameters. It requires
-seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with -seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
@ -55,10 +55,10 @@ your bitcoind's P2P listen port (8333 by default).
preference for your node to advertize itself with, for connections preference for your node to advertize itself with, for connections
coming from unroutable addresses (such as 127.0.0.1, where the coming from unroutable addresses (such as 127.0.0.1, where the
Tor proxy typically runs). Tor proxy typically runs).
-listen You'll need to enable listening for incoming connections, as this -listen You'll need to enable listening for incoming connections, as this
is off by default behind a proxy. is off by default behind a proxy.
-discover When -externalip is specified, no attempt is made to discover local -discover When -externalip is specified, no attempt is made to discover local
IPv4 or IPv6 addresses. If you want to run a dual stack, reachable IPv4 or IPv6 addresses. If you want to run a dual stack, reachable
from both Tor and IPv4 (or IPv6), you'll need to either pass your from both Tor and IPv4 (or IPv6), you'll need to either pass your
@ -87,4 +87,3 @@ If you only want to use Tor to reach onion addresses, but not use it as a proxy
for normal IPv4/IPv6 communication, use: for normal IPv4/IPv6 communication, use:
./bitcoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover ./bitcoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover

2
doc/translation_process.md

@ -1,7 +1,7 @@
Translations Translations
============ ============
The Bitcoin-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Bitcoin-Core makes use of the Transifex online translation management tool. The Bitcoin-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Bitcoin-Core makes use of the Transifex online translation management tool.
### Helping to translate (using Transifex) ### Helping to translate (using Transifex)
Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface. Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface.

3
doc/translation_strings_policy.md

@ -1,7 +1,7 @@
Translation Strings Policy Translation Strings Policy
=========================== ===========================
This document provides guidelines for internationalization of the Bitcoin Core software. This document provides guidelines for internationalization of the Bitcoin Core software.
How to translate? How to translate?
------------------ ------------------
@ -107,4 +107,3 @@ The second example reduces the number of pluralized words that translators have
During a string freeze (often before a major release), no translation strings are to be added, modified or removed. During a string freeze (often before a major release), no translation strings are to be added, modified or removed.
This can be checked by executing `make translate` in the `src` directory, then verifying that `bitcoin_en.ts` remains unchanged. This can be checked by executing `make translate` in the `src` directory, then verifying that `bitcoin_en.ts` remains unchanged.

2
doc/zmq.md

@ -2,7 +2,7 @@
[ZeroMQ](http://zeromq.org/) is a lightweight wrapper around TCP [ZeroMQ](http://zeromq.org/) is a lightweight wrapper around TCP
connections, inter-process communication, and shared-memory, connections, inter-process communication, and shared-memory,
providing various message-oriented semantics such as publish/subcribe, providing various message-oriented semantics such as publish/subscribe,
request/reply, and push/pull. request/reply, and push/pull.
The Bitcoin Core daemon can be configured to act as a trusted "border The Bitcoin Core daemon can be configured to act as a trusted "border

Loading…
Cancel
Save