..::[ 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