Commit Graph

92 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Wladimir J. van der Laan
490d6a3046
Merge pull request #3545
1cbbeb6 gitian: Add openssl to linux deps (Wladimir J. van der Laan)
64be7f7 gitian: Build boost dependency for linux (Wladimir J. van der Laan)
7eb99a8 gitian: Reduce build time for boost windows dependency (Wladimir J. van der Laan)
714cdec build: Pass BOOST_CPPFLAGS to sleep implementation test (Wladimir J. van der Laan)
0d40f5a build: Allow providing extra libs for Boost Chrono (Wladimir J. van der Laan)
e4b991e build: Auto-detect whether -DBOOST_TEST_DYN_LINK is needed (Wladimir J. van der Laan)
2014-01-18 16:02:31 +01:00
Wladimir J. van der Laan
77f1b4ae19 gitian: add optimization to win32 protobuf
When overriding CXXFLAGS, also provide optimization flags, otherwise
we're building without optimization.
2014-01-18 13:16:08 +01:00
Wladimir J. van der Laan
1cbbeb6a27 gitian: Add openssl to linux deps
Build OpenSSL instead of using distribution-provided
library.
2014-01-16 12:45:04 +01:00
Wladimir J. van der Laan
64be7f7892 gitian: Build boost dependency for linux
Instead of using the boost provided by Ubuntu 12.04, build our own
dependency like we do for Windows.

This allows using a much newer version (1.55 versus 1.46) as well as
building with `-fPIC` so that `-pie` can be used in the x86-64 build.
2014-01-16 12:45:03 +01:00
Wladimir J. van der Laan
7eb99a844f gitian: Reduce build time for boost windows dependency
Build only the mt-s (multithreaded, static runtime link)
variant of the library.

This cuts the build time in half.

Also prevent unpacked boost from ending up in output directory,
checking and hashing all the source files as output files this
takes a lot of time and is pointless.
2014-01-16 12:45:03 +01:00
Micha
f4e72bf8d2
Make gitian builds consistent across platforms
Change Linux deps to use a zip archive rather than a gzipped tarball to
match win32
Rename Linux descriptor to gitian-linux.yml to match win32
2014-01-15 22:56:17 +02:00
Wladimir J. van der Laan
4b4b578cb3
Merge pull request #3536
0425715 gitian: add explicit dependency build for linux (Wladimir J. van der Laan)
279af1a build: use Ubuntu 12.04 for linux gitian build (Wladimir J. van der Laan)
2014-01-15 14:29:19 +01:00
Wladimir J. van der Laan
04257151b1 gitian: add explicit dependency build for linux
Create a dependency file per architecture:

- bitcoin-deps-linux32-gitian-r1.tar.gz
- bitcoin-deps-linux64-gitian-r1.tar.gz
2014-01-15 12:39:01 +01:00
Wladimir J. van der Laan
279af1a2af build: use Ubuntu 12.04 for linux gitian build 2014-01-14 15:12:44 +01:00
Wladimir J. van der Laan
1e3abb4e3d build: upgrade Qt used by windows build to 5.2.0 2014-01-14 11:03:21 +01:00
Wladimir J. van der Laan
2f158dfc93 build: Update the other win32 deps
- miniupnpc-1.8
- openssl-1.0.1e
- zlib-1.2.8
- libpng-1.6.8
- qrencode-3.4.3
2014-01-14 11:03:21 +01:00
Wladimir J. van der Laan
5c72e3df3c
Merge pull request #3501
56fce1f Upgrade gitian win32 to boost-1.55. (Warren Togami)
2014-01-10 11:35:59 +01:00
Wladimir J. van der Laan
0d512a9ee7 gitian: Add -O2 for win32 build
In the win32 gitian descriptor the C*FLAGS are being overridden on
`configure`, which causes the built-in optimization flags to be removed.
Add `-O2` manually (but not `-g` as we're not doing anything with the
debug information).

Improves performance of win32 gitian builds.

As a bonus, fixes issue #3497.
2014-01-10 09:41:15 +01:00
Warren Togami
56fce1fdbb Upgrade gitian win32 to boost-1.55.
Fixes issue where all network activity just stops.
2014-01-09 14:18:43 -10:00
Michagogo
c51e49b1a3 Fix file hash verification error in deps-win32.yml
libpng was being sha256summed twice, and miniupnpc wasn't being checked at all.
2013-12-03 02:04:50 +02:00
Warren Togami
b31482844b Check integrity of gitian input source tarballs 2013-10-31 17:56:55 -10:00
super3
27e2d8bfb5 Finished /Contrib Index. Standardized READMEs.
File and Link Fix.
2013-10-15 23:37:30 -04:00
Warren Togami
738b8598ae Hardcode string in miniupnpcstring.h and remove wine requirement from deps-win32.yml
Credit: sipa, cfields, Luke-Jr and michagogo contributed to this fix.

