[BTC-dev] Reference Implementation Offline Build Script Announcement [V99999]

Shane Kinney modsix at gmail.com
Tue Aug 30 23:22:58 UTC 2016


URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20160830/attachment.txt?sha1=d87b5452ccbad564c166edfb19fe597aad087799>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

This message is to announce a new, offline, build script for The Bitcoin
Reference Implementation.

Attached are two files (with their corresponding signatures):

build-bitcoind-offline-V99999.sh
81fc52d3e7d4b92f8a02935e42d0f932480320d47dbc20bea8b3c2930da782598338e31125d2cfd0f3c24a74d33f6d42d8784b84956705511f208728a52c6342

and

OFFLINE_BUILD_HOWTO.txt
cc99cf4d1c467a512d41cfd6db3ce024b5799b59eaf948952552e6c85552a416755fea0f7f5a9c9103e40e78f233cd99014d855af25c6acfb999de716cab957c

===========================================================================

First and foremost, this offline build script is different then the original
build script you may have seen or used before.  Be aware of this.  This is also
why the versioning number starts at 99999.  In implementation, they may look
similar; however, they are two different scripts.

The idea is to empower users to create a completely offline build; where no
dependencies are remotely fetched, and no internet connection required.  All of
the build dependencies are placed on the local file system prior to script
execution.

To achieve this, please follow the steps in the attached OFFLINE_BUILD_HOWTO.txt
guide.  It will inform you of the required directory structure that must be in
place, and the necessary artifacts along with their required placement in the
file system.

Before you embark on this build process, please take the time to read the HOWTO
document at least once to get an idea of the process involved.

The HOWTO document leaves out certain procedures on purpose, as these are left
up to the user to decide.  i.e. There are not prepared `curl` or `wget`
statements; the URLs to the required artifacts are included, as well as the
expected file name for these artifacts.  It is meant for ~you~, the user, to
determine the most trust worthy source and manner in which you retrieve these
required artifacts.

Enjoy,
mod6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iQIcBAEBCgAGBQJXxhCJAAoJEHIXBai3Hq2vxt0QAJuXnB4QynaHNsGgE8beazUB
1D00GbiQOO8h5gEdCEq9jkwJ054o5xqiFKaTSQQXaZ66FZ5pdR9pBUuikPSZNA3s
WRlM/T/21hfCZ3MnCU5JlwXk8i5MxCDKMc+a2AeLuhqY60xKVaLmMT4CJXk3JPlB
/Ye6BuIU1lA5ozdv0sxAL9cuB/X2aMx59OYYuNG3gSZZGatrzfdTaEpTUL93lvF2
5LwRgf/d/fMfrFYj4VnzNlqV+L/w3Qq9N9WSd+JWDrnKXnYVXnFJYvZt4Fuyq/39
pYo4CO7zeKjP0/gE9dy1DG6DstJe5a4WwvZ85ldDiYu49ytj3MSp7LKpO1Vn/zn8
2SJ4ulDADRxqiGix45Q/xVgkkCnteXi3NztykQj1Cr8sDyqxW506aQWiOoQmBOCF
V6gQRzsU+SM0ok50J0QFsYJTiPrvfp8W0YpZjvMEn1eLF5AH5wCL+JooQqHE1wad
RnN/lJM1obi8IenfbsmvEMCz6oYwKge41z4ylzSad6xdanh/FgJUyeu6ici1aE+x
o5Mv8PO6M0f0BAYbOE/naGtsTwIelt4Cw4AD03fR4nfl9tT1CuIHWy24hUVr5uYH
LAvKVQCAKhbk9x1gpt0NN4Id1v+B+cQonLxm8n8OIFIRZuJ/qMs1uDevJt5T3O8M
53olmBVdbSitEwwJJ1+p
=dL8R
-----END PGP SIGNATURE-----
-------------- next part --------------
Name: OFFLINE_BUILD_HOWTO.txt
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20160830/OFFLINE_BUILD_HOWTO.txt?sha1=d7a0106cca19305ae56b75d8a7c98a9ee961746d>
  ..::[  The Bitcoin Foundation: Offline Build Howto ]::..

      [                  Author: mod6                ]
      [                    Date: 2016.08.21          ]

0x00]: You will need:
  
  A 64-bit linux (ubuntu, debian, or gentoo) environment.

  With generally included binaries: 
  bash, base64, cat, chmod, cp, echo, mkdir, mv, patch, sed, sha512sum, tar
  
  And third party binaries:
  gnupg

