Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

master #12277

Closed
wants to merge 123 commits into from
Closed

master #12277

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
c11c72c
Bump version numbers for 0.9.2 branch split-off
laanwj May 9, 2014
78363dc
fixes #4163
posita May 9, 2014
a39d4e3
Switch stdout to line buffering
May 11, 2014
26ceac4
Squashed 'src/leveldb/' changes from 9094c7f..7924331
sipa May 9, 2014
72ae546
Remove dummy PRIszX macros for formatting
laanwj May 6, 2014
010e661
Move base58.h implementation code to base58.cpp
sipa May 9, 2014
1ed6d49
rpc: pass errors from async_accept
laanwj May 7, 2014
203a0cf
rpc: Make sure conn object is always cleaned up
laanwj May 7, 2014
8b1a93f
doc: remove mention of `-rpctimeout` from man page
laanwj May 7, 2014
9f535d4
rpc: keep track of acceptors, and cancel them in StopRPCThreads
laanwj May 9, 2014
4b8a3ab
qt: periodic language update
laanwj May 13, 2014
337459b
SetupEnvironment() - clean commit
itoffshore May 13, 2014
79144ac
switch from boost int types to <stdint.h>
kdomanski May 5, 2014
e917bdb
remove ParseString(...) which is never used
kdomanski May 13, 2014
f72b475
gitian: Add OSX build descriptors
theuni May 13, 2014
ac1dd87
qt: Periodic language update
laanwj May 21, 2014
2585310
Add missing LOCK(cs_main)
sipa May 20, 2014
e0036e9
Replace non-threadsafe strerror
laanwj May 8, 2014
a626497
Replace non-threadsafe gmtime and setlocale
laanwj May 8, 2014
48115f5
qt: Periodic language update
laanwj May 23, 2014
042bdd3
Add Tips and Tricks section to README
gavinandresen May 23, 2014
5fa6143
Add preliminary release notes for 0.9.2
laanwj May 23, 2014
6fb7591
[Qt] Fix Start bitcoin on system login
cozz May 29, 2014
768cef9
release: Bump the OSX SDK to 10.7 for gitian builds
theuni May 24, 2014
2f89f4b
No references to centralized databases in help text.
sipa May 29, 2014
3a4a66f
osx: Fix missing dock menu with qt5
theuni May 29, 2014
d6377e6
Limit number of known addresses per peer
sipa May 30, 2014
64e1082
Set client version to release
laanwj Jun 1, 2014
41b96da
Periodic language update
laanwj Jun 1, 2014
acb5356
Use pnode->nLastRecv as sync score directly
4tar May 30, 2014
eac2cdc
Properly initialize CWallet::nTimeFirstKey
tm314159 Jun 2, 2014
3ae41a6
gitian: upgrade OpenSSL to 1.0.1h
laanwj Jun 5, 2014
7ccadd4
CWallet: fix nTimeFirstKey init, by making constructor init common code
Jun 3, 2014
e39a3f2
qt: Periodic translation update
laanwj Jun 6, 2014
94cfe33
add 0.9.2rc2 changes to release notes
laanwj Jun 13, 2014
505681f
fix download link and release in release notes
laanwj Jun 13, 2014
bd65d70
gitian: make linux qt intermediate deterministic
laanwj Jun 2, 2014
9d5b5c3
Qt: Fix monospace font in osx 10.9
theuni May 24, 2014
a378852
rpc: Ignore and log errors during cancel
laanwj Jun 17, 2014
b64b1c6
rpc: Add acceptors only when listening succeeded
laanwj Jun 19, 2014
354c0f3
Bump version to 0.9.2.1
laanwj Jun 19, 2014
752ecec
Remove NumBlocksOfPeers
laanwj May 5, 2014
6862c8b
Version bump for 0.9.3
laanwj Aug 18, 2014
5332b0a
Don't poll showmyip.com, it doesn't exist anymore
laanwj Aug 12, 2014
5baa4a9
In -? output: -keypool, -gen, -genproclimit depend on ENABLE_WALLET
zw Jul 12, 2014
84efe0e
Remove bignum dependency for scripts
theuni Mar 26, 2014
221684c
Clarify that redeemScript is often optional
zw Jul 12, 2014
bf75a3d
qt: fix 'opens in testnet mode when presented with a BIP-72 link with…
haight6716 Jul 2, 2014
44d8e09
Avoid a segfault on getblock if it can't read a block from disk.
rdponticelli Jul 10, 2014
0a6dcae
AvailableCoins: acquire cs_main mutex
recursive-rat4 Jun 20, 2014
d78e431
Update Debian packaging description for new bitcoin-cli
jmcorgan Jul 8, 2014
a789965
Add a way to limit deserialized string lengths
sipa Aug 7, 2014
2382631
Add a new checkpoint at block 295,000
trevinhofmann Jul 16, 2014
f6f4c83
key.cpp: fail with a friendlier message on missing ssl EC support
apoelstra Jun 2, 2014
f8cdf4f
base58: add paranoid return value checks
Jun 12, 2014
4b57c5b
Ignore too-long redeemScripts while loading wallet
laanwj Jun 10, 2014
fd0c460
Check redeemScript size does not exceed 520 byte limit
petertodd Mar 11, 2014
84fe0ff
Increase IsStandard() scriptSig length
petertodd Mar 10, 2014
736d8b8
preliminary release notes for 0.9.3
laanwj Aug 18, 2014
026b9df
Avoid querying DNS seeds, if we have open connections.
Jul 29, 2014
bba0175
gitian: upgrade OpenSSL to 1.0.1i
fanquake Aug 7, 2014
f62031b
qt: fix unicode character display on osx when building with 10.7 sdk
theuni Aug 6, 2014
0991401
build: Fix boost build on some platforms
theuni Aug 15, 2014
5591171
build: fix FDELT_TYPE configure check
theuni Aug 8, 2014
47c78c2
libc-compat: add new symbol that's now needed
theuni Aug 8, 2014
49df14d
Update build-osx.md
rktoomey Aug 20, 2014
a9c6eef
gitian: Bump miniupnp version to 1.9.20140701
laanwj Aug 22, 2014
29ba8cc
doc: Add list of contributors to 0.9.3
laanwj Aug 22, 2014
e6abbce
qt: Language update for 0.9.3
laanwj Aug 22, 2014
a12d6ac
doc: mention translations in release notes
laanwj Aug 22, 2014
b62172a
Add deeper XML checking to update-translation script
laanwj Aug 28, 2014
ea55881
Filter translations through new update-translations script
laanwj Sep 1, 2014
c6727f3
Avoid repeated lookups in mapOrphanTransactions and mapOrphanTransact…
laanwj Sep 8, 2014
12927dd
Fix crashing bug caused by orphan(s) with duplicate prevout.hash
gavinandresen Sep 9, 2014
d030936
Limit CNode::mapAskFor
laanwj Sep 10, 2014
6eb5410
Avoid returning many "inv" orphans
Sep 9, 2014
0655d64
doc: Remove outdated information about boost versions
laanwj Aug 18, 2014
6fbd58d
build: Remove message about Ubuntu 13.10 when no boost sleep implemen…
laanwj Aug 29, 2014
306a93b
remove useless millisleep
Aug 30, 2014
6d911ad
Stricter handling of orphan transactions
gavinandresen Aug 28, 2014
af25208
Make max number of orphan blocks kept in memory a startup parameter (…
May 30, 2014
ea3c1b0
Store fewer orphan tx by default, add -maxorphantx option
gavinandresen Sep 10, 2014
ce16723
Update release notes
laanwj Sep 11, 2014
cea5e49
Update release notes
laanwj Sep 12, 2014
e3d8d58
build: osx: Fix incomplete framework packaging for codesigning
theuni May 30, 2014
213cd59
Remove mention of MacPorts from OSX build docs
laanwj Sep 18, 2014
40d2041
build: change cdrkit location in build-process.md
laanwj Sep 22, 2014
855fd49
build: fix release name strings for gitian builds
theuni Sep 19, 2014
613247f
osx: fix signing to make Gatekeeper happy (again)
theuni Sep 30, 2014
ffab1dd
Keep symlinks when copying into .app bundle
gavinandresen Sep 29, 2014
2743529
doc: Add instructions for consistent Mac OS X build names
saivann Sep 27, 2014
5b9f78d
build: Fix OSX build when using Homebrew and qt5
theuni Sep 29, 2014
25b49b5
Refactor -alertnotify code
gavinandresen Oct 7, 2014
cd5164a
Make -proxy set all network types, avoiding a connect leak.
gmaxwell Nov 23, 2014
bb424e4
Limit the number of new addressses to accumulate
sipa Nov 21, 2014
0a94661
Disable SSLv3 (in favor of TLS) for the RPC client and server.
gmaxwell Dec 6, 2014
b8e81b7
consensus: guard against openssl's new strict DER checks
theuni Jan 9, 2015
f047dfa
gitian: openssl-1.0.1i.tar.gz -> openssl-1.0.1k.tar.gz
laanwj Jan 10, 2015
60c51f1
fail immediately on an empty signature
laanwj Jan 10, 2015
65a1dda
doc: Update release process for openssl bump
laanwj Jan 10, 2015
b8ac476
gitian: bump revision for OSX qt
laanwj Jan 10, 2015
037bfef
Improve robustness of DER recoding code
laanwj Jan 12, 2015
f6b7539
qt: Pull updated translations from Transifex
laanwj Jan 12, 2015
2f32a0b
doc: Update release notes for 0.9.4
laanwj Jan 12, 2015
be8ac71
Bump version to 0.9.4
laanwj Jan 12, 2015
41f94ed
doc: Properly format git commits in changelog
laanwj Jan 12, 2015
ab03660
Implement BIP 66 validation rules and switchover logic
sipa Feb 6, 2015
989d499
Backport of some of BIP66's tests
sipa Feb 6, 2015
3230b32
Raise version of created blocks, and enforce DERSIG in mempool
sipa Feb 6, 2015
8438074
build: fix dynamic boost check when --with-boost= is used
theuni Oct 10, 2014
924d7e5
Merge pull request #5780
laanwj Feb 10, 2015
864338a
Merge pull request #5762
laanwj Feb 13, 2015
6b4163b
Sanitize command strings before logging them.
gmaxwell Feb 8, 2015
74f29c2
Check pindexBestForkBase for null
Oct 28, 2014
9cd1dd9
Fix priority calculation in CreateTransaction
morcos Jan 16, 2015
47fdeb4
Merge pull request #5807
laanwj Feb 26, 2015
eb27e8d
Final transifex pull for 0.9
laanwj May 5, 2015
ea07ccb
Version bump to 0.9.5
laanwj May 18, 2015
e328605
build: fix osx determinism for OSX
theuni May 21, 2015
b880967
Merge pull request #6169
laanwj May 21, 2015
460ccfb
Disable upnp by default
laanwj Oct 15, 2015
10d28ab
test
Jan 27, 2018
da63422
Update INSTALL
Jan 27, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions INSTALL
@@ -1,5 +1,5 @@
Building Bitcoin
Building Bitcoin

See doc/build-*.md for instructions on building bitcoind,
the intended-for-services, no-graphical-interface, reference
implementation of Bitcoin.
implementation of Bitcoin.
37 changes: 36 additions & 1 deletion README.md
Expand Up @@ -3,7 +3,7 @@ Bitcoin Core integration/staging tree

http://www.bitcoin.org

Copyright (c) 2009-2014 Bitcoin Core Developers
Copyright (c) 2009-2015 Bitcoin Core Developers

What is Bitcoin?
----------------
Expand Down Expand Up @@ -81,3 +81,38 @@ Periodically the translations are pulled from Transifex and merged into the git

**Important**: We do not accept translation changes as github pull request because the next
pull from Transifex would automatically overwrite them again.

Development tips and tricks
---------------------------

**compiling for debugging**

Run configure with the --enable-debug option, then make. Or run configure with
CXXFLAGS="-g -ggdb -O0" or whatever debug flags you need.

**debug.log**

If the code is behaving strangely, take a look in the debug.log file in the data directory;
error and debugging message are written there.

The -debug=... command-line option controls debugging; running with just -debug will turn
on all categories (and give you a very large debug.log file).

The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt
to see it.

**testnet and regtest modes**

Run with the -testnet option to run with "play bitcoins" on the test network, if you
are testing multi-machine code that needs to operate across the internet.

If you are testing something that can run on one machine, run with the -regtest option.
In regression test mode blocks can be created on-demand; see qa/rpc-tests/ for tests
that run in -regest mode.

**DEBUG_LOCKORDER**

Bitcoin Core is a multithreaded application, and deadlocks or other multithreading bugs
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of what locks
are held, and adds warning to the debug.log file if inconsistencies are detected.
44 changes: 31 additions & 13 deletions configure.ac
Expand Up @@ -2,10 +2,10 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 0)
define(_CLIENT_VERSION_MINOR, 9)
define(_CLIENT_VERSION_REVISION, 99)
define(_CLIENT_VERSION_REVISION, 5)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_COPYRIGHT_YEAR, 2014)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2015)
AC_INIT([Bitcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@bitcoin.org],[bitcoin])
AC_CONFIG_AUX_DIR([src/build-aux])
AC_CONFIG_MACRO_DIR([src/m4])
Expand Down Expand Up @@ -232,12 +232,25 @@ case $host in

