diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2013-10-22 16:44:53 +0000 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2013-10-22 16:44:53 +0000 |
commit | 3ea3076527ca90008dd2d397b1039b0cc90c04ee (patch) | |
tree | 1f17aacf825e52b0a134d2a945c05feeff5d3a3b /net-p2p/bitcoind | |
parent | Drop stable keywords on unstable-only arches (diff) | |
download | gentoo-2-3ea3076527ca90008dd2d397b1039b0cc90c04ee.tar.gz gentoo-2-3ea3076527ca90008dd2d397b1039b0cc90c04ee.tar.bz2 gentoo-2-3ea3076527ca90008dd2d397b1039b0cc90c04ee.zip |
Remove older patches
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Diffstat (limited to 'net-p2p/bitcoind')
-rw-r--r-- | net-p2p/bitcoind/ChangeLog | 9 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.4.2-Makefile.gentoo | 85 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.4.4+bip16-eligius_sendfee.patch | 178 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.4.7-reopen_log_file.patch | 94 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.5.0.5+bip16-eligius_sendfee.patch | 169 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.6.0.8-reopen_log_file.patch | 94 | ||||
-rw-r--r-- | net-p2p/bitcoind/files/0.8.0-sys_leveldb.patch | 195 |
7 files changed, 8 insertions, 816 deletions
diff --git a/net-p2p/bitcoind/ChangeLog b/net-p2p/bitcoind/ChangeLog index 6f4156e0d2b4..add27a688c86 100644 --- a/net-p2p/bitcoind/ChangeLog +++ b/net-p2p/bitcoind/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-p2p/bitcoind # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/ChangeLog,v 1.80 2013/10/10 05:19:24 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/ChangeLog,v 1.81 2013/10/22 16:44:53 blueness Exp $ + + 22 Oct 2013; Anthony G. Basile <blueness@gentoo.org> + -files/0.4.2-Makefile.gentoo, -files/0.4.4+bip16-eligius_sendfee.patch, + -files/0.4.7-reopen_log_file.patch, + -files/0.5.0.5+bip16-eligius_sendfee.patch, + -files/0.6.0.8-reopen_log_file.patch, -files/0.8.0-sys_leveldb.patch: + Remove older patches 10 Oct 2013; Patrick Lauer <patrick@gentoo.org> metadata.xml: Remove unneeded useflag descriptions from metadata.xml diff --git a/net-p2p/bitcoind/files/0.4.2-Makefile.gentoo b/net-p2p/bitcoind/files/0.4.2-Makefile.gentoo deleted file mode 100644 index fc0bf5abf2f3..000000000000 --- a/net-p2p/bitcoind/files/0.4.2-Makefile.gentoo +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto, 2010 Myckel Habets, 2011 Luke Dashjr -# Distributed under the MIT/X11 software license, see the accompanying -# file license.txt or http://www.opensource.org/licenses/mit-license.php. - -USE_SSL := -USE_UPNP := - -WXINCLUDEPATHS=$(shell wx-config --cxxflags) -WXLIBS=$(shell wx-config --libs) - -CXXFLAGS := -g -O2 -LDFLAGS := - -xLDFLAGS += \ - -Wl,-Bdynamic \ - -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 ssl \ - -l crypto \ - -l crypto++ \ - -l z \ - -l dl - -xCXXFLAGS += -pthread -xLDFLAGS += -pthread - -xCXXFLAGS += $(BOOST_CXXFLAGS) -xLDFLAGS += $(BOOST_LDFLAGS) - -xCXXFLAGS += $(DB_CXXFLAGS) -xLDFLAGS += $(DB_LDFLAGS) - -ifneq ($(USE_SSL),) - xCXXFLAGS += -DUSE_SSL -endif - -ifneq ($(USE_UPNP),) - xLDFLAGS += -l miniupnpc - xCXXFLAGS += -DUSE_UPNP=$(USE_UPNP) -endif - -xCXXFLAGS += -D__WXDEBUG__ -xCXXFLAGS += -DNOPCH -xCXXFLAGS += -Wno-invalid-offsetof -Wformat - -xCXXFLAGS += $(CXXFLAGS) -xLDFLAGS += $(LDFLAGS) - -HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \ - checkpoints.h crypter.h keystore.h wallet.h protocol.h \ - script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h - -OBJS= \ - obj/checkpoints.o \ - obj/crypter.o \ - obj/util.o \ - obj/script.o \ - obj/db.o \ - obj/net.o \ - obj/protocol.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/wallet.o \ - obj/rpc.o \ - obj/init.o - - -all: bitcoin - - -obj/%.o: %.cpp $(HEADERS) - $(CXX) -c $(xCXXFLAGS) $(WXINCLUDEPATHS) -DGUI -o $@ $< - -bitcoin: $(OBJS) obj/ui.o obj/uibase.o - $(CXX) -o $@ $^ $(WXLIBS) $(xLDFLAGS) - - -obj/nogui/%.o: %.cpp $(HEADERS) - $(CXX) -c $(xCXXFLAGS) -o $@ $< - -bitcoind: $(OBJS:obj/%=obj/nogui/%) - $(CXX) -o $@ $^ $(xLDFLAGS) diff --git a/net-p2p/bitcoind/files/0.4.4+bip16-eligius_sendfee.patch b/net-p2p/bitcoind/files/0.4.4+bip16-eligius_sendfee.patch deleted file mode 100644 index a289a51c5d82..000000000000 --- a/net-p2p/bitcoind/files/0.4.4+bip16-eligius_sendfee.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/src/main.cpp b/src/main.cpp -index 9384916..242867b 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -421,8 +421,10 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - if ((int64)nLockTime > INT_MAX) - return error("AcceptToMemoryPool() : not accepting nLockTime beyond 2038 yet"); - -+ bool fIsMine = pwalletMain->IsMine(*this); -+ - // Rather not work on nonstandard transactions (unless -testnet) -- if (!fTestNet && !IsStandard()) -+ if (!fTestNet && !IsStandard() && !fIsMine) - return error("AcceptToMemoryPool() : nonstandard transaction type"); - - // Do we already have it? -@@ -477,7 +479,7 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - } - - // Check for non-standard pay-to-script-hash in inputs -- if (!AreInputsStandard(mapInputs) && !fTestNet) -+ if (!AreInputsStandard(mapInputs) && !fIsMine && !fTestNet) - return error("AcceptToMemoryPool() : nonstandard transaction input"); - - // Note: if you modify this code to accept non-standard transactions, then -@@ -487,8 +489,11 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - int64 nFees = GetValueIn(mapInputs)-GetValueOut(); - unsigned int nSize = ::GetSerializeSize(*this, SER_NETWORK); - -+ if (!fIsMine) -+ { -+ - // Don't accept it if it can't get into a block -- if (nFees < GetMinFee(1000, true, true)) -+ if (nFees < GetMinFee(1000, true, GMF_RELAY)) - return error("AcceptToMemoryPool() : not enough fees"); - - // Continuously rate-limit free transactions -@@ -516,6 +521,8 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - } - } - -+ } -+ - // Check against previous transactions - // This is done last to help prevent CPU exhaustion denial-of-service attacks. - if (!ConnectInputs(mapInputs, mapUnused, CDiskTxPos(1,1,1), pindexBest, false, false)) -@@ -2976,6 +2983,9 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) - // Priority is sum(valuein * age) / txsize - dPriority /= ::GetSerializeSize(tx, SER_NETWORK); - -+ if (pwalletMain->IsMine(tx)) -+ dPriority += 100.; -+ - if (porphan) - porphan->dPriority = dPriority; - else -@@ -3013,7 +3023,7 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) - - // Transaction fee required depends on block size - bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority)); -- int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree); -+ int64 nMinFee = pwalletMain->IsMine(tx) ? 0 : tx.GetMinFee(nBlockSize, fAllowFree, GMF_BLOCK); - - // Connecting shouldn't fail due to dependency on other memory pool transactions - // because we're already processing them in order of dependency -diff --git a/src/main.h b/src/main.h -index 5df335a..8e533d1 100644 ---- a/src/main.h -+++ b/src/main.h -@@ -389,6 +389,13 @@ public: - typedef std::map<uint256, std::pair<CTxIndex, CTransaction> > MapPrevTx; - - -+enum GetMinFee_mode -+{ -+ GMF_BLOCK, -+ GMF_RELAY, -+ GMF_SEND, -+}; -+ - // - // The basic transaction that is broadcasted on the network and contained in - // blocks. A transaction can contain multiple inputs and outputs. -@@ -562,13 +569,49 @@ public: - return dPriority > COIN * 144 / 250; - } - -- int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, bool fForRelay=false) const -+ int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) const - { - // Base fee is either MIN_TX_FEE or MIN_RELAY_TX_FEE -- int64 nBaseFee = fForRelay ? MIN_RELAY_TX_FEE : MIN_TX_FEE; -+ int64 nBaseFee = (mode == GMF_RELAY) ? MIN_RELAY_TX_FEE : MIN_TX_FEE; - - unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK); - unsigned int nNewBlockSize = nBlockSize + nBytes; -+ int64 nMinFeeAlt; -+ -+ { -+ // Base fee is 0.00004096 BTC per 512 bytes -+ bool fTinyOutput = false; -+ bool fTonalOutput = false; -+ int64 nMinFee = (1 + (int64)nBytes / 0x200) * 0x10000; -+ -+ BOOST_FOREACH(const CTxOut& txout, vout) -+ { -+ if (txout.nValue < 0x100) -+ { -+ fTinyOutput = true; -+ break; -+ } -+ if (0 == txout.nValue % 0x10000) -+ fTonalOutput = true; -+ } -+ -+ // Charge extra for ridiculously tiny outputs -+ if (fTinyOutput) -+ nMinFee *= 0x10; -+ else -+ // Waive the fee in a tonal-sized "free tranaction area" if at least one output is TBC (and under 512 bytes) ;) -+ if (fTonalOutput && nNewBlockSize < 0x8000 && nBytes < 0x200) -+ nMinFee = 0; -+ else -+ if (fAllowFree) -+ { -+ // Give a discount to the first so many tx -+ nMinFee /= 0x10; -+ } -+ -+ nMinFeeAlt = nMinFee; -+ } -+ - int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee; - - if (fAllowFree) -@@ -594,6 +637,8 @@ public: - if (txout.nValue < CENT) - nMinFee = nBaseFee; - -+ nMinFee = std::min(nMinFee, nMinFeeAlt); -+ - // Raise the price as the block approaches full - if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2) - { -diff --git a/src/net.cpp b/src/net.cpp -index a8d3d0b..245b1b9 100644 ---- a/src/net.cpp -+++ b/src/net.cpp -@@ -1217,6 +1217,7 @@ void MapPort(bool /* unused fMapPort */) - - - static const char *strDNSSeed[] = { -+ "relay.eligius.st", - "bitseed.xf2.org", - "dnsseed.bluematt.me", - "seed.bitcoin.sipa.be", -diff --git a/src/wallet.cpp b/src/wallet.cpp -index 9f7422d..ac9703f 100644 ---- a/src/wallet.cpp -+++ b/src/wallet.cpp -@@ -939,6 +939,7 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW - int64 nChange = nValueIn - nValue - nFeeRet; - // if sub-cent change is required, the fee must be raised to at least MIN_TX_FEE - // or until nChange becomes zero -+ // NOTE: this depends on the exact behaviour of GetMinFee - if (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < CENT) - { - int64 nMoveToFee = min(nChange, MIN_TX_FEE - nFeeRet); -@@ -992,7 +993,7 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW - // Check that enough fee is included - int64 nPayFee = nTransactionFee * (1 + (int64)nBytes / 1000); - bool fAllowFree = CTransaction::AllowFree(dPriority); -- int64 nMinFee = wtxNew.GetMinFee(1, fAllowFree); -+ int64 nMinFee = wtxNew.GetMinFee(1, fAllowFree, GMF_SEND); - if (nFeeRet < max(nPayFee, nMinFee)) - { - nFeeRet = max(nPayFee, nMinFee); diff --git a/net-p2p/bitcoind/files/0.4.7-reopen_log_file.patch b/net-p2p/bitcoind/files/0.4.7-reopen_log_file.patch deleted file mode 100644 index 965f90ecb942..000000000000 --- a/net-p2p/bitcoind/files/0.4.7-reopen_log_file.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/src/init.cpp b/src/init.cpp -index 393d250..fd8bb1f 100644 ---- a/src/init.cpp -+++ b/src/init.cpp -@@ -71,6 +71,10 @@ void HandleSIGTERM(int) - fRequestShutdown = true; - } - -+void HandleSIGHUP(int) -+{ -+ fReopenDebugLog = true; -+} - - - -@@ -132,7 +136,13 @@ bool AppInit2(int argc, char* argv[]) - sa.sa_flags = 0; - sigaction(SIGTERM, &sa, NULL); - sigaction(SIGINT, &sa, NULL); -- sigaction(SIGHUP, &sa, NULL); -+ -+ // Reopen debug.log on SIGHUP -+ struct sigaction sa_hup; -+ sa_hup.sa_handler = HandleSIGHUP; -+ sigemptyset(&sa_hup.sa_mask); -+ sa_hup.sa_flags = 0; -+ sigaction(SIGHUP, &sa_hup, NULL); - #endif - - // -diff --git a/src/util.cpp b/src/util.cpp -index cae01df..0b804c1 100644 ---- a/src/util.cpp -+++ b/src/util.cpp -@@ -42,6 +42,7 @@ string strMiscWarning; - bool fTestNet = false; - bool fNoListen = false; - bool fLogTimestamps = false; -+bool fReopenDebugLog = false; - - - -@@ -166,6 +167,13 @@ int GetRandInt(int nMax) - - - -+string GetDebugLogName() -+{ -+ char pszFile[MAX_PATH+100]; -+ GetDataDir(pszFile); -+ strlcat(pszFile, "/debug.log", sizeof(pszFile)); -+ return pszFile; -+} - - inline int OutputDebugStringF(const char* pszFormat, ...) - { -@@ -185,10 +193,7 @@ inline int OutputDebugStringF(const char* pszFormat, ...) - - if (!fileout) - { -- char pszFile[MAX_PATH+100]; -- GetDataDir(pszFile); -- strlcat(pszFile, "/debug.log", sizeof(pszFile)); -- fileout = fopen(pszFile, "a"); -+ fileout = fopen(GetDebugLogName().c_str(), "a"); - if (fileout) setbuf(fileout, NULL); // unbuffered - } - if (fileout) -@@ -197,6 +202,13 @@ inline int OutputDebugStringF(const char* pszFormat, ...) - static boost::mutex mutexDebugLog; - boost::mutex::scoped_lock scoped_lock(mutexDebugLog); - -+ // reopen the log file, if requested -+ if (fReopenDebugLog) { -+ fReopenDebugLog = false; -+ if (freopen(GetDebugLogName().c_str(), "a", fileout) != NULL) -+ setbuf(fileout, NULL); // unbuffered -+ } -+ - // Debug print useful for profiling - if (fLogTimestamps && fStartedNewLine) - fprintf(fileout, "%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str()); -diff --git a/src/util.h b/src/util.h -index 284cf33..c8ce9b8 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -162,6 +162,7 @@ extern std::string strMiscWarning; - extern bool fTestNet; - extern bool fNoListen; - extern bool fLogTimestamps; -+extern bool fReopenDebugLog; - - void RandAddSeed(); - void RandAddSeedPerfmon(); diff --git a/net-p2p/bitcoind/files/0.5.0.5+bip16-eligius_sendfee.patch b/net-p2p/bitcoind/files/0.5.0.5+bip16-eligius_sendfee.patch deleted file mode 100644 index ada609211509..000000000000 --- a/net-p2p/bitcoind/files/0.5.0.5+bip16-eligius_sendfee.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff --git a/src/main.cpp b/src/main.cpp -index 2e8b43d..af5e805 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -428,8 +428,10 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - if ((int64)nLockTime > INT_MAX) - return error("AcceptToMemoryPool() : not accepting nLockTime beyond 2038 yet"); - -+ bool fIsMine = pwalletMain->IsMine(*this); -+ - // Rather not work on nonstandard transactions (unless -testnet) -- if (!fTestNet && !IsStandard()) -+ if (!fTestNet && !IsStandard() && !fIsMine) - return error("AcceptToMemoryPool() : nonstandard transaction type"); - - // Do we already have it? -@@ -494,8 +496,11 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - int64 nFees = GetValueIn(mapInputs)-GetValueOut(); - unsigned int nSize = ::GetSerializeSize(*this, SER_NETWORK); - -+ if (!fIsMine) -+ { -+ - // Don't accept it if it can't get into a block -- if (nFees < GetMinFee(1000, true, true)) -+ if (nFees < GetMinFee(1000, true, GMF_RELAY)) - return error("AcceptToMemoryPool() : not enough fees"); - - // Continuously rate-limit free transactions -@@ -523,6 +528,8 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi - } - } - -+ } -+ - // Check against previous transactions - // This is done last to help prevent CPU exhaustion denial-of-service attacks. - if (!ConnectInputs(mapInputs, mapUnused, CDiskTxPos(1,1,1), pindexBest, false, false)) -@@ -3044,6 +3051,9 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) - // Priority is sum(valuein * age) / txsize - dPriority /= ::GetSerializeSize(tx, SER_NETWORK); - -+ if (pwalletMain->IsMine(tx)) -+ dPriority += 100.; -+ - if (porphan) - porphan->dPriority = dPriority; - else -@@ -3081,7 +3091,7 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) - - // Transaction fee required depends on block size - bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority)); -- int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree); -+ int64 nMinFee = pwalletMain->IsMine(tx) ? 0 : tx.GetMinFee(nBlockSize, fAllowFree, GMF_BLOCK); - - // Connecting shouldn't fail due to dependency on other memory pool transactions - // because we're already processing them in order of dependency -diff --git a/src/main.h b/src/main.h -index a918eb5..d3910cd 100644 ---- a/src/main.h -+++ b/src/main.h -@@ -391,6 +391,13 @@ public: - typedef std::map<uint256, std::pair<CTxIndex, CTransaction> > MapPrevTx; - - -+enum GetMinFee_mode -+{ -+ GMF_BLOCK, -+ GMF_RELAY, -+ GMF_SEND, -+}; -+ - // - // The basic transaction that is broadcasted on the network and contained in - // blocks. A transaction can contain multiple inputs and outputs. -@@ -568,13 +575,49 @@ public: - return dPriority > COIN * 144 / 250; - } - -- int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, bool fForRelay=false) const -+ int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) const - { - // Base fee is either MIN_TX_FEE or MIN_RELAY_TX_FEE -- int64 nBaseFee = fForRelay ? MIN_RELAY_TX_FEE : MIN_TX_FEE; -+ int64 nBaseFee = (mode == GMF_RELAY) ? MIN_RELAY_TX_FEE : MIN_TX_FEE; - - unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK); - unsigned int nNewBlockSize = nBlockSize + nBytes; -+ int64 nMinFeeAlt; -+ -+ { -+ // Base fee is 0.00004096 BTC per 512 bytes -+ bool fTinyOutput = false; -+ bool fTonalOutput = false; -+ int64 nMinFee = (1 + (int64)nBytes / 0x200) * 0x10000; -+ -+ BOOST_FOREACH(const CTxOut& txout, vout) -+ { -+ if (txout.nValue < 0x100) -+ { -+ fTinyOutput = true; -+ break; -+ } -+ if (0 == txout.nValue % 0x10000) -+ fTonalOutput = true; -+ } -+ -+ // Charge extra for ridiculously tiny outputs -+ if (fTinyOutput) -+ nMinFee *= 0x10; -+ else -+ // Waive the fee in a tonal-sized "free tranaction area" if at least one output is TBC (and under 512 bytes) ;) -+ if (fTonalOutput && nNewBlockSize < 0x8000 && nBytes < 0x200) -+ nMinFee = 0; -+ else -+ if (fAllowFree) -+ { -+ // Give a discount to the first so many tx -+ nMinFee /= 0x10; -+ } -+ -+ nMinFeeAlt = nMinFee; -+ } -+ - int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee; - - if (fAllowFree) -@@ -600,6 +643,8 @@ public: - if (txout.nValue < CENT) - nMinFee = nBaseFee; - -+ nMinFee = std::min(nMinFee, nMinFeeAlt); -+ - // Raise the price as the block approaches full - if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2) - { -diff --git a/src/net.cpp b/src/net.cpp -index f37c675..5cb448d 100644 ---- a/src/net.cpp -+++ b/src/net.cpp -@@ -1268,6 +1268,7 @@ void MapPort(bool /* unused fMapPort */) - - - static const char *strDNSSeed[] = { -+ "relay.eligius.st", - "bitseed.xf2.org", - "dnsseed.bluematt.me", - "seed.bitcoin.sipa.be", -diff --git a/src/wallet.cpp b/src/wallet.cpp -index 20c3eab..e71994b 100644 ---- a/src/wallet.cpp -+++ b/src/wallet.cpp -@@ -959,6 +959,7 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW - int64 nChange = nValueIn - nValue - nFeeRet; - // if sub-cent change is required, the fee must be raised to at least MIN_TX_FEE - // or until nChange becomes zero -+ // NOTE: this depends on the exact behaviour of GetMinFee - if (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < CENT) - { - int64 nMoveToFee = min(nChange, MIN_TX_FEE - nFeeRet); -@@ -1012,7 +1013,7 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW - // Check that enough fee is included - int64 nPayFee = nTransactionFee * (1 + (int64)nBytes / 1000); - bool fAllowFree = CTransaction::AllowFree(dPriority); -- int64 nMinFee = wtxNew.GetMinFee(1, fAllowFree); -+ int64 nMinFee = wtxNew.GetMinFee(1, fAllowFree, GMF_SEND); - if (nFeeRet < max(nPayFee, nMinFee)) - { - nFeeRet = max(nPayFee, nMinFee); diff --git a/net-p2p/bitcoind/files/0.6.0.8-reopen_log_file.patch b/net-p2p/bitcoind/files/0.6.0.8-reopen_log_file.patch deleted file mode 100644 index ee0efc80b8d2..000000000000 --- a/net-p2p/bitcoind/files/0.6.0.8-reopen_log_file.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/src/init.cpp b/src/init.cpp -index 586e3da..da695f4 100644 ---- a/src/init.cpp -+++ b/src/init.cpp -@@ -97,6 +97,10 @@ void HandleSIGTERM(int) - fRequestShutdown = true; - } - -+void HandleSIGHUP(int) -+{ -+ fReopenDebugLog = true; -+} - - - -@@ -158,7 +162,13 @@ bool AppInit2(int argc, char* argv[]) - sa.sa_flags = 0; - sigaction(SIGTERM, &sa, NULL); - sigaction(SIGINT, &sa, NULL); -- sigaction(SIGHUP, &sa, NULL); -+ -+ // Reopen debug.log on SIGHUP -+ struct sigaction sa_hup; -+ sa_hup.sa_handler = HandleSIGHUP; -+ sigemptyset(&sa_hup.sa_mask); -+ sa_hup.sa_flags = 0; -+ sigaction(SIGHUP, &sa_hup, NULL); - #endif - - // -diff --git a/src/util.cpp b/src/util.cpp -index 94bdba6..5718f41 100644 ---- a/src/util.cpp -+++ b/src/util.cpp -@@ -44,6 +44,7 @@ bool fTestNet = false; - bool fNoListen = false; - bool fLogTimestamps = false; - CMedianFilter<int64> vTimeOffsets(200,0); -+bool fReopenDebugLog = false; - - - -@@ -167,6 +168,13 @@ int GetRandInt(int nMax) - - - -+string GetDebugLogName() -+{ -+ char pszFile[MAX_PATH+100]; -+ GetDataDir(pszFile); -+ strlcat(pszFile, "/debug.log", sizeof(pszFile)); -+ return pszFile; -+} - - inline int OutputDebugStringF(const char* pszFormat, ...) - { -@@ -186,10 +194,7 @@ inline int OutputDebugStringF(const char* pszFormat, ...) - - if (!fileout) - { -- char pszFile[MAX_PATH+100]; -- GetDataDir(pszFile); -- strlcat(pszFile, "/debug.log", sizeof(pszFile)); -- fileout = fopen(pszFile, "a"); -+ fileout = fopen(GetDebugLogName().c_str(), "a"); - if (fileout) setbuf(fileout, NULL); // unbuffered - } - if (fileout) -@@ -198,6 +203,13 @@ inline int OutputDebugStringF(const char* pszFormat, ...) - static boost::mutex mutexDebugLog; - boost::mutex::scoped_lock scoped_lock(mutexDebugLog); - -+ // reopen the log file, if requested -+ if (fReopenDebugLog) { -+ fReopenDebugLog = false; -+ if (freopen(GetDebugLogName().c_str(), "a", fileout) != NULL) -+ setbuf(fileout, NULL); // unbuffered -+ } -+ - // Debug print useful for profiling - if (fLogTimestamps && fStartedNewLine) - fprintf(fileout, "%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str()); -diff --git a/src/util.h b/src/util.h -index e0821cc..737f239 100644 ---- a/src/util.h -+++ b/src/util.h -@@ -123,6 +123,7 @@ extern std::string strMiscWarning; - extern bool fTestNet; - extern bool fNoListen; - extern bool fLogTimestamps; -+extern bool fReopenDebugLog; - - void RandAddSeed(); - void RandAddSeedPerfmon(); diff --git a/net-p2p/bitcoind/files/0.8.0-sys_leveldb.patch b/net-p2p/bitcoind/files/0.8.0-sys_leveldb.patch deleted file mode 100644 index 5b540c358f70..000000000000 --- a/net-p2p/bitcoind/files/0.8.0-sys_leveldb.patch +++ /dev/null @@ -1,195 +0,0 @@ -diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro -index 1c6bc0a..db431de 100644 ---- a/bitcoin-qt.pro -+++ b/bitcoin-qt.pro -@@ -2,7 +2,7 @@ TEMPLATE = app - TARGET = bitcoin-qt - VERSION = 0.8.0 - INCLUDEPATH += src src/json src/qt --DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE -+DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE LEVELDB_WITHOUT_MEMENV - CONFIG += no_include_pwd - CONFIG += thread - -@@ -96,24 +96,28 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { - QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets - } - -+contains(USE_SYSTEM_LEVELDB, 1) { -+ LIBS += -lleveldb -+} else { - INCLUDEPATH += src/leveldb/include src/leveldb/helpers --LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a -+LIBS += $$PWD/src/leveldb/libleveldb.a - !win32 { -- genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a -+ genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a - } else { - # make an educated guess about what the ranlib command is called - isEmpty(QMAKE_RANLIB) { - QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) - } - LIBS += -lshlwapi -- genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a -+ genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS\" libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a - } - genleveldb.target = $$PWD/src/leveldb/libleveldb.a - genleveldb.depends = FORCE - PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a - QMAKE_EXTRA_TARGETS += genleveldb -+} - # Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it. --QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean -+QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb && $(MAKE) clean || true - - # regenerate src/build.h - !win32|contains(USE_BUILD_INFO, 1) { -diff --git a/src/leveldb.cpp b/src/leveldb.cpp -index b41764f..f71e801 100644 ---- a/src/leveldb.cpp -+++ b/src/leveldb.cpp -@@ -8,7 +8,9 @@ - #include <leveldb/env.h> - #include <leveldb/cache.h> - #include <leveldb/filter_policy.h> -+#ifndef LEVELDB_WITHOUT_MEMENV - #include <memenv/memenv.h> -+#endif - - #include <boost/filesystem.hpp> - -@@ -42,8 +44,12 @@ CLevelDB::CLevelDB(const boost::filesystem::path &path, size_t nCacheSize, bool - options = GetOptions(nCacheSize); - options.create_if_missing = true; - if (fMemory) { -+#ifndef LEVELDB_WITHOUT_MEMENV - penv = leveldb::NewMemEnv(leveldb::Env::Default()); - options.env = penv; -+#else -+ throw std::runtime_error("CLevelDB(): compiled without memenv support"); -+#endif - } else { - if (fWipe) { - printf("Wiping LevelDB in %s\n", path.string().c_str()); -diff --git a/src/makefile.unix b/src/makefile.unix -index ece2f59..4cbeaba 100644 ---- a/src/makefile.unix -+++ b/src/makefile.unix -@@ -36,6 +36,10 @@ LIBS += \ - -l ssl \ - -l crypto - -+TESTLIBS += \ -+ -Wl,-B$(LMODE) \ -+ -l boost_unit_test_framework$(BOOST_LIB_SUFFIX) -+ - ifndef USE_UPNP - override USE_UPNP = - - endif -@@ -100,8 +104,7 @@ xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-para - # adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work. - xLDFLAGS=$(LDHARDENING) $(LDFLAGS) - --OBJS= \ -- leveldb/libleveldb.a \ -+BASEOBJS := \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ -@@ -110,7 +113,6 @@ OBJS= \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ -- obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ -@@ -131,24 +133,43 @@ OBJS= \ - obj/hash.o \ - obj/bloom.o \ - obj/noui.o \ -- obj/leveldb.o \ - obj/txdb.o - -+OBJS := \ -+ obj/leveldb.o \ -+ obj/init.o \ -+ $(BASEOBJS) -+ -+TESTOBJS := \ -+ obj-test/leveldb.o \ -+ $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) \ -+ $(BASEOBJS) -+ - - all: bitcoind - - test check: test_bitcoin FORCE - ./test_bitcoin - -+ifdef USE_SYSTEM_LEVELDB -+ LIBS += -lleveldb -+ TESTLIBS += -lmemenv -+else - # - # LevelDB support - # - MAKEOVERRIDES = --LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a -+LIBS += $(CURDIR)/leveldb/libleveldb.a -+TESTLIBS += $(CURDIR)/leveldb/libmemenv.a - DEFS += $(addprefix -I,$(CURDIR)/leveldb/include) - DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers) - leveldb/libleveldb.a: -- @echo "Building LevelDB ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a libmemenv.a && cd .. -+ @echo "Building LevelDB ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libleveldb.a && cd .. -+leveldb/libmemenv.a: -+ @echo "Building LevelDB memenv ..." && cd leveldb && $(MAKE) CC=$(CC) CXX=$(CXX) OPT="$(xCXXFLAGS)" libmemenv.a && cd .. -+OBJS += leveldb/libleveldb.a -+TESTOBJS += leveldb/libmemenv.a -+endif - - # auto-generated dependencies: - -include obj/*.P -@@ -159,27 +180,29 @@ obj/build.h: FORCE - version.cpp: obj/build.h - DEFS += -DHAVE_BUILD_INFO - --obj/%.o: %.cpp -- $(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< -+P_TO_D = \ - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ -- sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ -+ sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - --bitcoind: $(OBJS:obj/%=obj/%) -- $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS) -+obj/%.o: %.cpp -+ $(CXX) -c $(xCXXFLAGS) -DLEVELDB_WITHOUT_MEMENV -MMD -MF $(@:%.o=%.d) -o $@ $< -+ $(P_TO_D) - --TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) -+bitcoind: $(OBJS) -+ $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS) - - obj-test/%.o: test/%.cpp - $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -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) -+ $(P_TO_D) -+ -+obj-test/leveldb.o: leveldb.cpp -+ $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< -+ $(P_TO_D) - --test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) -- $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS) -+test_bitcoin: $(TESTOBJS) -+ $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(TESTLIBS) $(xLDFLAGS) $(LIBS) - - clean: - -rm -f bitcoind test_bitcoin |