0x01]: Create a build directory.

  cd ~
  mkdir trb
  cd trb

0x02]: In the build directory (~/trb), setup for V.

  Create directories: .wot, patches, and .seals:

  mkdir .wot
  mkdir patches
  mkdir .seals

  [ Get the following PGP public keys:                                         ]
  [                                                                            ]
  [ asciilifeform  0x17215D118B7239507FAFED98B98228A001ABFFC7                  ]
  [ ben_vulpes     0x4F7907942CA8B89B01E25A762AFA1A9FD2D031DA                  ]
  [ mircea_popescu 0x6160E1CAC8A3C52966FD76998A736F0E2FB7B452                  ]
  [ mod6           0x027A8D7C0FB8A16643720F40721705A8B71EADAF                  ]
  [ trinque        0xFC66C0C5D98C42A1D4A98B6B42F9985AFAB953C4                  ]
  [                                                                            ]
  [ If you like you make query deedbot (on irc.freenode.net) and get the keys. ]
  [ It will hand back a wotpaste URL containing the key which you can save.    ]
  [ /msg deedbot $key asciilifeform                                            ]
  [ /msg deedbot $key ben_vulpes                                               ]
  [ /msg deedbot $key mircea_popescu                                           ]
  [ /msg deedbot $key mod6                                                     ]
  [ /msg deedbot $key trinque                                                  ]
  [                                                                            ]
  [ Name these PGP public key files (respectively) as follows:                 ]
  [ asciilifeform.asc                                                          ]
  [ ben_vulpes.asc                                                             ]
  [ mircea_popescu.asc                                                         ]
  [ mod6.asc                                                                   ]
  [ trinque.asc                                                                ]

  Import the following three keys into GnuPG (gpg): 
  
  gpg --import mod6.asc
  gpg --import asciilifeform.asc
  gpg --import trinque.asc
   
  Place all five keys (asciilifeform.asc, ben_vulpes.asc, mircea_popescu.asc,
  mod6.asc, and trinque.asc) into the .wot directory:

  cp asciilifeform.asc ben_vulpes.asc mircea_popescu.asc mod6.asc trinque.asc .wot

  -----------------------------------------------------------------------------

  Get the Vpatches from thebitcoin.foundation:
  http://thebitcoin.foundation/v/patches/

  These are, currently:
  genesis.vpatch
  rm_rf_upnp.vpatch
  bitcoin-v0_5_3-db_config.6.vpatch
  bitcoin-v0_5_3_1-static_makefile_v002.8.vpatch
  bitcoin-v0_5_3_1-rev_bump.7.vpatch
  bitcoin-asciilifeform.4-goodbye-win32.vpatch
  bitcoin-asciilifeform.3-turdmeister-alert-snip.vpatch
  bitcoin-asciilifeform.2-https_snipsnip.vpatch
  bitcoin-asciilifeform.1.vpatch
  mod6_fix_dumpblock_params.vpatch
  asciilifeform_zap_showmyip_crud.vpatch
  asciilifeform_zap_hardcoded_seeds.vpatch
  asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip.vpatch
  asciilifeform_tx-orphanage_amputation.vpatch
  asciilifeform_orphanage_thermonuke.vpatch
  asciilifeform_maxint_locks_corrected.vpatch
  asciilifeform_lets_lose_testnet.vpatch
  asciilifeform-kills-integer-retardation.vpatch
  asciilifeform_dns_thermonyukyoolar_kleansing.vpatch
  asciilifeform_dnsseed_snipsnip.vpatch
  asciilifeform_and_now_we_have_eatblock.vpatch
  asciilifeform_and_now_we_have_block_dumper_corrected.vpatch
  asciilifeform_add_verifyall_option.vpatch
  mod6_der_high_low_s.vpatch
  programmable-versionstring.vpatch
  malleus_mikehearnificarum.vpatch

  Place the Vpatches into the `patches' directory:

  mv *.vpatch patches

  -----------------------------------------------------------------------------

  Get the Vpatch Seals from thebitcoin.foundation:
  http://thebitcoin.foundation/v/seals/

  These are, currently:
  rm_rf_upnp.vpatch.mod6.sig
  mod6_fix_dumpblock_params.vpatch.mod6.sig
  bitcoin-v0_5_3-db_config.6.vpatch.mod6.sig
  bitcoin-v0_5_3_1-static_makefile_v002.8.vpatch.mod6.sig
  bitcoin-v0_5_3_1-rev_bump.7.vpatch.mod6.sig
  bitcoin-asciilifeform.4-goodbye-win32.vpatch.mod6.sig
  bitcoin-asciilifeform.3-turdmeister-alert-snip.vpatch.mod6.sig
  bitcoin-asciilifeform.2-https_snipsnip.vpatch.mod6.sig
  bitcoin-asciilifeform.1.vpatch.mod6.sig
  asciilifeform_zap_showmyip_crud.vpatch.mod6.sig
  asciilifeform_zap_hardcoded_seeds.vpatch.mod6.sig
  asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip.vpatch.mod6.sig
  asciilifeform_tx-orphanage_amputation.vpatch.mod6.sig
  asciilifeform_orphanage_thermonuke.vpatch.mod6.sig
  asciilifeform_maxint_locks_corrected.vpatch.mod6.sig
  asciilifeform_lets_lose_testnet.vpatch.mod6.sig
  asciilifeform-kills-integer-retardation.vpatch.mod6.sig
  asciilifeform_dns_thermonyukyoolar_kleansing.vpatch.mod6.sig
  asciilifeform_dnsseed_snipsnip.vpatch.mod6.sig
  asciilifeform_and_now_we_have_eatblock.vpatch.mod6.sig
  asciilifeform_and_now_we_have_block_dumper_corrected.vpatch.mod6.sig
  asciilifeform_add_verifyall_option.vpatch.mod6.sig
  rm_rf_upnp.vpatch.asciilifeform.sig
  mod6_fix_dumpblock_params.vpatch.asciilifeform.sig
  genesis.vpatch.trinque.sig
  genesis.vpatch.mod6.sig
  genesis.vpatch.mircea_popescu.sig
  genesis.vpatch.asciilifeform.sig
  bitcoin-v0_5_3-db_config.6.vpatch.asciilifeform.sig
  bitcoin-v0_5_3_1-static_makefile_v002.8.vpatch.asciilifeform.sig
  bitcoin-v0_5_3_1-rev_bump.7.vpatch.asciilifeform.sig
  bitcoin-asciilifeform.4-goodbye-win32.vpatch.asciilifeform.sig
  bitcoin-asciilifeform.3-turdmeister-alert-snip.vpatch.asciilifeform.sig
  bitcoin-asciilifeform.2-https_snipsnip.vpatch.asciilifeform.sig
  bitcoin-asciilifeform.1.vpatch.asciilifeform.sig
  asciilifeform_zap_showmyip_crud.vpatch.asciilifeform.sig
  asciilifeform_zap_hardcoded_seeds.vpatch.asciilifeform.sig
  asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip.vpatch.asciilifeform.sig
  asciilifeform_tx-orphanage_amputation.vpatch.asciilifeform.sig
  asciilifeform_orphanage_thermonuke.vpatch.asciilifeform.sig
  asciilifeform_maxint_locks_corrected.vpatch.asciilifeform.sig
  asciilifeform_lets_lose_testnet.vpatch.asciilifeform.sig
  asciilifeform-kills-integer-retardation.vpatch.asciilifeform.sig
  asciilifeform_dns_thermonyukyoolar_kleansing.vpatch.asciilifeform.sig
  asciilifeform_dnsseed_snipsnip.vpatch.asciilifeform.sig
  asciilifeform_and_now_we_have_eatblock.vpatch.asciilifeform.sig
  asciilifeform_and_now_we_have_block_dumper_corrected.vpatch.asciilifeform.sig
  asciilifeform_add_verifyall_option.vpatch.asciilifeform.sig
  mod6_der_high_low_s.vpatch.mod6.sig
  programmable-versionstring.vpatch.mod6.sig
  malleus_mikehearnificarum.vpatch.mod6.sig

  Place the seals into the `.seals' directory:
  
  mv *.sig .seals
  