AC_CHECK_PROG([BREW],brew, brew)
if test x$BREW = xbrew; then
dnl add default homebrew paths
openssl_prefix=`$BREW --prefix openssl`
bdb_prefix=`$BREW --prefix berkeley-db4`
export PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
LIBS="$LIBS -L$bdb_prefix/lib"
dnl These Homebrew packages may be bottled, meaning that they won't be found
dnl in expected paths because they may conflict with system files. Ask
dnl Homebrew where each one is located, then adjust paths accordingly.
dnl It's safe to add these paths even if the functionality is disabled by
dnl the user (--without-wallet or --without-gui for example).

openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
bdb_prefix=`$BREW --prefix berkeley-db4 2>/dev/null`
qt5_prefix=`$BREW --prefix qt5 2>/dev/null`
if test x$openssl_prefix != x; then
export PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
if test x$bdb_prefix != x; then
CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
LIBS="$LIBS -L$bdb_prefix/lib"
fi
if test x$qt5_prefix != x; then
export PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
fi
else
case $build_os in
Expand Down Expand Up @@ -303,6 +316,8 @@ INCLUDES="$INCLUDES $PTHREAD_CFLAGS"
# they also need to be passed down to any subprojects. Pull the results out of
# the cache and add them to CPPFLAGS.
AC_SYS_LARGEFILE
# detect POSIX or GNU variant of strerror_r
AC_FUNC_STRERROR_R