Removing wine as a win32 build dep is beneficial to fixing Gitian LXC,
which would enable many more people to join in the gitian.sigs process
by being able to build with a linux VM instead of a virt capable host.
2013-09-30 22:05:20 -10:00
Warren Togami
b5ab7f34f8 Fix gitian qt-win32.yml build
The final revision of PR 3029 incorporated a review suggestion of replacing
i686-w64-mingw32 with $HOST. But we forgot that $HOST is not expanded when
within single quotes so it actually broke qt-win32.yml build.  This is the
minimal changes necessary to fix the qt-win32.yml build.
2013-09-30 18:01:05 -10:00
Gavin Andresen
b2180d82a4 Merge pull request #3029 from wtogami/gitianwin32
Upgrade gitian win32 to Precise 12.04.
2013-09-29 01:44:07 -07:00
fanquake
cd4d495ed4 Update Qt 4.8.3 download link 2013-09-27 09:38:44 +08:00
Warren Togami
f2bc1d35d6 Upgrade gitian win32 to boost-1.54.0
Workaround 1.54.0 build bug, upstream #9156
Workaround 1.51.0+ human bug, upstream #7262

This commit also demonstrates a method to verify the integrity of inputs.
2013-09-26 04:10:17 -10:00
Warren Togami
af6c2c71ed Upgrade gitian win32 to Precise 12.04.
mingw upgrade allows more hardening, compiler bug fixes and possibily win64 later.
Rename deps .zip files to be more consistent in revision format.
Boost #4258 build fix for mingw32
2013-09-25 23:52:56 -10:00
Gavin Andresen
d969c2c073 Fix gitian: bitcoin-deps is at version 0.0.7 2013-09-19 12:40:02 +10:00
Cory Fields
7f1c162aae gitian: remove obsolete --disable-debug flag 2013-09-18 15:37:54 -04:00
Cory Fields
8d36b2dcfb gitian: fix win32 build after configure bdb changes
bitcoin incorrectly linked against the dll after the configure changes, so
ensure that only the static lib is installed.
2013-09-18 15:36:48 -04:00
Cory Fields
08081e393b included-tests: update gitian descriptors for hexdump dependency 2013-09-16 12:53:11 -04:00
Philip Kaufmann
d78900cc1b fix some cosmetic glitches in the codebase
- rename URL into URI in paymentserver where correct
- add some missing Qt-coding-stuff in paymentserver
- change QSpinBox to QLineEdit as base for BitcoinAmountField in .ui files
  (as this is the result when converting the BAF back into base)
- remove some c_str() and replace with QString::fromStdString()
- remove several new-lines
- remove unneeded spaces
- indentation fixes
2013-09-09 12:36:04 +02:00
Gavin Andresen
8394f4a2dc Merge pull request #2977 from laanwj/2013_09_release_process_protobuf
Add protobuf 2.5.0 download to gitian release process
2013-09-08 17:31:04 -07:00
Cory Fields
35b8af9226 autotools: switch to autotools buildsystem 2013-09-05 21:31:03 -04:00
Wladimir J. van der Laan
51c2fa16bb Qt 4.8.3 r2 in gitian and release process
Also needed to add `unzip` package for the added unzip command for
OpenSSL in the Qt build.
2013-09-05 14:38:59 +02:00
Gavin Andresen
a41d5fe019 Payment Protocol: X509-validated payment requests
Add support for a Payment Protocol to Bitcoin-Qt.

Payment messages are protocol-buffer encoded and communicated over
http(s), so this adds a dependency on the Google protocol buffer
library, and requires Qt with OpenSSL support.
2013-08-22 16:18:25 +10:00
Gavin Andresen
36dc41f427 doc/README was replaced by README.md 2013-05-22 17:21:12 -04:00
Warren Togami
5ada394edf gitian deps-win32.yml needs psmisc package for killall to end the build 2013-05-22 00:20:07 -10:00
Gavin Andresen
efb6d9aae7 Minor build fixes
Two changes: make some linux-specific linker options linux and linker specific.
And in the cross-compile environment, prefer the $HOME/qt/bin tools to
whatever might be somewhere else in the path.
2013-02-15 19:55:44 -05:00
Gavin Andresen
fbd860287e Pass compiler flags down into leveldb make
Fixes issue#2288. Includes cleanups from Luke's pull 2243.
2013-02-15 19:55:44 -05:00
Matt Corallo
b478337312 Undo bad gitian update. 2012-10-29 16:36:25 -04:00
Matt Corallo
325a064c68 Upgrade to Qt 4.8.3 (because 4.8.2 was removed from qt repos?) 2012-10-29 15:43:18 -04:00