0x03]: Place all dependency artifacts in the build directory

  You will need the following artifacts:

http://deedbot.org/deed-422651-1.txt  (save as ``boost_1_52_0.tar.bz2.asc'')
http://deedbot.org/deed-422651-2.txt  (save as ``buildroot-2015.05.tar.gz.asc'')
http://deedbot.org/deed-422651-3.txt  (save as ``db-4.8.30.tar.gz.asc'')
http://deedbot.org/deed-422651-4.txt  (save as ``openssl-1.0.1g.tar.gz.asc'')
http://deedbot.org/deed-427443-1.txt  (save as ``binutils-2.24.tar.bz2.asc'')
http://deedbot.org/deed-427443-2.txt  (save as ``busybox-1.23.2.tar.bz2.asc'')
http://deedbot.org/deed-427443-3.txt  (save as ``expat-2.1.0.tar.gz.asc'')
http://deedbot.org/deed-427443-4.txt  (save as ``fakeroot_1.18.4.orig.tar.bz2.asc'')
http://deedbot.org/deed-427443-5.txt  (save as ``gcc-4.9.2.tar.bz2.asc'')
http://deedbot.org/deed-427443-6.txt  (save as ``gdb-7.8.2.tar.xz.asc'')
http://deedbot.org/deed-427443-7.txt  (save as ``gmp-6.0.0a.tar.xz.asc'')
http://deedbot.org/deed-427443-8.txt  (save as ``linux-3.18.14.tar.xz.asc'')
http://deedbot.org/deed-427443-9.txt  (save as ``m4-1.4.17.tar.xz.asc'')
http://deedbot.org/deed-427443-10.txt (save as ``mpc-1.0.3.tar.gz.asc'')
http://deedbot.org/deed-427443-11.txt (save as ``mpfr-3.1.2.tar.xz.asc'')
http://deedbot.org/deed-427443-12.txt (save as ``musl-1.1.8.tar.gz.asc'')
http://deedbot.org/deed-427443-13.txt (save as ``ncurses-5.9.tar.gz.asc'')
http://deedbot.org/deed-427443-14.txt (save as ``pkgconf-0.8.9.tar.bz2.asc'')
http://thebitcoin.foundation/v/V-20160220.tar.gz (save as ``V-20160220.tar.gz'')
http://thebitcoin.foundation/v/V-20160220.tar.gz.mod6.sig (save as ``V-20160220.tar.gz.mod6.sig'')
http://therealbitcoin.org/ml/btc-dev/attachments/20150727/rotor_4c86b82236ebc4926a6ace8fb8310f37b948c8f1.tar.gz (save as ``rotor.tar.gz'')
http://therealbitcoin.org/ml/btc-dev/attachments/20150727/rotor_b5a9f18591eff649d632065fc53ba5bc0c23d9ab.tar.gz.sig (save as ``rotor.tar.gz.sig'')
http://therealbitcoin.org/ml/btc-dev/attachments/20150808/rotor-db-configure-fix_a955ba9174ccb17790dc9d7c1e2a61794a1c803d.patch (save as ``rotor-db-configure-fix.patch'')
http://therealbitcoin.org/ml/btc-dev/attachments/20150808/rotor-db-configure-fix_22fa8bc88ce65d4b3dcf58ffd7611586d96aba15.patch.sig (save as ``rotor-db-configure-fix.patch.sig'')

