Commit graph

275 commits

Author SHA1 Message Date
Wladimir J. van der Laan
51cb8fe870
gitian: use right qt tools in linux build
If the `libqt4-dev` package is installed it picks the moc executable
from the system instead of our custom-built one. This results in
compatibility errors.

This commit convinces configure to pick the right one.
2014-05-02 15:15:45 +02:00
Wladimir J. van der Laan
583df73acd
Merge pull request #4110
3a54ad9 Full translation update (Wladimir J. van der Laan)
9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
2014-05-02 11:50:59 +02:00
Wladimir J. van der Laan
9dd5d79244 devtools: add a script to fetch and postprocess translations
Run this script from the root of the repository to update all translations from transifex.
It will do the following automatically:

- create a transifex configuration file
- fetch all translations
- post-process them into valid and committable format
2014-05-01 10:16:06 +02:00
Wladimir J. van der Laan
202c95c216 devtools: have symbol check script check for exported symbols
After last commit, our executables should export no symbols anymore.  To
make sure that this stays the case, verify this in the symbol checker
script.
2014-04-30 15:30:39 +02:00
Wladimir J. van der Laan
92e3022f88 gitian: don't export any symbols from executable
This avoids conflicts between the libraries statically linked into bitcoin and any
libraries we may link dynamically (such as Qt and OpenSSL, see issue #4094).
It also avoids start-up overhead to not export any unnecessary symbols.
To do this, build a linker script that marks all symbols as local.
2014-04-30 15:30:39 +02:00
Wladimir J. van der Laan
3ab1664594 gitian: build against Qt 4.6
Should make it possible to run the resulting GUI executable on
Linux distributions that use Qt 4.6, such as Debian Wheezy and Tails.

Builds a mini-SDK for building against Qt 4.6. This includes the headers
as well as host utilities such as `lrelease`, `qrc` and `moc`.

This speeds up the gitian build a bit - libqt4-dev pulled in a lot of packages,
and is no longer needed as this provides a replacement of our own.

Note: This does not replace the Qt build with at static library. After this
commit we still build dynamically against the system Qt library. The only
difference is that compatibility with an older version is maintained. This
loses minor GUI functionality (such as setPlaceholderText) but still
allows integration into the window management of the host OS, unlike
when statically linking.
2014-04-30 15:30:39 +02:00
Wladimir J. van der Laan
7cbe636a23
Merge pull request #4089
74fc254 devtools: add script to check symbols from Linux gitian executables (Wladimir J. van der Laan)
2014-04-27 17:08:41 +02:00
Matt Corallo
6e40fcf455 Update contrib/debian for autotools, among a few other tweaks 2014-04-26 20:18:18 -04:00
Wladimir J. van der Laan
74fc254c2b devtools: add script to check symbols from Linux gitian executables
Add a script to check that the (Linux) executables produced by gitian
only contain allowed gcc, glibc and libstdc++ version symbols.  This
makes sure they are still compatible with the minimum supported Linux
distribution versions.
2014-04-25 12:19:37 +02:00
Wladimir J. van der Laan
bbe53f61db
Merge pull request #4042
05c20a5 build: add symbol for upcoming gcc 4.9's libstdc++ (Cory Fields)
49a3352 gitian-linux: --enable-glibc-back-compat (Warren Togami)
d5aab70 build: add an option for enabling glibc back-compat (Cory Fields)
ffc6b67 build: add glibc/libstdc++ back-compat stubs (Cory Fields)
2014-04-22 16:24:43 +02:00
Wladimir J. van der Laan
91c601c54a
Merge pull request #4035
0f63504 Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input. Getpass is in Python stdlib so no additional dependencies required. (Eric S. Bullington)
2014-04-22 16:18:27 +02:00
super3
494cbf8350 /contrib index reorg
Cleaner and easier to read.

Reordered by functionality
2014-04-14 01:33:24 -04:00
Warren Togami
49a3352c1c gitian-linux: --enable-glibc-back-compat 2014-04-10 22:28:26 -04:00
Eric S. Bullington
0f63504463 Changed bitrpc.py's raw_input to getpass for passwords to conceal characters during command line input. Getpass is in Python stdlib so no additional dependencies required. 2014-04-09 10:01:47 -04:00
Wladimir J. van der Laan
25d4911e86 gitian: upgrade miniupnpc input to 1.9
Bumps deps-linux, deps-win dependency versions as well.

qt-win does not need to be bumped, as although it depends on deps-win,
Qt doesn't use miniupnp. I verified this by rebuilding the dependency
and checking the the output is the same. Not having to rebuild Qt is a
good thing as it is huge.
2014-04-09 14:24:17 +02:00
Wladimir J. van der Laan
178825dec3
gitian: Version bump for Qt dependency
Bump Qt dependency version after OpenSSL update.
Very important. Thanks @michagogo for noting.
2014-04-08 11:51:59 +02:00
Wladimir J. van der Laan
fa2b42533a
Merge pull request #4023
4a811b0 gitian: upgrade openssl to 1.0.1g for both win and linux (Wladimir J. van der Laan)
2014-04-08 10:56:01 +02:00
Wladimir J. van der Laan
dac4e2aebd
Merge pull request #3914
ddcd1af gitian: add statically built variant of bitcoind/bitcoin-cli (Wladimir J. van der Laan)
2014-04-08 10:55:34 +02:00
Wladimir J. van der Laan
4a811b0053
gitian: upgrade openssl to 1.0.1g for both win and linux
OpenSSL 1.0.1g fixes CVE-2014-0160.

Also bump dependency versions.
2014-04-08 08:40:02 +02:00
Andreas Schildbach
2a9edeb1c8 Remove weights from download config for now as it's unclear how it will be used in future. 2014-03-30 14:24:16 +02:00
Andreas Schildbach
5d433613e2 Add Andreas Schildbach to gitian download scripts. 2014-03-30 14:24:16 +02:00
Wladimir J. van der Laan
ddcd1afc5f gitian: add statically built variant of bitcoind/bitcoin-cli 2014-03-26 09:48:22 +01:00
Wladimir J. van der Laan
c337e2e905 Update gitian README.md 2014-03-21 13:31:22 +01:00
Cory Fields
01e5327cfc build: hook up "make deploy" for cross osx builds 2014-03-20 13:06:17 -04:00
Cory Fields
0f21d39ffa build: fix qt.conf case-sensitivity in the deployed dmg
For qt5.2 on osx, the qcocoa plugin is mandatory. However, it fails to load
when qt.conf specifies the "plugin" path instead of the expected "Plugin". This
is in line with the documentation:
https://qt-project.org/doc/qt-5.0/qtdoc/qt-conf.html

I'm not sure how the plugins were loading before, unless the case-sensitivity
for OSX is new.
2014-03-20 13:06:16 -04:00
Cory Fields
275d6a3115 build: allow correct tools to be used for dmg creation.
These come from the enironment, which will be properly setup by Make with
the paths gleaned from configure.
Also don't crash if plugins are static.
2014-03-20 13:06:16 -04:00
Wladimir J. van der Laan
6041fc85ea
Merge pull request #3751
b881100 convert tabs to whitespace in bitrpc.py (Bryan Bishop)
2014-03-10 09:34:51 +01:00
Wladimir J. van der Laan
d33f69a447
Merge pull request #3796
16bfd68 update bash-completion for v0.9 (Christian von Roques)
2014-03-07 09:26:10 +01:00
Christian von Roques
16bfd689d0 update bash-completion for v0.9
Recognize completable arguments of new and expanded commands.
Now that bitcoin-cli(1) exists, add completion for it as well.
2014-03-04 14:10:35 -04:00
Wladimir J. van der Laan
93c3e21e92 Re-enable UPnP by default in gitian builds
IIRC this was the case with 0.8.6, so let's keep this to avoid the risk
of losing connectable nodes with 0.9 release.

Also our miniupnpc library was recently updated and I've heard
reports that it works better than before now.
2014-02-27 15:44:00 +01:00
Bryan Bishop
b881100aab convert tabs to whitespace in bitrpc.py
This is a minor change to bitrpc.py to conform with the formatting of
the other python source code in the repo.
2014-02-26 10:40:46 -06:00
Wladimir J. van der Laan
31b3d94ef5 gitian: Make protobuf win32 intermediate output deterministic
While building protobuf in different environments we noticed that
the host tool protoc was slightly different between builds (a symbol table
sorting issue).
Add a deterministic seed as well as disable zlib support.

Exected output is now:

    e2e403e1a08869c7eed4d4293bce13d51ec6a63592918b90ae215a0eceb44cb4 protobuf-win32-2.5.0-gitian-r4.zip
    a0999037e8b0ef9ade13efd88fee261ba401f5ca910068b7e0cd3262ba667db0 protobuf-win64-2.5.0-gitian-r4.zip

No effect on final executables so no version bump.
2014-02-25 07:58:11 +01:00
Wladimir J. van der Laan
0f0a70623d
Merge pull request #3728
6c0276a gitian: add libz-dev dependency package for linux boost (Wladimir J. van der Laan)
2014-02-23 09:02:13 +01:00
freewil
6fe6a448ea fix broken link to contrib/devtools 2014-02-22 23:26:11 -08:00
Wladimir J. van der Laan
6c0276ae69 gitian: add libz-dev dependency package for linux boost
Boost iostreams was picking up libz-dev in VirtualBox, as the recommended
way to build is now to make a VM with all dependency packages installed.

This caused a divergence between KVM/LXC build and VirtualBox
build results.

Fix this in the simplest possible way: add the libz-dev package.
2014-02-22 08:18:07 +01:00
Wladimir J. van der Laan
256a71b835
Merge pull request #3649
3078b58 linearize.py: Harmonize rpcpass to rpcpassword (Subo1978)
2014-02-17 10:52:41 +01:00
Wladimir J. van der Laan
b8d9058a4d
Merge pull request #3646
5770254 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does. (gubatron)
2014-02-16 11:44:48 +01:00
Wladimir J. van der Laan
d5fa3eff03
Merge pull request #3622
c13a13e gitian: add -D flag to ar for deterministic output for linux deps (Wladimir J. van der Laan)
1552145 gitian: Sort generated source distribution archive (Wladimir J. van der Laan)
aabcd11 gitian: Make linux boost dependency completely deterministic (Wladimir J. van der Laan)
aa93485 gitian: Make linux build of OpenSSL deterministic (Wladimir J. van der Laan)
2014-02-10 18:35:04 +01:00
Wladimir J. van der Laan
4ce9106ff8 gitian: sort generated source distribution archive for windows
Make the bitcoin-X.X.X.tar.gz deterministic.
2014-02-10 17:07:36 +01:00
Wladimir J. van der Laan
6b55e6b97d gitian: Post-process .a libraries for win to be deterministic 2014-02-10 17:07:35 +01:00
Wladimir J. van der Laan
c13a13efec gitian: add -D flag to ar for deterministic output for linux deps
ar -D: Operate in deterministic mode. When adding files and the archive
index use zero for UIDs, GIDs, timestamps, and use consistent file modes
for all files.  When this option is used, if ar is used with identical
options and identical input files, multiple runs will create identical
output files regardless of the input files' owners, groups, file modes,
or modification times.
2014-02-10 16:20:13 +01:00
Subo1978
3078b582cc linearize.py: Harmonize rpcpass to rpcpassword
linearize.py: harmonize rpcpass to rpcpassword according settings in
bitcoin.conf
2014-02-10 15:52:31 +01:00
Wladimir J. van der Laan
1552145ae5 gitian: Sort generated source distribution archive
Sort the filenames in the resulting tar, normalize the time/date
and user/group information.
2014-02-10 10:01:06 +01:00
gubatron
57702541a2 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014.
contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
2014-02-09 21:06:06 -05:00
Wladimir J. van der Laan
c43d1e5549 gitian: Make windows dependencies outputs fully deterministic
Sort .zip order, and other determinism changes to make sure builds
are repeatable for windows deps.
2014-02-08 09:33:05 +01:00
Wladimir J. van der Laan
aabcd11ba6 gitian: Make linux boost dependency completely deterministic
It appears that the output was different every time.

This doesn't affect the final bitcoind/bitcoin-qt, but is confusing
nevertheless.

Fix it by using FAKETIME and zipping files in deterministic order.
2014-02-06 19:37:17 +01:00
Wladimir J. van der Laan
aa9348563c gitian: Make linux build of OpenSSL deterministic
OpenSSL was embedding a timestamp causing its build to be
non-deterministic.
Change deps-linux to be deterministic by using FAKETIME
as needed and disabling it when it gets in the way.
2014-02-06 19:37:16 +01:00
Wladimir J. van der Laan
65615a3a78 Gitian fixes for 0.9.0rc1 build
- Add 'g++' package (virtualbox images don't have this by default)
- Workaround for determinism in Qt5 resources
- Pass --disable-maintainer-mode --disable-dependency-tracking to
  configure for libqrencode to avoid random errors about missing m4
  directory
- Fix typo -with-pic -> --with-pic

It is not necessary to rebuild dependencies after this commit.
Fixes #3610 and #3612.
2014-02-03 14:43:51 +01:00
Wladimir J. van der Laan
f9a2f08882 Bump version numbers for 0.9.0rc1 release 2014-01-29 16:09:11 +01:00
Wladimir J. van der Laan
f622232bcf gitian: Windows 64 bit support
- Build a 64 bit version of all dependencies
- Show 32/64 bit version in "About..." for x86
- Export 64-bit .exes and installer from gitian build
2014-01-21 14:02:13 +01:00