Page MenuHomePhabricator

build: use a static .tiff for macOS .dmg rather than generating
ClosedPublic

Authored by PiRK on May 30 2023, 13:24.

Details

Summary

Commands used to generate the tiff:

sed 's/${PACKAGE_NAME}/Bitcoin ABC/' contrib/macdeploy/background.svg.cmake.in > background.svg
rsvg-convert -f png -d 36 -p 36 background.svg -o background_temp.png
rsvg-convert -f png -d 72 -p 72 background.svg -o background_temp@2x.png
convert background_temp.png background_temp.tiff
convert background_temp@2x.png background_temp@2x.tiff
tiffcp -c none background_temp.tiff  background_temp@2x.tiff background.tiff

This is a backport of core#23909

Depends on D13956

Test Plan

gitian-osx build-osx

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.May 30 2023, 13:24

remove ImageHelper.cmake

Tail of the build log:

/work/depends/x86_64-apple-darwin19/native/bin/x86_64-apple-darwin19-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
[812/838] Automatic MOC for target bitcoin-qt
[813/838] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[814/838] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Widgets/Qt5Widgets_QMacStylePlugin_Import.cpp.o
[815/838] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Gui/Qt5Gui_QCocoaIntegrationPlugin_Import.cpp.o
[816/838] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin_Import.cpp.o
[817/838] Automatic MOC for target test_bitcoin-qt
[818/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[819/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[820/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[821/838] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[822/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin_Import.cpp.o
[823/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[824/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Gui/Qt5Gui_QCocoaIntegrationPlugin_Import.cpp.o
[825/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/__/depends/x86_64-apple-darwin19/lib/cmake/Qt5Widgets/Qt5Widgets_QMacStylePlugin_Import.cpp.o
[826/838] Linking CXX executable src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt
ld: warning: direct access in function 'payments::X509Certificates::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'payments::Payment::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'PaymentServer::fetchPaymentACK(interfaces::Wallet&, SendCoinsRecipient const&, QByteArray)' from file 'src/qt/libbitcoin-qt-base.a(paymentserver.cpp.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(arenastring.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
[826/838] Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /results/artifacts/lib/libbitcoinconsensus.0.27.6.dylib
-- Installing: /results/artifacts/lib/libbitcoinconsensus.0.dylib
-- Installing: /results/artifacts/lib/libbitcoinconsensus.dylib
-- Installing: /results/artifacts/include/bitcoinconsensus.h
-- Installing: /results/artifacts/bin/bitcoin-wallet
-- Installing: /results/artifacts/bin/bitcoin-seeder
-- Installing: /results/artifacts/bin/bitcoin-cli
-- Installing: /results/artifacts/bin/bitcoin-tx
-- Installing: /results/artifacts/bin/bitcoind
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Info.plist
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/MacOS
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources/Base.lproj
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources/Base.lproj/InfoPlist.strings
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources/Base.lproj/InfoPlist.strings/InfoPlist.strings
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources/empty.lproj
-- Installing: /results/artifacts/bin/BitcoinABC-Qt.app/Contents/Resources/bitcoin.icns
[828/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[829/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[830/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[831/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[832/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[833/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[834/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[835/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[836/838] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[837/838] Linking CXX executable src/qt/test/test_bitcoin-qt
ld: warning: direct access in function 'payments::X509Certificates::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'payments::Payment::_InternalParse(char const*, google::protobuf::internal::ParseContext*)' from file 'src/qt/libbitcoin-qt-base.a(paymentrequest.pb.cc.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'PaymentServer::fetchPaymentACK(interfaces::Wallet&, SendCoinsRecipient const&, QByteArray)' from file 'src/qt/libbitcoin-qt-base.a(paymentserver.cpp.o)' to global weak symbol 'void google::protobuf::internal::arena_destruct_object<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(void*)' from file '../../depends/x86_64-apple-darwin19/lib/libprotobuf.a(repeated_field.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
[838/838] Installing component bitcoin-qt-test_bitcoin-qt
-- Install configuration: "RelWithDebInfo"
-- Install component: "bitcoin-qt-test_bitcoin-qt"
-- Installing: /results/artifacts/bin/test_bitcoin-qt
ninja: error: 'dist/.DS_Store', needed by 'src/qt/CMakeFiles/osx-deploydir', missing and no known rule to make it
Build build-osx failed with exit code 1

Tail of the build log:

 * [new tag]             phabricator/diff/40407 -> phabricator/diff/40407
 * [new tag]             phabricator/diff/40408 -> phabricator/diff/40408
 * [new tag]             phabricator/diff/40409 -> phabricator/diff/40409
 * [new tag]             phabricator/diff/40411 -> phabricator/diff/40411
 * [new tag]             phabricator/diff/40412 -> phabricator/diff/40412
 * [new tag]             phabricator/diff/40413 -> phabricator/diff/40413
 * [new tag]             phabricator/diff/40414 -> phabricator/diff/40414
 * [new tag]             phabricator/diff/40419 -> phabricator/diff/40419
 * [new tag]             phabricator/diff/40422 -> phabricator/diff/40422
 * [new tag]             phabricator/diff/40428 -> phabricator/diff/40428
 * [new tag]             phabricator/diff/40429 -> phabricator/diff/40429
 * [new tag]             phabricator/diff/40431 -> phabricator/diff/40431
 * [new tag]             phabricator/diff/40432 -> phabricator/diff/40432
 * [new tag]             phabricator/diff/40433 -> phabricator/diff/40433
 * [new tag]             phabricator/diff/40441 -> phabricator/diff/40441
 * [new tag]             phabricator/diff/40442 -> phabricator/diff/40442
 * [new tag]             phabricator/diff/40443 -> phabricator/diff/40443
 * [new tag]             phabricator/diff/40448 -> phabricator/diff/40448
 * [new tag]             phabricator/diff/40450 -> phabricator/diff/40450
 * [new tag]             phabricator/diff/40461 -> phabricator/diff/40461
 * [new tag]             phabricator/diff/40462 -> phabricator/diff/40462
 * [new tag]             phabricator/diff/40463 -> phabricator/diff/40463
 * [new tag]             phabricator/diff/40465 -> phabricator/diff/40465
 * [new tag]             phabricator/diff/40466 -> phabricator/diff/40466
 * [new tag]             phabricator/diff/40469 -> phabricator/diff/40469
 * [new tag]             phabricator/diff/40476 -> phabricator/diff/40476
 * [new tag]             phabricator/diff/40477 -> phabricator/diff/40477
 * [new tag]             phabricator/diff/40478 -> phabricator/diff/40478
 * [new tag]             phabricator/diff/40479 -> phabricator/diff/40479
 * [new tag]             phabricator/diff/40480 -> phabricator/diff/40480
 * [new tag]             phabricator/diff/40482 -> phabricator/diff/40482
 * [new tag]             phabricator/diff/40484 -> phabricator/diff/40484
 * [new tag]             phabricator/diff/40486 -> phabricator/diff/40486
 * [new tag]             phabricator/diff/40490 -> phabricator/diff/40490
 * [new tag]             phabricator/diff/40491 -> phabricator/diff/40491
 * [new tag]             phabricator/diff/8992  -> phabricator/diff/8992
 * [new tag]             phabricator/diff/8993  -> phabricator/diff/8993
 * [new branch]          master                 -> master
--- Building for bullseye amd64 ---
Stopping target if it is up
Error response from daemon: No such container: gitian-target
Error: No such container: gitian-target
Making a new image copy
Starting target
Checking if target is up...
Preparing build environment
Updating apt-get repository (log in var/install.log)
Installing additional packages (log in var/install.log)
Upgrading system, may take a while (log in var/install.log)
Creating package manifest
Creating build script (var/build-script)
Running build script (log in var/build.log)
./bin/gbuild:23:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
	from ./bin/gbuild:185:in `build_one_configuration'
	from ./bin/gbuild:339:in `block (2 levels) in <main>'
	from ./bin/gbuild:334:in `each'
	from ./bin/gbuild:334:in `block in <main>'
	from ./bin/gbuild:332:in `each'
	from ./bin/gbuild:332:in `<main>'
Build gitian-osx failed with exit code 1
Fabien requested changes to this revision.May 30 2023, 17:46
Fabien added a subscriber: Fabien.

back to your queue

This revision now requires changes to proceed.May 30 2023, 17:46
This revision is now accepted and ready to land.May 31 2023, 15:26