0x04]: Get the build offline build script

  Get build-bitcoind-offline-V99999.sh and place it in the build
  directory (~/trb):

  http://deedbot.org/build-bitcoind-offline-V99999.sh  

  Check that the offline build script has the correct hash:
  sha512sum build-bitcoind-offline-V99999.sh

  Should result in the following hash:
  81fc52d3e7d4b92f8a02935e42d0f932480320d47dbc20bea8b3c2930da782598338e31125d2cfd0f3c24a74d33f6d42d8784b84956705511f208728a52c6342 
  
0x05]: Execute the build

  chmod +x build-bitcoind-offline-V99999.sh
  ./build-bitcoind-offline-V99999.sh

0x06]: When the build is successfully complete

  When the build script is complete, a statically linked `bitcoind` will be
  available in: ~/trb/rotor/TEST2/bitcoin/src/bitcoind

0x07]: If something goes wrong...
  
  This offline build script creates a lot of artifact archives from the deeds
  placed in the build directory (~/trb), a simple 'clean' will restore the
  user back to the state before execution of the script. 

  To clean:

  ./build-bitcoind-offline-V99999.sh clean
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OFFLINE_BUILD_HOWTO.txt.mod6.sig
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20160830/OFFLINE_BUILD_HOWTO.txt.mod6.sig?sha1=21f8384d7fc2a8562a3a69d6b75b91fa7e29c65d>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build-bitcoind-offline-V99999.sh
Type: application/x-sh
Size: 16942 bytes
Desc: not available
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20160830/build-bitcoind-offline-V99999.sh?sha1=7359ecbbed43e0166ed5aa5b86ee29029885cb39>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build-bitcoind-offline-V99999.sh.mod6.sig
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20160830/build-bitcoind-offline-V99999.sh.mod6.sig?sha1=1d4947cc73538bbee033d968f55e4aa619bb8e38>


More information about the BTC-dev mailing list