aboutsummaryrefslogtreecommitdiff
path: root/contrib/gitian-descriptors
AgeCommit message (Collapse)Author
2020-03-25Merge #18395: scripts: add PE dylib checking to symbol-check.pyWladimir J. van der Laan
1a0993ae354c36d6f219e67f82ca8236530d6201 scripts: add PE dylib checking to symbol-check.py (fanquake) Pull request description: Uses `objdump -x` and looks for `DLL Name:` lines. i.e: ```bash objdump -x src/qt/bitcoin-qt.exe | grep "DLL Name:" DLL Name: ADVAPI32.dll DLL Name: dwmapi.dll DLL Name: GDI32.dll DLL Name: IMM32.dll DLL Name: IPHLPAPI.DLL DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: ole32.dll DLL Name: OLEAUT32.dll DLL Name: SHELL32.dll DLL Name: SHLWAPI.dll DLL Name: USER32.dll DLL Name: UxTheme.dll DLL Name: VERSION.dll DLL Name: WINMM.dll DLL Name: WS2_32.dll ``` ACKs for top commit: dongcarl: Concept ACK 1a0993ae354c36d6f219e67f82ca8236530d6201 hebasto: ACK 1a0993ae354c36d6f219e67f82ca8236530d6201, tested on Linux Mint 19.3: Tree-SHA512: 0099a50e2c616d5239a15cafa9a7c483e9c40244af41549e4738be0f5360f27a2afb956eb50b47cf446b242f4cfc6dc9d111306a056fb83789eefbd71eddabd2
2020-03-22scripts: add PE dylib checking to symbol-check.pyfanquake
2020-03-15build: Drop needless EXTRA_DIST contentHennadii Stepanov
Some EXTRA_DIST content is needless since a git archive is used as the source tarball.
2020-03-12build: Drop SOURCEDIST reorderingHennadii Stepanov
Making SOURCEDIST deterministic is needless since a git archive is used as the source tarball.
2020-03-12build: Use git archive as source tarballHennadii Stepanov
2020-02-13build: pass -fno-ident in Windows gitian descriptorfanquake
This prevents compilers from emitting compiler name and version number info that can needlessly bloat binaries. Accepted by Clang and GCC. See: https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-qn https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fno-ident
2020-02-11Merge #18104: build: Skip i686 build by default in guix and gitianfanquake
fae9084ac5b10f94bdee54853d307838c4254e9c build: Skip i686 build by default in guix and gitian (MarcoFalke) fa55a2554c2661b8f2a759044d5ac85c9979d9ca depends: Remove reference to win32 (MarcoFalke) Pull request description: Closes #17504 Now that we no longer provide downloads for i686 on our website (https://bitcoincore.org/en/download/), there is no need to build them by default. i686 can still be built in depends (tested by ci/travis) and in guix/gitian by setting the appropriate `HOSTS`. ACKs for top commit: practicalswift: ACK fae9084ac5b10f94bdee54853d307838c4254e9c -- patch looks correct dongcarl: ACK fae9084ac5b10f94bdee54853d307838c4254e9c patch looks correct laanwj: Code review ACK fae9084ac5b10f94bdee54853d307838c4254e9c hebasto: ACK fae9084ac5b10f94bdee54853d307838c4254e9c, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: b000c19a2cd2a596a52028fa298c4022c24cfdfc1bdb3795a90916d0a00a32e4dd22278db93790b6a11724e08ea8451f4f05c77bc40d1664518e11a8c82d6e29
2020-02-09build: Skip i686 build by default in guix and gitianMarcoFalke
2020-02-03build: use macOS 10.14 SDKfanquake
Co-Authored-By: Carl Dong <accounts@carldong.me>
2020-01-22Merge #17863: scripts: Add MACHO dylib checks to symbol-check.pyWladimir J. van der Laan
c491368d8cfddf3a5b6d574f10ed67492fcecbed scripts: add MACHO dylib checking to symbol-check.py (fanquake) 76bf97213f4b153dd3ccf1314088a73c4804601d scripts: fix check-symbols & check-security argument passing (fanquake) Pull request description: Based on #17857. This adds dynamic library checks for MACHO executables to symbol-check.py. The script has been modified to function more like `security-check.py`. The error output is now also slightly different. i.e: ```bash # Linux x86 bitcoin-cli: symbol operator new[](unsigned long) from unsupported version GLIBCXX_3.4 bitcoin-cli: export of symbol vtable for std::basic_ios<char, std::char_traits<char> > not allowed bitcoin-cli: NEEDED library libstdc++.so.6 is not allowed bitcoin-cli: failed IMPORTED_SYMBOLS EXPORTED_SYMBOLS LIBRARY_DEPENDENCIES # RISCV (skips exported symbols checks) bitcoin-tx: symbol operator new[](unsigned long) from unsupported version GLIBCXX_3.4 bitcoin-tx: NEEDED library libstdc++.so.6 is not allowed bitcoin-tx: failed IMPORTED_SYMBOLS LIBRARY_DEPENDENCIES # macOS Checking macOS dynamic libraries... libboost_filesystem.dylib is not in ALLOWED_LIBRARIES! bitcoind: failed DYNAMIC_LIBRARIES ``` Compared to `v0.19.0.1` the macOS allowed dylibs has been slimmed down somewhat: ```diff src/qt/bitcoin-qt: /usr/lib/libSystem.B.dylib -/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation -/System/Library/Frameworks/Security.framework/Versions/A/Security -/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics -/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL -/System/Library/Frameworks/AGL.framework/Versions/A/AGL /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon /usr/lib/libc++.1.dylib -/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO /usr/lib/libobjc.A.dylib ``` ACKs for top commit: laanwj: ACK c491368d8cfddf3a5b6d574f10ed67492fcecbed Tree-SHA512: f8624e4964e80b3e0d34e8d3cc33f3107938f3ef7a01c07828f09b902b5ea31a53c50f9be03576e1896ed832cf2c399e03a7943a4f537a1e1c705f3804aed979
2020-01-22Merge #17483: build: Set gitian arch back to amd64MarcoFalke
fae75306bac4c82dd07a1b85ce5dfb020e052fe8 scripted-diff: Set gitian arch back to amd64 (MarcoFalke) Pull request description: This was required to allow gitian builds on non-amd64 architecture, however, it seems to break the current builds (with lxc), see https://github.com/bitcoin/bitcoin/pull/17409#issuecomment-554099626 Also, the gititan builds wouldn't be deterministic across arches anyway, see #17468 So instead of wasting more time on this, revert the change and hope that guix allows to compile on non-amd64 architectures. Top commit has no ACKs. Tree-SHA512: 801e9a30ae1b0882ef45d5eb3a3cf80f3ace3b99db046069dbd95b6162119e977e3cf3134287d1ac5d09483906206acc71e1ac34d6b74dbc533d46aaf73f5cc2
2020-01-04scripts: add MACHO dylib checking to symbol-check.pyfanquake
2020-01-02scripts: add MACHO PIE check to security-check.pyfanquake
2019-12-05gitian: fixed SC2001 regexwillyk
the `-` is not a special symbol and should not have `%` in front of it.
2019-11-28Merge #17361: script: Lint Gitian descriptors with ShellCheckWladimir J. van der Laan
17f81e96486780df5d464487975ecb11b278ec8d script: Enable SC2001 rule for Gitian scripts (Hennadii Stepanov) 61bb21b4181c06b5956b5d6f2f7831e56e4f1cf6 script: Enable SC2155 rule for Gitian scripts (Hennadii Stepanov) 577682d9e8cc07a8db9459a47b01f6c18decba7c script: Enable SC2006 rule for Gitian scripts (Hennadii Stepanov) 14aded46df289e2d05f9fd79c81f2e8ed68a1487 script: Lint Gitian descriptors with ShellCheck (Hennadii Stepanov) Pull request description: This PR extracts shell scripts from Gitian descriptors (`contrib/gitian-descriptors/`) and checks for ShellCheck warnings as any other one. Some non-controversial warnings are fixed. ACKs for top commit: practicalswift: ACK 17f81e96486780df5d464487975ecb11b278ec8d -- diff looks correct Tree-SHA512: bdfa3d35bbb65ff634c90835d75c3df63e958b558599771d21366724f5cf64da83a68957d926e926a99c3704b9529e96a17697dc8d9ff3adf7154d9cb1999a8d
2019-11-27script: Enable SC2001 rule for Gitian scriptsHennadii Stepanov
2019-11-27script: Enable SC2155 rule for Gitian scriptsHennadii Stepanov
Also pwd command is replaced with $PWD variable everywhere for consistency.
2019-11-24build: Add NX workaround for RV64Wladimir J. van der Laan
Work around https://bugs.launchpad.net/ubuntu/+source/gcc-8-cross-ports/+bug/1853740.
2019-11-21build: set minimum supported macOS to 10.12fanquake
2019-11-18Merge #16669: build: use new fork of osslsigncode for windows gitian signingWladimir J. van der Laan
feb507577797518d0bee1774327d215e19d1ba34 build: use osslsigncode 2.0 in gitian (fanquake) Pull request description: The original osslsigncode project, https://sourceforge.net/projects/osslsigncode, has been marked as abandonware: > This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.". However, a fork has emerged, https://github.com/mtrojnar/osslsigncode, that has incorporated theuni's patches ([add the -pem option in extract-signature mode ](https://github.com/mtrojnar/osslsigncode/commit/36715c11836d07709aff822154a0eed2c43ed5a5) & [add the attach-signature command](https://github.com/mtrojnar/osslsigncode/commit/3be7eb1676a8af8afd9e0aa03e4cac651da14c23)) as well as updated the tool to work with OpenSSL 1.1 and other improvements. This commit switches the windows signer descriptor to use this new version of `osslsigncode`. I've tested using this new version of `osslsigncode` while doing a 0.18.1 gitian build, and it "seems" to work. However this needs a look over from Cory, to check if the tool is still compatible with his usage in the [`detached-sig-create.sh`](https://github.com/bitcoin/bitcoin/blob/master/contrib/windeploy/detached-sig-create.sh) script, as well as some review of the changes to `osslsigncode` itself. Hence WIP and chasing Concept ACKs / NACKs. ACKs for top commit: MarcoFalke: Concept ACK feb507577797518d0bee1774327d215e19d1ba34 given that this upstream is now used in Ubuntu and Debian laanwj: ACK feb507577797518d0bee1774327d215e19d1ba34 Tree-SHA512: c48de6dc32751d96dd04b920bfacca40af47a2883330ba0700371d56c580a7e45cedd8d8a913709d56be036762b63cb1825a98cff7aa77b6d7804fab11220850
2019-11-14scripted-diff: Set gitian arch back to amd64MarcoFalke
-BEGIN VERIFY SCRIPT- sed -i -e 's|"linux64"|"amd64"|g' $(git grep -l '"linux64"') -END VERIFY SCRIPT-
2019-11-12doc: Explain $LIB in LD_PRELOAD in gitian descriptorsMarcoFalke
2019-11-07scripted-diff: Avoid hardcoded libfaketime dir in gitianMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i -e "s|'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1'|\"export LD_PRELOAD='/usr/\\\\\$LIB/faketime/libfaketime.so.1'\"|g" $(git grep -l 'x86_64-linux-gnu/faketime') sed -i -e 's|"amd64"|"linux64"|g' $(git grep -l '"amd64"') -END VERIFY SCRIPT-
2019-11-06script: Enable SC2006 rule for Gitian scriptsHennadii Stepanov
2019-10-29nsis: Write to correct filename in first placeCarl Dong
2019-10-21build: use osslsigncode 2.0 in gitianfanquake
The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware, "This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.". However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements. This commit switches the windows signer descriptor to use this new version of osslsigncode.
2019-10-14Merge #16667: build: remove mingw linker workaround from win gitian descriptorMarcoFalke
bd3f5a90ecd6de40516141b23b0861dbba0b31b6 build: remove mingw linker workaround from win gitian descriptor (fanquake) Pull request description: This workaround was added as part of the switch to gitian building using Ubuntu 14.04 (#6900). However, it should no longer be required, as we have switched to Bionic (#13171) and that has a far newer version of binutils. Original discussion: https://github.com/bitcoin/bitcoin/pull/6900 binutils patch: https://sourceware.org/bugzilla/show_bug.cgi?id=16192 ACKs for top commit: MarcoFalke: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 theuni: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 laanwj: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 Tree-SHA512: 01a5789994decf8cdedf7aaa0a449d2100a77e2e6b422d6b9dd5a4ac3e2e0b538c3d43aae4a1c3713614782f3c6b09d8d8bb21c20e86ce3c1734183dedd02d0c
2019-10-09Merge #17029: gitian: Various improvements for Windows descriptorWladimir J. van der Laan
9d1f971c7554bd5eb80792a1b9a692e0145ed516 gitian: Put things in the right place to begin with (Carl Dong) 71949a97a7d050d4cd511731062a9ffe471ac438 gitian: Eliminate rename dependency (Carl Dong) 999a9a5f5b4165dbdcb032c8d58c0ac1085ddcd1 gitian: Smaller diff with gitian-linux.yml (Carl Dong) c4a3c25ba11b20871699e570fc7b98a7b8472503 gitian: Fix README inclusion in archives (Carl Dong) 93cb974980c578c459c15fd28e565c9722a1627d gitian: Use split-debug.sh for Win builds (Carl Dong) Pull request description: It would seem that our `gitian-win.yml` has not been keeping up with `gitian-linux.yml`, this PR: 1. Minimizes the diff size between `gitian-{win,linux}.yml` 2. Eliminates the `rename` dependency ACKs for top commit: laanwj: ACK 9d1f971c7554bd5eb80792a1b9a692e0145ed516 Tree-SHA512: 84ed47c685e12d0064c02811907ae3d0fd3c47db8773d497dcc38f0defbfb3040fd82899fb026cf355f229b906d05a1c8038a95642bb90d044afbc2e0b239af2
2019-10-08gitian: Put things in the right place to begin withCarl Dong
2019-10-08gitian: Eliminate rename dependencyCarl Dong
2019-10-08gitian: Smaller diff with gitian-linux.ymlCarl Dong
2019-10-08gitian: Fix README inclusion in archivesCarl Dong
Linux: The README was originally added in 8550f1fb2, but included the README under the docs directory, which has a bunch of internal links that won't make sense in a release tarball. In this patch, we include the root level README instead, which makes more sense. Windows: .md files are inconvenient to open on windows and the line endings differ, so we use README_windows.txt instead.
2019-10-04build: Bump gitian descriptor versionsMarcoFalke
2019-10-02gitian: Use split-debug.sh for Win buildsCarl Dong
Debug splitting was first introduced in 7e7eb2724, then gitian-linux.yml changed to using split-debug.sh in 9d2536208. Here we change gitian-win.yml to use split-debug.sh as well.
2019-09-23build: remove mingw linker workaround from win gitian descriptorfanquake
This workaround was added as part of the switch to gitian building using Ubuntu 14.04 (#6900). However, it should no longer be required, as we have switched to Bionic (#13171), and that has a far newer version of binutils. binutils patch: https://sourceware.org/bugzilla/show_bug.cgi?id=16192
2019-06-10scripted-diff: gitian: Use REFERENCE_DATETIME directly.Carl Dong
Fixes regression introduced by #16141 -BEGIN VERIFY SCRIPT- sed -i 's#\$REFERENCE_DATE\\\\\\ \$REFERENCE_TIME#\$REFERENCE_DATETIME#g' contrib/gitian-descriptors/* -END VERIFY SCRIPT-
2019-06-05depends: remove usage of TAR_OPTIONSfanquake
2019-06-03build: remove export GZIP from gitian descriptorsfanquake
2019-05-03Remove Windows 32 bit buildMarcoFalke
2019-03-16Set 'distro' explicitlyHennadii Stepanov
2019-03-09Merge #15549: gitian: Improve error handlingWladimir J. van der Laan
32da92bdf6bb55d6d312b0f85797d439cc942db5 gitian: Improve error handling (Wladimir J. van der Laan) Pull request description: Improve error handling in gitian builds: - Set fail-on-error and pipefail flag, this causes a command to fail when either of the pipe stages fails, not only when the last of the stages fails, so this improves error detection. - Also use `xargs` instead of `find -exec`, because `find` will not propagate errors in the executed command, but `xargs` will. This will avoid some issues like #15541 where non-determinism is silently introduced due to errors caused by environment conditions (such as lack of disk space in that case). Tree-SHA512: d5d3f22ce2d04a75e5c25e935744327c3adc704c2d303133f2918113573a564dff3d3243d5569a2b93ee7eb0e97f8e1b1ba81767e966af9015ea711a14091035
2019-03-08Merge #15528: contrib: Bump gitian descriptors for 0.19MarcoFalke
fa58a2e335 contrib: Bump gitian descriptors for 0.19 (MarcoFalke) Pull request description: Bump the cache directory (as in 263b3777e7) Tree-SHA512: 2f9a4f8c14c3c6cef30bcdfed638486c6b957068b1e2380cbde1719c9bf8b53bcaff35833272a879af5b031e3ea0a32cc16f78cc7e4d7399037de89132311c5b
2019-03-07gitian: Improve error handlingWladimir J. van der Laan
2019-03-04contrib: Bump gitian descriptors for 0.19MarcoFalke
2019-03-02build: Require python 3.5MarcoFalke
2018-08-31Merge #14037: Add README.md to linux release tarballsWladimir J. van der Laan
8550f1fb28292a081aab3f49ba2fb561710c4572 Add README.md to linux release tarballs (Hennadii Stepanov) Pull request description: fix #8160 Gitian building report for 0.17.0rc2: ``` 7d89d7dc3488915ec2380253a69fb3b8f8065592e24c5b2a99a91da30f2142cc bitcoin-0.17.0-aarch64-linux-gnu-debug.tar.gz fcb292fd2c4fca88e5cc5a97ee7fa3390d3c7221aada166fe7822d64a2ee9dfa bitcoin-0.17.0-aarch64-linux-gnu.tar.gz 0ec6f979a823a6b6084d2e80605dffd3ccdda359e8459cebec25092c1087348f bitcoin-0.17.0-arm-linux-gnueabihf-debug.tar.gz 45af8757a2315125afe2f4d4f276d9b9cf616b8ab814284ce2f82b9a345971d8 bitcoin-0.17.0-arm-linux-gnueabihf.tar.gz b37b6d9bda864af968dfab6eebb245e75ecc56eb18b139b946270933381ea288 bitcoin-0.17.0-i686-pc-linux-gnu-debug.tar.gz 20c96a5509eeb3e8ec505f18914ef9231beef1fec5e9e1c4b33ec6c6b613d146 bitcoin-0.17.0-i686-pc-linux-gnu.tar.gz d505888594a04dab2b34ccd6863b8f25eb97d9cb76650e39d93f4d6c09d4c55a bitcoin-0.17.0-x86_64-linux-gnu-debug.tar.gz f55b16716c3295e309c816e170911380a5a26e9be3a336b213f2f412f0b159b3 bitcoin-0.17.0-x86_64-linux-gnu.tar.gz 01c6b5ce15b9f3fcdcce96baae14eb04ab2605f2294d333e96b66e004594eea6 src/bitcoin-0.17.0.tar.gz ``` Release tarball content: ``` $ tar -tf bitcoin-binaries/0.17.0rc2/bitcoin-0.17.0-x86_64-linux-gnu.tar.gz bitcoin-0.17.0/ bitcoin-0.17.0/bin/ bitcoin-0.17.0/bin/bitcoin-cli bitcoin-0.17.0/bin/bitcoind bitcoin-0.17.0/bin/bitcoin-qt bitcoin-0.17.0/bin/bitcoin-tx bitcoin-0.17.0/bin/test_bitcoin bitcoin-0.17.0/include/ bitcoin-0.17.0/include/bitcoinconsensus.h bitcoin-0.17.0/lib/ bitcoin-0.17.0/lib/libbitcoinconsensus.so bitcoin-0.17.0/lib/libbitcoinconsensus.so.0 bitcoin-0.17.0/lib/libbitcoinconsensus.so.0.0.0 bitcoin-0.17.0/README.md bitcoin-0.17.0/share/ bitcoin-0.17.0/share/man/ bitcoin-0.17.0/share/man/man1/ bitcoin-0.17.0/share/man/man1/bitcoin-cli.1 bitcoin-0.17.0/share/man/man1/bitcoind.1 bitcoin-0.17.0/share/man/man1/bitcoin-qt.1 bitcoin-0.17.0/share/man/man1/bitcoin-tx.1 ``` Tree-SHA512: 2a0c069d6533502a95a83eaba57b9828bddd03ab4a4fc47027b0068c9f04837f107abc448d82c929aa1f45441d2459cf6f2ad74b97a4d953f66dc81031bd521a
2018-08-28Add README.md to linux release tarballsHennadii Stepanov
fix #8160
2018-08-25[contrib] Support ARM and RISC-V symbol checkChun Kuan Lee
2018-08-16Merge #13665: [build] Add risc-v support to gitianWladimir J. van der Laan
c4aecd1d80801f3e3dd4bde887b5d1a11e8452b7 Add risc-v 64-bit to gitian (Chun Kuan Lee) 96dda8b0589affb88a909aaf62e95bebc4c18ba2 [depends] Add riscv qt depends support for cross compiling bitcoin-qt (Chun Kuan Lee) Pull request description: Based on ~#13660~ #13710 , add gitian tarball for RISC-V Tree-SHA512: 8db73545a2ea7fe03fa156598479335ea3c79aa3fb9c5cc44b8563094b1deb7c94d29c1dab47fac129dbfa2e3e774301b526474beeeb59c9b0087d3ea087dbd6
2018-08-13gitian: bump descriptors for (0.)18fanquake