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
This commit is contained in:
parent
e42bf16ae0
commit
4fbfebea5b
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 I wrote this
|
More independent Gitian builders are needed, which is why I wrote this
|
||||||
guide. It is preferred to follow these steps yourself instead of using someone else's
|
guide. It is preferred to 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)
|
||||||
|
@ -60,18 +60,18 @@ In the VirtualBox GUI click "Create" and choose the following parameters in the
|
||||||
![](gitian-building/create_vm_hard_drive.png)
|
![](gitian-building/create_vm_hard_drive.png)
|
||||||
|
|
||||||
- Hard Drive: Create a virtual hard drive now
|
- Hard Drive: Create a virtual hard drive now
|
||||||
|
|
||||||
![](gitian-building/create_vm_hard_drive_file_type.png)
|
![](gitian-building/create_vm_hard_drive_file_type.png)
|
||||||
|
|
||||||
- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image)
|
- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image)
|
||||||
|
|
||||||
![](gitian-building/create_vm_storage_physical_hard_drive.png)
|
![](gitian-building/create_vm_storage_physical_hard_drive.png)
|
||||||
|
|
||||||
- Storage on Physical hard drive: Dynamically Allocated
|
- Storage on Physical hard drive: Dynamically Allocated
|
||||||
|
|
||||||
![](gitian-building/create_vm_file_location_size.png)
|
![](gitian-building/create_vm_file_location_size.png)
|
||||||
|
|
||||||
- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
|
- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
|
||||||
- Push the `Create` button
|
- Push the `Create` button
|
||||||
|
|
||||||
Get the [Debian 7.8 net installer](http://cdimage.debian.org/cdimage/archive/7.8.0/amd64/iso-cd/debian-7.8.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 7.8 net installer](http://cdimage.debian.org/cdimage/archive/7.8.0/amd64/iso-cd/debian-7.8.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 "e39c36d6adc0fd86c6edb0e03e22919086c883b37ca194d063b8e3e8f6ff6a3a debian-7.8.0-amd64-netinst.iso" | sha256sum -c
|
echo "e39c36d6adc0fd86c6edb0e03e22919086c883b37ca194d063b8e3e8f6ff6a3a debian-7.8.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`.
|
||||||
|
|
||||||
|
@ -125,22 +125,22 @@ and proceed, just press `Enter`. 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:
|
||||||
- System name `debian`.
|
- System name `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)
|
||||||
|
|
||||||
![](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)
|
||||||
|
|
||||||
|
@ -150,11 +150,11 @@ and proceed, just press `Enter`. 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)
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ and proceed, just press `Enter`. 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)
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ Replace `root` with `debian` to log in as user.
|
||||||
[1] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
|
[1] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
|
||||||
[2] http://winscp.net/eng/index.php
|
[2] http://winscp.net/eng/index.php
|
||||||
|
|
||||||
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.
|
||||||
|
@ -237,7 +237,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
|
||||||
|
@ -257,7 +257,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 need only to be performed once.
|
section need only 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.
|
||||||
|
@ -277,14 +277,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.
|
||||||
|
@ -310,13 +310,13 @@ Getting and building the inputs
|
||||||
Follow the instructions in [doc/release-process.md](release-process.md) in the bitcoin repository
|
Follow the instructions in [doc/release-process.md](release-process.md) in the bitcoin repository
|
||||||
under 'Fetch and build inputs' to install sources which require manual intervention. Also follow
|
under 'Fetch and build inputs' to install sources which require manual intervention. Also follow
|
||||||
the next step: 'Seed the Gitian sources cache', which will fetch all necessary source files allowing
|
the next step: 'Seed the Gitian sources cache', which will fetch all necessary source files allowing
|
||||||
for gitian to work offline.
|
for Gitian to work 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) in the bitcoin repository.
|
Gitian builds' in [doc/release-process.md](release-process.md) in the bitcoin repository.
|
||||||
|
|
||||||
This may take a long time as it also builds the dependencies needed for each descriptor.
|
This may take a long time as it also builds the dependencies needed for each descriptor.
|
||||||
These dependencies will be cached after a successful build to avoid rebuilding them where possible.
|
These dependencies will be cached after a successful build to avoid rebuilding them where possible.
|
||||||
|
@ -356,7 +356,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:
|
||||||
|
@ -386,7 +386,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
|
||||||
---------------------
|
---------------------
|
||||||
|
|
|
@ -35,9 +35,8 @@ generate one from the shell yourself like this:
|
||||||
|
|
||||||
bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'
|
bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'
|
||||||
|
|
||||||
Once you have a password in hand, set rpcpassword= in /etc/bitcoin/bitcoin.conf
|
|
||||||
|
|
||||||
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
|
||||||
|
@ -89,8 +88,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
|
||||||
|
@ -99,4 +98,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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,15 +23,15 @@ Release Process
|
||||||
|
|
||||||
* * *
|
* * *
|
||||||
|
|
||||||
###update gitian
|
###update Gitian
|
||||||
|
|
||||||
In order to take advantage of the new caching features in gitian, be sure to update to a recent version (`e9741525c` or later is recommended)
|
In order to take advantage of the new caching features in Gitian, be sure to update to a recent version (`e9741525c` or later is recommended)
|
||||||
|
|
||||||
###perform gitian builds
|
###perform Gitian builds
|
||||||
|
|
||||||
From a directory containing the bitcoin source, gitian-builder and gitian.sigs
|
From a directory containing the bitcoin source, gitian-builder and gitian.sigs
|
||||||
|
|
||||||
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)
|
||||||
pushd ./bitcoin
|
pushd ./bitcoin
|
||||||
git checkout v${VERSION}
|
git checkout v${VERSION}
|
||||||
|
@ -39,29 +39,29 @@ Release Process
|
||||||
pushd ./gitian-builder
|
pushd ./gitian-builder
|
||||||
|
|
||||||
###fetch and build inputs: (first time, or when dependency versions change)
|
###fetch and build 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 for details)
|
Register and download the Apple SDK: (see OS X Readme 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
|
###Optional: Seed the Gitian sources cache
|
||||||
|
|
||||||
By default, gitian will fetch source files as needed. For offline builds, they can be fetched ahead of time:
|
By default, Gitian will fetch source files as needed. For offline builds, they can be fetched 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.
|
||||||
|
|
||||||
###Build Bitcoin Core for Linux, Windows, and OS X:
|
###Build 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
|
||||||
mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
|
mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
|
||||||
|
@ -79,8 +79,8 @@ Release Process
|
||||||
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:
|
||||||
|
|
||||||
|
@ -94,11 +94,11 @@ 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 repository, which can be combined with the unsigned apps to create signed binaries.
|
Detached signatures will then be committed to the bitcoin-detached-sigs repository, which can be combined with the unsigned apps to create signed binaries.
|
||||||
|
|
||||||
Create the signed OSX binary:
|
Create 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
|
||||||
|
@ -115,7 +115,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
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
|
||||||
|
@ -82,4 +82,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
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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?
|
||||||
------------------
|
------------------
|
||||||
|
@ -69,4 +69,3 @@ This may sometimes be at conflict with the recommendation in the previous sectio
|
||||||
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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue