#!/bin/bash -e # Version: 99996 K # Required Public Keys to add to your PGP Keyring. These are used to verify V, rotor, buildroot, and trinque's patch: # 0xAB07D806D2CE741FB886EE50B025BA8B59C36319 # 0x17215D118B7239507FAFED98B98228A001ABFFC7 # 0x027A8D7C0FB8A16643720F40721705A8B71EADAF # 0xFC66C0C5D98C42A1D4A98B6B42F9985AFAB953C4 ROTOR_HASH=e232c07238feb16ce055211fba68ed283c47753a8716681ac47c869c21936f48768fafaac678f64ee17cf2b62b669a0d2c481008b5ccaf76007f66501a02990d BUILDROOT_HASH=c42fdd39cb2bc46804a86a7d7b2605bd3cd9ddcb365c4e5a1fb147eb02b234fc31a70c8140be2f4d27cd371c84e0c6701f8cb47697dd1c18dd0e0cce784aa07a V_HASH=3831f3ad1e41003ca9b583894009188ac300e991aa3f254de68c6935126f97fab22ce2e74eebd2ca68b8100115d997a6d3a93511ccbab3891e05c9c19d7d26c6 SSL_HASH=66ebbad3c8ad98a07b486d39d0c3ae62b00133f8f2877cf8b97c461e7c7f40b29cf9c3cae82cf73a92dcf1daa63d33aa76c910fbcbe60158589fc7cb48f41e6d BDB_HASH=d1a3c52b0ab54ae3fd6792e6396c9f74d25f36b2eb9e853b67ef9c872508a58c784c7818108d06d184f59601b70cc877916e67dfea6f0ee1ca2b07468c1041f1 BOOST_HASH=fc512d3bfa6a39a60fee548775c97239271cf757587b8df7ed739c800844a819a359dca172be0e69ad7752753753139bf11f0813d650066d58386662fe32842d BDB_CFG_PATCH_HASH=2c1152a88dd6d8e4b0f736dbf0ce2691c66fc592c1ef6c332a976ae7e9ca86850091032d23042558e3eabc0dc2b591f482566ef433606fb91a06dee9a0485063 mkdir -p rotor mkdir -p rotor/toolchain mkdir -p rotor/TEST2 curl -s http://thebitcoin.foundation/v/V-20160128.tar.gz -o V-20160128.tar.gz curl -s http://thebitcoin.foundation/v/V-20160128.tar.gz.mod6.sig -o V-20160128.tar.gz.mod6.sig V_SHA512=`sha512sum V-20160128.tar.gz | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$V_SHA512" != "$V_HASH" ]; then echo "V Hash did not match!" echo "Expected: $V_HASH" echo " Found: $V_SHA512" exit 1; fi gpg --verify V-20160128.tar.gz.mod6.sig V-20160128.tar.gz tar -xf V-20160128.tar.gz chmod +x v.pl ./v.pl i http://thebitcoin.foundation ./v.pl p verbose rotor/TEST2 asciilifeform_malleus_mikehearnificarum.vpatch cd rotor curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150727/rotor_4c86b82236ebc4926a6ace8fb8310f37b948c8f1.tar.gz -o rotor.tar.gz curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150727/rotor_b5a9f18591eff649d632065fc53ba5bc0c23d9ab.tar.gz.sig -o rotor.tar.gz.sig ROTOR_SHA512=`sha512sum rotor.tar.gz | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$ROTOR_SHA512" != "$ROTOR_HASH" ]; then echo "Rotor Hash did not match!" echo "Expected: $ROTOR_HASH" echo " Found: $ROTOR_SHA512" exit 1; fi gpg --verify rotor.tar.gz.sig curl -s http://buildroot.uclibc.org/downloads/buildroot-2015.05.tar.gz -o buildroot-2015.05.tar.gz curl -s http://buildroot.uclibc.org/downloads/buildroot-2015.05.tar.gz.sign -o buildroot-2015.05.tar.gz.sign BUILDROOT_SHA512=`sha512sum buildroot-2015.05.tar.gz | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$BUILDROOT_SHA512" != "$BUILDROOT_HASH" ]; then echo "BuildRoot Hash did not match!" echo "Expected: $BUILDROOT_HASH" echo " Found: $BUILDROOT_SHA512" exit 1; fi gpg --verify buildroot-2015.05.tar.gz.sign cd TEST2 mkdir distfiles curl -s http://openssl.org/source/old/1.0.1/openssl-1.0.1g.tar.gz -o distfiles/openssl-1.0.1g.tar.gz SSL_SHA512=`sha512sum distfiles/openssl-1.0.1g.tar.gz | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$SSL_SHA512" != "$SSL_HASH" ]; then echo "OpenSSL Hash did not match!" echo "Expected: $SSL_HASH" echo " Found: $SSL_SHA512" exit 1; fi curl -s http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz -o distfiles/db-4.8.30.tar.gz BDB_SHA512=`sha512sum distfiles/db-4.8.30.tar.gz | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$BDB_SHA512" != "$BDB_HASH" ]; then echo "BDB Hash did not match!" echo "Expected: $BDB_HASH" echo " Found: $BDB_SHA512" exit 1; fi boost="http://sourceforge.net/projects/boost/files/boost" curl -L -s "$boost/1.52.0/boost_1_52_0.tar.bz2" -o distfiles/boost_1_52_0.tar.bz2 BOOST_SHA512=`sha512sum distfiles/boost_1_52_0.tar.bz2 | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$BOOST_SHA512" != "$BOOST_HASH" ]; then echo "Boost Hash did not match!" echo "Expected: $BOOST_HASH" echo " Found: $BOOST_SHA512" exit 1; fi cd .. tar -xvzf buildroot-2015.05.tar.gz tar -xvzf rotor.tar.gz cp rotor_buildroot_dot_config buildroot-2015.05/.config cd buildroot-2015.05 make cd .. cp openssl-004-musl-termios.patch TEST2 cp rotor.sh TEST2 cd TEST2 curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150808/rotor-db-configure-fix_a955ba9174ccb17790dc9d7c1e2a61794a1c803d.patch -o rotor-db-configure-fix.patch curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150808/rotor-db-configure-fix_22fa8bc88ce65d4b3dcf58ffd7611586d96aba15.patch.sig -o rotor-db-configure-fix.patch.sig BDB_CFG_PATCH_SHA512=`sha512sum rotor-db-configure-fix.patch | sed -n 's/^\(.*\) .*$/\1/p;'` if [ "$BDB_CFG_PATCH_SHA512" != "$BDB_CFG_PATCH_HASH" ]; then echo "Boost Hash did not match!" echo "Expected: $BDB_CFG_PATCH_HASH" echo " Found: $BDB_CFG_PATCH_SHA512" exit 1; fi gpg --verify rotor-db-configure-fix.patch.sig patch -p1 < rotor-db-configure-fix.patch sed -i 's/bitcoin\/bitcoin\/src/bitcoin\/src/' rotor.sh chmod 0755 rotor.sh ./rotor.sh