diff -uNr a/bitcoin/.gitignore b/bitcoin/.gitignore --- a/bitcoin/.gitignore 6654c7489c311585d7d327dea2e6605288709195898f48f1e6747dc5934ae34a20bfbe89f0ac41f878afea226a7f9da2b04c3e0672bd05f677506a2219738e97 +++ b/bitcoin/.gitignore false @@ -1,21 +0,0 @@ -src/*.exe -src/bitcoin -src/bitcoind -.*.swp -*.*~* -*.bak -*.rej -*.orig -*.o -*.patch -.bitcoin -#compilation and Qt preprocessor part -*.qm -Makefile -bitcoin-qt -#resources cpp -qrc_*.cpp -#qt creator -*.pro.user -#mac specific -.DS_Store diff -uNr a/bitcoin/Makefile b/bitcoin/Makefile --- a/bitcoin/Makefile 64d3d4da6e408c2b704da94bef00469ba8e53fee8fd00a6a67ece41eee26f1d929139e839309280fab8b31f9261e617a3166af83005ab749128b8c86f8963650 +++ b/bitcoin/Makefile f303997e3bb440a93e576faf956e7bf939e06055e9518316367986347162d7be932a6707cd2c8ad64e2a31c3f4e2bfa2693f780570d79e82af5cbe173e428632 @@ -1,23 +1,10 @@ # Required Public Keys: # 0x027A8D7C0FB8A16643720F40721705A8B71EADAF +# (For "make ONLINE=1".) -export ONLINE - -all: deps build bin - -clean: - $(MAKE) -C deps clean - $(MAKE) -C build clean - $(MAKE) -C bin clean - -.PHONY: deps -deps: +all: $(MAKE) -C deps - -.PHONY: build -build: $(MAKE) -C build -.PHONY: bin -bin: - $(MAKE) -C bin +clean: + $(MAKE) -C build clean diff -uNr a/bitcoin/bin/Makefile b/bitcoin/bin/Makefile --- a/bitcoin/bin/Makefile bea5af6d38d21b60445552a78872ec88ca3f60bee5f867ca57804168542999d73c90a3b43cee5ba5357bcd0bb4e8910c16b02dbc6e642477e1d337a805502f1e +++ b/bitcoin/bin/Makefile false @@ -1,13 +0,0 @@ -include ../verify.mk - -all: bitcoind - -clean: - rm -rf bitcoind - -check: - $(SHA512) -c Manifest.sha512 - -bitcoind: - cp ../build/bitcoind . - #$(CHECKSUM_OR_DIE) diff -uNr a/bitcoin/bin/Manifest.sha512 b/bitcoin/bin/Manifest.sha512 --- a/bitcoin/bin/Manifest.sha512 560f87b4c0793afcdbc67e0929bb8233f7c662acb7ec76d7e71941da558a2727150be3de0533c3b471c7a6b51e7b34d30115dbf5dbb10d8283b8e3208ef1f87c +++ b/bitcoin/bin/Manifest.sha512 false @@ -1 +0,0 @@ -# bitcoind checksum goes here. diff -uNr a/bitcoin/build/Makefile b/bitcoin/build/Makefile --- a/bitcoin/build/Makefile c958ddef742cd53043ad744166918e1e0a16da6e660341adfddb34280e650031dd0ada7ebf0679764a2dbd41a70d78204af34f381f8ed4e48be0098227a19358 +++ b/bitcoin/build/Makefile 621a912dc452b7aaa5b338876d4439d2c550d0495377513f01e0b110dd54fec5112568e0154dc69080dc2385b54da03d0f284b0d185eaf98d236ceca3fe410dd @@ -1,40 +1,65 @@ -BUILDER=rotor +DIST=$(CURDIR)/../deps +OURLIBS=$(CURDIR)/ourlibs -all: buildroot-2015.05 rotor bitcoind +CPPFLAGS = -DNOPCH -D_FORTIFY_SOURCE=2 -isystem ourlibs/include +CXXFLAGS = -g -O2 -pthread -Wall -Wextra +LDFLAGS = -Lourlibs/lib +LDLIBS = -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -ldb_cxx -lcrypto -lpthread + +LIBS = boost.stamp bdb.stamp openssl.stamp +BASE_OBJS = bitcoinrpc.o checkpoints.o crypter.o db.o keystore.o main.o net.o protocol.o script.o util.o wallet.o + +all: bitcoind test_bitcoin + +bitcoind: init.o $(BASE_OBJS) + $(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS) + +test_bitcoin: test_bitcoin.o $(BASE_OBJS) + $(CXX) $(LDFLAGS) -o $@ $^ -lboost_unit_test_framework $(LDLIBS) + +%.o: ../src/%.cpp $(LIBS) + $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< + +test_bitcoin.o: ../src/test/test_bitcoin.cpp $(LIBS) + $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< + +# FIX THESE ABOMINATIONS!!! + +BOOST = boost_1_52_0 +BDB = db-4.8.30 +OPENSSL = openssl-1.0.1g + +boost.stamp: + rm -rf $(BOOST) + tar -xjf $(DIST)/$(BOOST).tar.bz2 + cd $(BOOST) && \ + patch -p1 < $(DIST)/boost-no-demangler.patch && \ + echo "using gcc : : $(CXX) ;" >> tools/build/v2/user-config.jam && \ + ./bootstrap.sh && \ + ./bjam toolset=gcc link=static -sNO_BZIP2=1 -sNO_ZLIB=1 -sNO_COMPRESSION=1 && \ + ./bjam toolset=gcc link=static -sNO_COMPRESSION=1 --prefix=$(OURLIBS) install + touch boost.stamp + +bdb.stamp: + rm -rf $(BDB) + tar -xzf $(DIST)/db-4.8.30.tar.gz + cd $(BDB)/build_unix && \ + ../dist/configure --enable-cxx --disable-shared --prefix=$(OURLIBS) && \ + $(MAKE) && \ + $(MAKE) install + touch bdb.stamp + +openssl.stamp: + rm -rf $(OPENSSL) + tar -xzf $(DIST)/$(OPENSSL).tar.gz + cd $(OPENSSL) && \ + patch -p1 < $(DIST)/openssl-004-musl-termios.patch && \ + ./Configure --prefix=$(OURLIBS) no-dso threads linux-x86_64 && \ + $(MAKE) -j1 && \ + $(MAKE) -j1 install_sw + touch openssl.stamp clean: - find . -maxdepth 1 \ - -not -name 'Makefile' \ - -not -name 'Makefile.rotor' \ - -not -name '.' \ - -exec rm -rf {} \; - -buildroot-2015.05: - tar -xvzf ../deps/buildroot-2015.05.tar.gz - tar -xvzf ../deps/rotor.tar.gz - cp rotor_buildroot_dot_config buildroot-2015.05/.config - mkdir -p buildroot-2015.05/dl - cp ../deps/binutils-2.24.tar.bz2 \ - ../deps/busybox-1.23.2.tar.bz2 \ - ../deps/expat-2.1.0.tar.gz \ - ../deps/fakeroot_1.18.4.orig.tar.bz2 \ - ../deps/gcc-4.9.2.tar.bz2 \ - ../deps/gdb-7.8.2.tar.xz \ - ../deps/gmp-6.0.0a.tar.xz \ - ../deps/linux-3.18.14.tar.xz \ - ../deps/m4-1.4.17.tar.xz \ - ../deps/mpc-1.0.3.tar.gz \ - ../deps/mpfr-3.1.2.tar.xz \ - ../deps/musl-1.1.8.tar.gz \ - ../deps/ncurses-5.9.tar.gz \ - ../deps/pkgconf-0.8.9.tar.bz2 \ - buildroot-2015.05/dl - - $(MAKE) -C buildroot-2015.05 - -.PHONY: $(BUILDER) -$(BUILDER): - $(MAKE) -f Makefile.$(BUILDER) + rm -rf $(BOOST) $(BDB) $(OPENSSL) *.stamp ourlibs bitcoind test_bitcoin *.o *.d -bitcoind: - cp ../src/bitcoind . +-include *.d diff -uNr a/bitcoin/build/Makefile.rotor b/bitcoin/build/Makefile.rotor --- a/bitcoin/build/Makefile.rotor ba5a6c72cf444b5872fb006ca025ea4df3c7293a8986019b64fb57ef9d28e6a3080a81a169197b956825c1fee92fc025c0ec9a8e36f50d9fb7c2f3a9bd8ac5de +++ b/bitcoin/build/Makefile.rotor false @@ -1,56 +0,0 @@ -###################################### -#Turds! -OPENSSL=openssl-1.0.1g -BDB=db-4.8.30 -BOOST=boost_1_52_0 -###################################### - -export DIST=$(shell readlink -f ../deps) -export OURLIBS=$(shell readlink -f ./ourlibs) -export CC=$(shell readlink -f toolchain/usr/bin/x86_64-therealbitcoin-linux-musl-gcc) -export CXX=$(shell readlink -f toolchain/usr/bin/x86_64-therealbitcoin-linux-musl-g++) -export LD=$(shell readlink -f toolchain/usr/bin/x86_64-therealbitcoin-linux-musl-ld) -export CFLAGS=-I$(shell readlink -f toolchain/usr/include) -export LDFLAGS=-L$(shell readlink -f toolchain/usr/lib) -export PATH := $(PATH):$(shell readlink -f toolchain/usr/bin) -export BOOST_INCLUDE_PATH=$(OURLIBS)/include -export BDB_INCLUDE_PATH=$(OURLIBS)/include -export OPENSSL_INCLUDE_PATH=$(OURLIBS)/include -export BOOST_LIB_PATH=$(OURLIBS)/lib -export BDB_LIB_PATH=$(OURLIBS)/lib -export OPENSSL_LIB_PATH=$(OURLIBS)/lib - - -all: $(BOOST) $(BDB) $(OPENSSL) bitcoind - -clean: - rm -rf $(BOOST) $(BDB) $(OPENSSL) - -$(BOOST): - tar xvjf $(DIST)/$(BOOST).tar.bz2 - cd $(BOOST) && \ - echo "using gcc : : $(CXX) ;" >> tools/build/v2/user-config.jam && \ - ./bootstrap.sh && \ - (./bjam toolset=gcc link=static -sNO_BZIP2=1 -sNO_ZLIB=1 -sNO_COMPRESSION=1 || true) # FIX THIS ABOMINATION!!! - cd $(BOOST) && \ - (./bjam toolset=gcc link=static --prefix=$(OURLIBS) install || true) # FIX THIS ABOMINATION!!! - -$(BDB): - tar xvfz $(DIST)/$(BDB).tar.gz - cd $(BDB)/build_unix && \ - ../dist/configure --enable-cxx --prefix=$(OURLIBS) --host=x86_64-linux && \ - $(MAKE) && \ - $(MAKE) install - -$(OPENSSL): - tar xvfz $(DIST)/$(OPENSSL).tar.gz - cd $(OPENSSL) && \ - patch -p1 < ../openssl-004-musl-termios.patch && \ - ./Configure --prefix=$(OURLIBS) no-dso threads linux-x86_64 && \ - $(MAKE) && \ - $(MAKE) install_sw - -bitcoind: - cd ../src && \ - $(MAKE) STATIC=all -f makefile.unix bitcoind - strip ../src/bitcoind diff -uNr a/bitcoin/deps/Makefile b/bitcoin/deps/Makefile --- a/bitcoin/deps/Makefile 84410767530f3081269fbc0f494b5a00f7d7f665ed442a7330b87cee22fb83d5bd4acdb47f75e0cce984a37372cb81ef16931280aa3b8abcf879caa632258548 +++ b/bitcoin/deps/Makefile 071592ba649e8911593a73dbe36de0aa81777ee252571ce4ea5032f07303212b46eed1788d8f134faacd8fc531cc183165b8d3964cf1dc6bab0c54ef8894eb50 @@ -1,32 +1,16 @@ -include ../verify.mk +SHA512=sha512sum +CHECKSUM_OR_DIE=grep " $@$$" Manifest.sha512 | $(SHA512) -c || (mv $@ $@.badsum && false) +DECODE_DEED=cat $@.asc | sed -e '1,/begin-base64/d' -e '/====/,$$d' | base64 -d > $@ +VERIFY_DEED_OR_DIE=gpg --verify $@.asc || (mv $@.asc $@.asc.badsig && false) -all: boost_1_52_0.tar.bz2 buildroot-2015.05.tar.gz db-4.8.30.tar.gz \ - openssl-1.0.1g.tar.gz binutils-2.24.tar.bz2 busybox-1.23.2.tar.bz2 \ - expat-2.1.0.tar.gz fakeroot_1.18.4.orig.tar.bz2 gcc-4.9.2.tar.bz2 \ - gdb-7.8.2.tar.xz gmp-6.0.0a.tar.xz linux-3.18.14.tar.xz \ - m4-1.4.17.tar.xz mpc-1.0.3.tar.gz mpfr-3.1.2.tar.xz musl-1.1.8.tar.gz \ - ncurses-5.9.tar.gz pkgconf-0.8.9.tar.bz2 rotor.tar.gz \ - rotor-db-configure-fix.patch +TURDS = boost_1_52_0.tar.bz2 db-4.8.30.tar.gz openssl-1.0.1g.tar.gz +all: $(TURDS) check: $(SHA512) -c Manifest.sha512 clean: - rm -f boost_1_52_0.tar.bz2 buildroot-2015.05.tar.gz db-4.8.30.tar.gz \ - openssl-1.0.1g.tar.gz binutils-2.24.tar.bz2 busybox-1.23.2.tar.bz2 \ - expat-2.1.0.tar.gz fakeroot_1.18.4.orig.tar.bz2 gcc-4.9.2.tar.bz2 \ - gdb-7.8.2.tar.xz gmp-6.0.0a.tar.xz linux-3.18.14.tar.xz \ - m4-1.4.17.tar.xz mpc-1.0.3.tar.gz mpfr-3.1.2.tar.xz musl-1.1.8.tar.gz \ - ncurses-5.9.tar.gz pkgconf-0.8.9.tar.bz2 rotor.tar.gz \ - rotor-db-configure-fix.patch boost_1_52_0.tar.bz2.asc \ - buildroot-2015.05.tar.gz.asc db-4.8.30.tar.gz.asc \ - openssl-1.0.1g.tar.gz.asc binutils-2.24.tar.bz2.asc \ - busybox-1.23.2.tar.bz2.asc expat-2.1.0.tar.gz.asc \ - fakeroot_1.18.4.orig.tar.bz2.asc gcc-4.9.2.tar.bz2.asc \ - gdb-7.8.2.tar.xz.asc gmp-6.0.0a.tar.xz.asc linux-3.18.14.tar.xz.asc \ - m4-1.4.17.tar.xz.asc mpc-1.0.3.tar.gz.asc mpfr-3.1.2.tar.xz.asc \ - musl-1.1.8.tar.gz.asc ncurses-5.9.tar.gz.asc pkgconf-0.8.9.tar.bz2.asc \ - rotor.tar.gz.asc rotor-db-configure-fix.patch.asc + rm -f $(TURDS) boost_1_52_0.tar.bz2.asc db-4.8.30.tar.gz.asc openssl-1.0.1g.tar.gz.asc boost_1_52_0.tar.bz2: ifdef ONLINE @@ -36,14 +20,6 @@ $(DECODE_DEED) $(CHECKSUM_OR_DIE) -buildroot-2015.05.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-422651-2.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - db-4.8.30.tar.gz: ifdef ONLINE curl -s http://deedbot.org/deed-422651-3.txt -o $@.asc @@ -58,132 +34,4 @@ endif $(VERIFY_DEED_OR_DIE) $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -binutils-2.24.tar.bz2: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-1.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -busybox-1.23.2.tar.bz2: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-2.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -expat-2.1.0.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-3.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -fakeroot_1.18.4.orig.tar.bz2: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-4.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -gcc-4.9.2.tar.bz2: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-5.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -gdb-7.8.2.tar.xz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-6.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -gmp-6.0.0a.tar.xz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-7.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -linux-3.18.14.tar.xz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-8.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -m4-1.4.17.tar.xz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-9.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -mpc-1.0.3.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-10.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -mpfr-3.1.2.tar.xz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-11.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -musl-1.1.8.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-12.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -ncurses-5.9.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-13.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -pkgconf-0.8.9.tar.bz2: -ifdef ONLINE - curl -s http://deedbot.org/deed-427443-14.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -rotor-db-configure-fix.patch: -ifdef ONLINE - curl -s http://deedbot.org/deed-430460-1.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) - $(CHECKSUM_OR_DIE) - -rotor.tar.gz: -ifdef ONLINE - curl -s http://deedbot.org/deed-430460-2.txt -o $@.asc -endif - $(VERIFY_DEED_OR_DIE) - $(DECODE_DEED) $(CHECKSUM_OR_DIE) diff -uNr a/bitcoin/deps/Manifest.sha512 b/bitcoin/deps/Manifest.sha512 --- a/bitcoin/deps/Manifest.sha512 15a253bba8d7d35ac2f19017ae7350fd8906ad4ec93783d83aca5d07f9d4e0bab5bbaeef0e091276aac7f1cd7c00f64b3edf23c8a74e0ae66273ac99edf1bda2 +++ b/bitcoin/deps/Manifest.sha512 cf25c02269bebcde4aac90513ad758bf8eeaff97081c17ca4ae2d8fa5850e91b60e7a9c53aa1a040c3904d7e1add653c02b82d3989c9e33785290420d8ddf696 @@ -1,20 +1,3 @@ -5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2 fc512d3bfa6a39a60fee548775c97239271cf757587b8df7ed739c800844a819a359dca172be0e69ad7752753753139bf11f0813d650066d58386662fe32842d boost_1_52_0.tar.bz2 -c42fdd39cb2bc46804a86a7d7b2605bd3cd9ddcb365c4e5a1fb147eb02b234fc31a70c8140be2f4d27cd371c84e0c6701f8cb47697dd1c18dd0e0cce784aa07a buildroot-2015.05.tar.gz -209c8ef26e40ccb81510f6b663202b080f9bbecac7faf386bbabf7e36a43d63b15dd6ce9f7a84c1ccc5345c524999812251da1e113ef9faadc6af1fedd24c7c9 busybox-1.23.2.tar.bz2 d1a3c52b0ab54ae3fd6792e6396c9f74d25f36b2eb9e853b67ef9c872508a58c784c7818108d06d184f59601b70cc877916e67dfea6f0ee1ca2b07468c1041f1 db-4.8.30.tar.gz -2a9ad2b44b87b84087979fe4114d661838df3b03dbdcb74d590cb74096bf35ce9d5a86617b0941a2655ea441a94537bcbcd78252da92342238823be36de2d09d expat-2.1.0.tar.gz -497292fe21d18a37eadd657fbe01db8902f4b8d87d63605928efd59789f4c14737997b9f0abc4d794dbef78066b952064bdb2dd9f0910ec75349d7dd313cd058 fakeroot_1.18.4.orig.tar.bz2 -e96cba06d572dbe7f382a2b00fd9297dcf9f9219d46a9ad0bd904dc36d5e7db3335e422640b79a27fed6fde91b0731732b94a0e2fbcd47344d6779f8ba1f4f9c gcc-4.9.2.tar.bz2 -face5bf1b4ce144fc8604fc84620beed956177a11fd632b4e41906fc7f632910b2b43a50e6cfdfd6cbd876ee527c813bddab8df29dc560a6c36694cdb8edc4e4 gdb-7.8.2.tar.xz -50368f4368b244b442438ce1768cf0f1166e490d1bafb8feda1ffc90fea3807e7328f30f3faa861799e4f5ff6e3113049ca3231b2f48571e4583fc3d60441816 gmp-6.0.0a.tar.xz -688a107e7ff2f0d21196fbf809173fee6620ec8e7694188ff38e45a1b16632bca33c617e012726142d8bd80307fc05207badfb115df95df05ee0734d5569a9cb linux-3.18.14.tar.xz -406e6e97c3f5c5f3c8055bac748d4fe8c2e861d97e84ab6d840a2caa7df04f523cc662d6d51f6afae7d6c219d03693c7ae0c1e669a80246a3ceb5e8342b82389 m4-1.4.17.tar.xz -0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43 mpc-1.0.3.tar.gz -8d594206afb2637ed39ad564d42c8c4d02b042b95925f5c6ec891e5cb87f7155195559c7ff477256a088ecaaa3c2b0d35a9d11a74ed526a1080d49b2950e5587 mpfr-3.1.2.tar.xz -de2f0b03fd199e2ceb9937686d1092838744dccaddb3916f9baef9cdd2621624fb3c4af2206a3366d12852d84ccc8b0b68350f9d06a9e2bcdbc0309dc05383ff musl-1.1.8.tar.gz -d7c5e54b6d4d8b9211f0006ca8786f7609d180cc1aaebf4f25e7e35e12959779cf66447359a602daed625621ca32b0d910d67aef3eb8b6fdc3c373819a88faa1 ncurses-5.9.tar.gz 66ebbad3c8ad98a07b486d39d0c3ae62b00133f8f2877cf8b97c461e7c7f40b29cf9c3cae82cf73a92dcf1daa63d33aa76c910fbcbe60158589fc7cb48f41e6d openssl-1.0.1g.tar.gz -3acb571412dedc2587203ed05537ce3adbaa64f2fab4f561da9824917c15e2ea771db7525f9a026261086f4ae196c3a5183e1bb3d33e14fdd779fbe74e6215c3 pkgconf-0.8.9.tar.bz2 -e232c07238feb16ce055211fba68ed283c47753a8716681ac47c869c21936f48768fafaac678f64ee17cf2b62b669a0d2c481008b5ccaf76007f66501a02990d rotor.tar.gz -2c1152a88dd6d8e4b0f736dbf0ce2691c66fc592c1ef6c332a976ae7e9ca86850091032d23042558e3eabc0dc2b591f482566ef433606fb91a06dee9a0485063 rotor-db-configure-fix.patch diff -uNr a/bitcoin/deps/boost-no-demangler.patch b/bitcoin/deps/boost-no-demangler.patch --- a/bitcoin/deps/boost-no-demangler.patch false +++ b/bitcoin/deps/boost-no-demangler.patch 813d112d069c520cc04e4754a9d8ffbffe495f7930b8f9416d6f1cade843d2db2d6ae59ebde5ff8bd1544d01ae7930751f5467e0e742407614a9c1b7e012f81e @@ -0,0 +1,49 @@ +My GNU libstdc++ doesn't include the __cxa_demangle extension because I discovered its implementation to be based on a 5900-line mess of "libiberty" C code making potentially unsafe, not clearly bounded use of alloca. And what do you know: boost was using it wrong. + + -jfw + +--- a/boost/python/type_id.hpp ++++ b/boost/python/type_id.hpp +@@ -17,14 +17,6 @@ + # include + # include + +-# ifndef BOOST_PYTHON_HAVE_GCC_CP_DEMANGLE +-# if defined(__GNUC__) \ +- && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) \ +- && !defined(__EDG_VERSION__) +-# define BOOST_PYTHON_HAVE_GCC_CP_DEMANGLE +-# endif +-# endif +- + namespace boost { namespace python { + + // for this compiler at least, cross-shared-library type_info +--- a/boost/units/detail/utility.hpp ++++ b/boost/units/detail/utility.hpp +@@ -15,12 +15,8 @@ + #include + #include + +-#if defined(__GLIBCXX__) || defined(__GLIBCPP__) +-#define BOOST_UNITS_USE_DEMANGLING +-#include +-#endif // __GNUC__ +- + #ifdef BOOST_UNITS_USE_DEMANGLING ++#include + + #include + +--- a/libs/graph/test/typestr.hpp ++++ b/libs/graph/test/typestr.hpp +@@ -25,7 +25,8 @@ + */ + template + std::string typestr() { +-#if defined(__GNUC__) ++#if 0 ++ /* According to the docs I've found for the clearly non-standard and internal __cxa_demangle, the buffer pointer must be either null or from malloc. -jfw */ + std::size_t const BUFSIZE = 8192; + std::size_t n = BUFSIZE; + char buf[BUFSIZE]; diff -uNr a/bitcoin/deps/openssl-004-musl-termios.patch b/bitcoin/deps/openssl-004-musl-termios.patch --- a/bitcoin/deps/openssl-004-musl-termios.patch false +++ b/bitcoin/deps/openssl-004-musl-termios.patch 5b6e656591c05a67435f9f8d311ad41973271e3da4729dbe6847f4dd9aa643c15597558e179c989d822d334f5e4e03f52d25fe5d14707e22bf05e552c810ca56 @@ -0,0 +1,46 @@ +http://rt.openssl.org/Ticket/Display.html?id=3123 + +From: Kevin Bortis + +The attached patch fixes issues with musl libc on linux. musl does +implement the POSIX 2008 standard termios.h on linux and does not +include the non standard interface termio.h. + +The problem with dlinfo does no longer exists, since musl has +implemented the required interface. + +This closes #2823 for me. + +Tested version: +musl libc: 0.9.13 +openssl git: 1769dfab06dcf93a1c310ca7ea9531afcc448d0a + +Comparison of termios.h implementation on linux: + +glibc 2.17: does implement termios.h, passes make test +musl 0.9.13: does implement termios.h, passes make test +uClibc 0.9.33.2: does implement termios.h, not tested +dietlibc 0.33: does implement termios.h, not tested + +I don't know the reason why termio.h is prefered on linux, since +termios.h is generally prefered and implemented by all major libc +implementations. + +Regards +Kevin + +--- a/crypto/ui/ui_openssl.c 2013-09-08 11:00:10.130572803 +0200 ++++ b/crypto/ui/ui_openssl.c 2013-09-08 11:29:35.806580447 +0200 +@@ -190,9 +190,9 @@ + # undef SGTTY + #endif + +-#if defined(linux) && !defined(TERMIO) +-# undef TERMIOS +-# define TERMIO ++#if defined(linux) ++# define TERMIOS ++# undef TERMIO + # undef SGTTY + #endif + diff -uNr a/bitcoin/manifest b/bitcoin/manifest --- a/bitcoin/manifest 86bafa3b85db8247906f07182e4e15e72114d6f53df442290891298ed5f1487c8fea8991999a44228ceb6b1db88c345bbad7239881cb6ed1f5ffb0293cc7fe42 +++ b/bitcoin/manifest 8596caee33aae6890950ffe69970f4f3ed8b237c28d834781825ee1278bc464f3bca723c239ffaf44f68828fd5e8279d654f1d3e7bae1bce2cb9b3aff84e0149 @@ -33,3 +33,4 @@ 617254 mod6_excise_hash_truncation mod6 Regrind of ben_vulpes original; Removes truncation of hashes printed to TRB log file 617255 mod6_whogaveblox mod6 Regrind of asciilifeform original; Record the origin of every incoming candidate block (whether accepted or rejected) 625543 bitcoin_rawtx_get_send jfw Add hex raw transaction RPC commands: 'getrawtransaction' fetches from mempool or database; 'sendrawtransaction' injects to mempool or wallet and broadcasts (based loosely on earlier sendrawtransaction patch by polarbeard). Minor simplifications based on new higher-level mempool accessors. +625543 bitcoin_system_compiler jfw Build system simplification focused on using the system compiler. diff -uNr a/bitcoin/src/makefile.unix b/bitcoin/src/makefile.unix --- a/bitcoin/src/makefile.unix 0233f3b99c1f1c104d41a92f6873409f8083619e281194f0fbfe8333a786a544b468ab385e34d91891cffcea397059b210f3faab17fc4e5a444c553afd3826b1 +++ b/bitcoin/src/makefile.unix false @@ -1,145 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto -# Distributed under the MIT/X11 software license, see the accompanying -# file license.txt or http://www.opensource.org/licenses/mit-license.php. - -DEFS=-DNOPCH - -DEFS += $(addprefix -I,$(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH)) -LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH)) - -LMODE = dynamic -LMODE2 = dynamic -ifdef STATIC - LMODE = static - ifeq (${STATIC}, all) - LMODE2 = static - endif -else - TESTDEFS += -DBOOST_TEST_DYN_LINK -endif - -# for boost 1.37, add -mt to the boost libraries -LIBS += \ - -Wl,-B$(LMODE) \ - -l boost_system$(BOOST_LIB_SUFFIX) \ - -l boost_filesystem$(BOOST_LIB_SUFFIX) \ - -l boost_program_options$(BOOST_LIB_SUFFIX) \ - -l boost_thread$(BOOST_LIB_SUFFIX) \ - -l db_cxx$(BDB_LIB_SUFFIX) \ - -l ssl \ - -l crypto \ - -static-libgcc - -LIBS+= \ - -Wl,-B$(LMODE2) \ - -l pthread - - -# Hardening -# Make some classes of vulnerabilities unexploitable in case one is discovered. -# - # This is a workaround for Ubuntu bug #691722, the default -fstack-protector causes - # -fstack-protector-all to be ignored unless -fno-stack-protector is used first. - # see: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722 - HARDENING=-fno-stack-protector - - # Stack Canaries - # Put numbers at the beginning of each stack frame and check that they are the same. - # If a stack buffer if overflowed, it writes over the canary number and then on return - # when that number is checked, it won't be the same and the program will exit with - # a "Stack smashing detected" error instead of being exploited. - HARDENING+=-fstack-protector-all -Wstack-protector - - # Make some important things such as the global offset table read only as soon as - # the dynamic linker is finished building it. This will prevent overwriting of addresses - # which would later be jumped to. - HARDENING+=-Wl,-z,relro -Wl,-z,now - - # Build position independent code to take advantage of Address Space Layout Randomization - # offered by some kernels. - # see doc/build-unix.txt for more information. - ifdef PIE - HARDENING+=-fPIE -pie - endif - - # -D_FORTIFY_SOURCE=2 does some checking for potentially exploitable code patterns in - # the source such overflowing a statically defined buffer. - HARDENING+=-D_FORTIFY_SOURCE=2 -# - - -DEBUGFLAGS=-g -CXXFLAGS=-O2 -xCXXFLAGS=-pthread -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) -HEADERS = \ - base58.h \ - bignum.h \ - checkpoints.h \ - crypter.h \ - db.h \ - headers.h \ - init.h \ - key.h \ - keystore.h \ - knobs.h \ - main.h \ - net.h \ - noui.h \ - protocol.h \ - bitcoinrpc.h \ - script.h \ - serialize.h \ - strlcpy.h \ - uint256.h \ - util.h \ - wallet.h - -OBJS= \ - obj/checkpoints.o \ - obj/crypter.o \ - obj/db.o \ - obj/init.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/script.o \ - obj/util.o \ - obj/wallet.o - - -all: bitcoind - -# auto-generated dependencies: --include obj/nogui/*.P --include obj-test/*.P - -obj/nogui/%.o: %.cpp - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -bitcoind: $(OBJS:obj/%=obj/nogui/%) - $(CXX) $(xCXXFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) - -obj-test/%.o: test/%.cpp - $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -test_bitcoin: obj-test/test_bitcoin.o $(filter-out obj/nogui/init.o,$(OBJS:obj/%=obj/nogui/%)) - $(CXX) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(LDFLAGS) $(LIBS) - -clean: - -rm -f bitcoind test_bitcoin - -rm -f obj/*.o - -rm -f obj/nogui/*.o - -rm -f obj-test/*.o - -rm -f obj/*.P - -rm -f obj/nogui/*.P - -rm -f obj-test/*.P diff -uNr a/bitcoin/src/obj/.gitignore b/bitcoin/src/obj/.gitignore --- a/bitcoin/src/obj/.gitignore 2bd03102d0ff9e7ac45c6d271f59be9b4a3079f7e7b7c9fa53a9c60dfff6f7d0cfecc59ddcdcda6513b89a1b2c4177afebab7514fb6366ca8535c3205feb5878 +++ b/bitcoin/src/obj/.gitignore false @@ -1,2 +0,0 @@ -* -!.gitignore diff -uNr a/bitcoin/src/obj/nogui/.gitignore b/bitcoin/src/obj/nogui/.gitignore --- a/bitcoin/src/obj/nogui/.gitignore 2bd03102d0ff9e7ac45c6d271f59be9b4a3079f7e7b7c9fa53a9c60dfff6f7d0cfecc59ddcdcda6513b89a1b2c4177afebab7514fb6366ca8535c3205feb5878 +++ b/bitcoin/src/obj/nogui/.gitignore false @@ -1,2 +0,0 @@ -* -!.gitignore diff -uNr a/bitcoin/src/obj/test/.gitignore b/bitcoin/src/obj/test/.gitignore --- a/bitcoin/src/obj/test/.gitignore 2bd03102d0ff9e7ac45c6d271f59be9b4a3079f7e7b7c9fa53a9c60dfff6f7d0cfecc59ddcdcda6513b89a1b2c4177afebab7514fb6366ca8535c3205feb5878 +++ b/bitcoin/src/obj/test/.gitignore false @@ -1,2 +0,0 @@ -* -!.gitignore diff -uNr a/bitcoin/src/obj-test/.gitignore b/bitcoin/src/obj-test/.gitignore --- a/bitcoin/src/obj-test/.gitignore 2bd03102d0ff9e7ac45c6d271f59be9b4a3079f7e7b7c9fa53a9c60dfff6f7d0cfecc59ddcdcda6513b89a1b2c4177afebab7514fb6366ca8535c3205feb5878 +++ b/bitcoin/src/obj-test/.gitignore false @@ -1,2 +0,0 @@ -* -!.gitignore diff -uNr a/bitcoin/verify.mk b/bitcoin/verify.mk --- a/bitcoin/verify.mk 2c1baf0f19bc3981761a4453b19c61c71a863d872835536b09dc1d5ce199b330d47d74fe0f8a3c910147be8414f0a2353bd553b3977b0a420fe051df592de61c +++ b/bitcoin/verify.mk false @@ -1,5 +0,0 @@ -SHA512=sha512sum -CHECKSUM_OR_DIE=grep " $@$$" Manifest.sha512 | $(SHA512) -c || (mv $@ $@.badsum && false) -VERIFY_OR_DIE=gpg --verify $@ || (mv $@ $@.badsig && false) -DECODE_DEED=cat $@.asc | sed -e '1,/begin-base64/d' -e '/====/,$$d' | base64 -d > $@ -VERIFY_DEED_OR_DIE=gpg --verify $@.asc || (mv $@.asc $@.asc.badsig && false)