if test x$ac_cv_sys_file_offset_bits != x &&
test x$ac_cv_sys_file_offset_bits != xno &&
Expand All @@ -323,7 +338,10 @@ if test x$use_glibc_compat != xno; then
#__fdelt_chk's params and return type have changed from long unsigned int to long int.
# See which one is present here.
AC_MSG_CHECKING(__fdelt_chk type)
AC_TRY_COMPILE([#define __USE_FORTIFY_LEVEL 2
AC_TRY_COMPILE([#ifdef _FORTIFY_SOURCE
#undef _FORTIFY_SOURCE
#endif
#define _FORTIFY_SOURCE 2
#include <sys/select.h>
extern "C" long unsigned int __fdelt_warn(long unsigned int);],[],
[ fdelt_type="long unsigned int"],
Expand Down Expand Up @@ -418,7 +436,7 @@ if test x$use_tests = xyes; then
dnl Determine if -DBOOST_TEST_DYN_LINK is needed
AC_MSG_CHECKING([for dynamic linked boost test])
TEMP_LIBS="$LIBS"
LIBS="$LIBS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
TEMP_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
AC_LINK_IFELSE([AC_LANG_SOURCE([
Expand Down Expand Up @@ -491,7 +509,7 @@ CPPFLAGS="$TEMP_CPPFLAGS"
fi

if test x$boost_sleep != xyes; then
AC_MSG_ERROR(No working boost sleep implementation found. If on ubuntu 13.10 with libboost1.54-all-dev remove libboost.1.54-all-dev and use libboost1.53-all-dev)
AC_MSG_ERROR(No working boost sleep implementation found.)
fi

AC_ARG_WITH([cli],
Expand Down Expand Up @@ -601,7 +619,7 @@ else
AC_MSG_RESULT($use_upnp_default)
AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
if test x$TARGET_OS = xwindows; then
CPPFLAGS="$CPPFLAGS -DSTATICLIB"
CPPFLAGS="$CPPFLAGS -DMINIUPNP_STATICLIB"
fi
else
AC_MSG_RESULT(no)
Expand Down
5 changes: 3 additions & 2 deletions contrib/debian/control
Expand Up @@ -38,8 +38,9 @@ Description: peer-to-peer network based digital currency - daemon
Full transaction history is stored locally at each client. This
requires 20+ GB of space, slowly growing.
.
This package provides bitcoind, a combined daemon and CLI tool to
interact with the daemon.

This package provides the daemon, bitcoind, and the CLI tool
bitcoin-cli to interact with the daemon.

Package: bitcoin-qt
Architecture: any
Expand Down
3 changes: 0 additions & 3 deletions contrib/debian/manpages/bitcoin.conf.5
Expand Up @@ -37,9 +37,6 @@ You must set *rpcuser* to secure the JSON-RPC api.
\fBrpcpassword=\fR\fI'password'\fR
You must set *rpcpassword* to secure the JSON-RPC api.
.TP
\fBrpctimeout=\fR\fI'30'\fR
How many seconds *bitcoin* will wait for a complete RPC HTTP request, after the HTTP connection is established.
.TP
\fBrpcallowip=\fR\fI'192.168.1.*'\fR
By default, only RPC connections from localhost are allowed. Specify as many *rpcallowip=* settings as you like to allow connections from other hosts (and you may use * as a wildcard character).
.TP
Expand Down
148 changes: 134 additions & 14 deletions contrib/devtools/update-translations.py
Expand Up @@ -14,13 +14,14 @@

TODO:
- auto-add new translations to the build system according to the translation process
- remove 'unfinished' translation items
'''
from __future__ import division, print_function
import subprocess
import re
import sys
import os
import io
import xml.etree.ElementTree as ET

# Name of transifex tool
TX = 'tx'
Expand All @@ -40,24 +41,143 @@ def fetch_all_translations():
print('Error while fetching translations', file=sys.stderr)
exit(1)

def postprocess_translations():
print('Postprocessing...')
def find_format_specifiers(s):
'''Find all format specifiers in a string.'''
pos = 0
specifiers = []
while True:
percent = s.find('%', pos)
if percent < 0:
break
specifiers.append(s[percent+1])
pos = percent+2
return specifiers

def split_format_specifiers(specifiers):
'''Split format specifiers between numeric (Qt) and others (strprintf)'''
numeric = []
other = []
for s in specifiers:
if s in {'1','2','3','4','5','6','7','8','9'}:
numeric.append(s)
else:
other.append(s)

# numeric (Qt) can be present in any order, others (strprintf) must be in specified order
return set(numeric),other

def sanitize_string(s):
'''Sanitize string for printing'''
return s.replace('\n',' ')

def check_format_specifiers(source, translation, errors):
source_f = split_format_specifiers(find_format_specifiers(source))
# assert that no source messages contain both Qt and strprintf format specifiers
# if this fails, go change the source as this is hacky and confusing!
assert(not(source_f[0] and source_f[1]))
try:
translation_f = split_format_specifiers(find_format_specifiers(translation))
except IndexError:
errors.append("Parse error in translation '%s'" % sanitize_string(translation))
return False
else:
if source_f != translation_f:
errors.append("Mismatch between '%s' and '%s'" % (sanitize_string(source), sanitize_string(translation)))
return False
return True

def all_ts_files(suffix=''):
for filename in os.listdir(LOCALE_DIR):
# process only language files, and do not process source language
if not filename.endswith('.ts') or filename == SOURCE_LANG:
if not filename.endswith('.ts'+suffix) or filename == SOURCE_LANG+suffix:
continue
if suffix: # remove provided suffix
filename = filename[0:-len(suffix)]
filepath = os.path.join(LOCALE_DIR, filename)
with open(filepath, 'rb') as f:
yield(filename, filepath)

FIX_RE = re.compile(b'[\x00-\x09\x0b\x0c\x0e-\x1f]')
def remove_invalid_characters(s):
'''Remove invalid characters from translation string'''
return FIX_RE.sub(b'', s)

# Override cdata escape function to make our output match Qt's (optional, just for cleaner diffs for
# comparison, disable by default)
_orig_escape_cdata = None
def escape_cdata(text):
text = _orig_escape_cdata(text)
text = text.replace("'", '&apos;')
text = text.replace('"', '&quot;')
return text

def postprocess_translations(reduce_diff_hacks=False):
print('Checking and postprocessing...')

if reduce_diff_hacks:
global _orig_escape_cdata
_orig_escape_cdata = ET._escape_cdata
ET._escape_cdata = escape_cdata

for (filename,filepath) in all_ts_files():
os.rename(filepath, filepath+'.orig')

have_errors = False
for (filename,filepath) in all_ts_files('.orig'):
# pre-fixups to cope with transifex output
parser = ET.XMLParser(encoding='utf-8') # need to override encoding because 'utf8' is not understood only 'utf-8'
with open(filepath + '.orig', 'rb') as f:
data = f.read()
# remove non-allowed control characters
data = re.sub('[\x00-\x09\x0b\x0c\x0e-\x1f]', '', data)
data = data.split('\n')
# strip locations from non-origin translation
# location tags are used to guide translators, they are not necessary for compilation
# TODO: actually process XML instead of relying on Transifex's one-tag-per-line output format
data = [line for line in data if not '<location' in line]
with open(filepath, 'wb') as f:
f.write('\n'.join(data))
# remove control characters; this must be done over the entire file otherwise the XML parser will fail
data = remove_invalid_characters(data)
tree = ET.parse(io.BytesIO(data), parser=parser)

# iterate over all messages in file
root = tree.getroot()
for context in root.findall('context'):
for message in context.findall('message'):
numerus = message.get('numerus') == 'yes'
source = message.find('source').text
translation_node = message.find('translation')
# pick all numerusforms
if numerus:
translations = [i.text for i in translation_node.findall('numerusform')]
else:
translations = [translation_node.text]

for translation in translations:
if translation is None:
continue
errors = []
valid = check_format_specifiers(source, translation, errors)

for error in errors:
print('%s: %s' % (filename, error))

if not valid: # set type to unfinished and clear string if invalid
translation_node.clear()
translation_node.set('type', 'unfinished')
have_errors = True

# Remove location tags
for location in message.findall('location'):
message.remove(location)

# Remove entire message if it is an unfinished translation
if translation_node.get('type') == 'unfinished':
context.remove(message)

# write fixed-up tree
# if diff reduction requested, replace some XML to 'sanitize' to qt formatting
if reduce_diff_hacks:
out = io.BytesIO()
tree.write(out, encoding='utf-8')
out = out.getvalue()
out = out.replace(b' />', b'/>')
with open(filepath, 'wb') as f:
f.write(out)
else:
tree.write(filepath, encoding='utf-8')
return have_errors

if __name__ == '__main__':
check_at_repository_root()
Expand Down
18 changes: 9 additions & 9 deletions contrib/gitian-descriptors/deps-linux.yml
Expand Up @@ -16,8 +16,8 @@ packages:
reference_datetime: "2013-06-01 00:00:00"
remotes: []
files:
- "openssl-1.0.1g.tar.gz"
- "miniupnpc-1.9.tar.gz"
- "openssl-1.0.1k.tar.gz"
- "miniupnpc-1.9.20140701.tar.gz"
- "qrencode-3.4.3.tar.bz2"
- "protobuf-2.5.0.tar.bz2"
- "db-4.8.30.NC.tar.gz"
Expand All @@ -30,24 +30,24 @@ script: |
export TZ=UTC
export LIBRARY_PATH="$STAGING/lib"
# Integrity Check
echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c
echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c
echo "8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c openssl-1.0.1k.tar.gz" | sha256sum -c
echo "26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 miniupnpc-1.9.20140701.tar.gz" | sha256sum -c
echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c
echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c

#
tar xzf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
tar xzf openssl-1.0.1k.tar.gz
cd openssl-1.0.1k
# need -fPIC to avoid relocation error in 64 bit builds
./config no-shared no-zlib no-dso no-krb5 --openssldir=$STAGING -fPIC
# need to build OpenSSL with faketime because a timestamp is embedded into cversion.o
make
make install_sw
cd ..
#
tar xzfm miniupnpc-1.9.tar.gz
cd miniupnpc-1.9
tar xzfm miniupnpc-1.9.20140701.tar.gz
cd miniupnpc-1.9.20140701
# miniupnpc is always built with -fPIC
INSTALLPREFIX=$STAGING make $MAKEOPTS install
rm -f $STAGING/lib/libminiupnpc.so* # no way to skip shared lib build
Expand Down Expand Up @@ -95,4 +95,4 @@ script: |
done
#
cd $STAGING
find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r5.zip
find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r9.zip